Fix #5829 - Messing around with flutter API
[roobuilder] / src / JsRender / JsRender.vala
index db19fe2..a608052 100644 (file)
@@ -44,7 +44,7 @@ namespace JsRender {
                public bool loaded;
                
                public Gee.HashMap<string,string> transStrings; // map of md5 -> string.
-               
+               public  Gee.HashMap<string,string> namedStrings;
 
                public signal void changed (Node? node, string source); 
                
@@ -75,8 +75,8 @@ namespace JsRender {
                        this.build_module = "";
                        this.loaded = false;
                        //print("JsRender.cto() - reset transStrings\n");
-                       this.transStrings = new Gee.HashMap<string,string> ();
-                       
+                       this.transStrings = new Gee.HashMap<string,string>();
+                       this.namedStrings = new Gee.HashMap<string,string>();
                        // should use basename reallly...
                        
                        var ar = this.path.split("/");
@@ -124,6 +124,8 @@ namespace JsRender {
                                        return new Gtk(project, path);
                                case "Roo":
                                        return new Roo(project, path);
+                       case "Flutter":
+                                       return new Flutter(project, path);
                                case "PlainFile":
                                        return new PlainFile(project, path);
                        }
@@ -161,6 +163,26 @@ namespace JsRender {
                        return ar[ar.length-1];
                        
                }
+               
+               public string nickNameSplit()
+               {
+                       var n = this.nickName();
+                       var ret = "";
+                       var len = 0;
+                       for (var i = 0; i < n.length; i++) {
+                               if (i!=0 && n.get(i).isupper() && len > 10) {
+                                       ret +="\n";
+                                       len= 0;
+                               }
+                               ret += n.get(i).to_string();
+                               len++;
+                       }
+                       
+
+                       
+                       return ret;
+               
+               }
 
                
                public string getIconFileName(bool return_default)
@@ -260,8 +282,17 @@ namespace JsRender {
                                }
                                ret.set_object_member("strings", tr);
             }
-                       
-                       
+
+            
+            
+                       if (this.namedStrings.size > 0) {
+                               var tr =  new Json.Object();
+                               var iter = this.namedStrings.map_iterator();
+                               while (iter.next()) {
+                                       tr.set_string_member(iter.get_key(), iter.get_value());
+                               }
+                               ret.set_object_member("named_strings", tr);
+            }
                        
                        var ar = new Json.Array();
                        // empty files do not have a tree.
@@ -304,7 +335,7 @@ namespace JsRender {
                public Palete.Palete palete()
                {
                        // error on plainfile?
-                       return Palete.factory(this.project.xtype);
+                       return this.project.palete;
 
                }