src/Builder4/GtkView.bjs
authorAlan Knowles <alan@roojs.com>
Wed, 29 Apr 2015 12:57:43 +0000 (20:57 +0800)
committerAlan Knowles <alan@roojs.com>
Wed, 29 Apr 2015 12:57:43 +0000 (20:57 +0800)
src/Builder4/GtkView.vala

src/Builder4/GtkView.bjs
src/Builder4/GtkView.vala

index e09f210..e0bcdfd 100644 (file)
@@ -81,9 +81,9 @@
            "columns" : "  typeof(string), typeof(int), typeof(string), typeof(string) ",
            "* pack" : "set_model",
            "xtype" : "TreeStore",
-           "| void nodeAppendOrCreate" : "(Gtk.TreePath  par, string id, string file, int line, string message) {\n\n    Gtk.TreeIter piter;\n     \n    this.el.get_iter(out piter, par);\n     \n    // loop through parent childnre\n    Gtk.TreeIter iter; \n    var loop =    this.el.iter_children(out iter,  piter);\n    \n    while (loop) {\n        GLib.Value val;\n        this.el.get_value(iter, 0, out val);\n        var sval = (string)val;\n        if (sval == id) {\n            GLib.Value mval;\n            this.el.get_value(iter, 2, out mval);\n            var smval = (string)mval;\n            print(\"add message: %s\", message);\n            mval.set_string(smval + \"\\n\" + message); //markup?\n            this.el.set_value(iter, 2, mval);\n            return;\n        }\n        loop = this.el.iter_next(ref iter);    \n    }\n    \n    // create the node...\n    if (par == null) {\n        this.el.append(out iter, null);\n    } else {\n        this.el.append(out iter, piter);\n    }\n    print (\"add line %s / %d / %s/  %s\\n\", id, line, message, file);\n    this.el.set(iter, id, line, message, file,-1);\n        \n    return ;\n\n}   ",
+           "| void nodeAppendOrCreate" : "(Gtk.TreePath  par, string id, string file, int line, string message) {\n\n    Gtk.TreeIter piter;\n     \n    this.el.get_iter(out piter, par);\n     \n    // loop through parent childnre\n    Gtk.TreeIter iter; \n    var loop =  par == null ? \n        this.el.iter_children(out iter, null) :\n         this.el.iter_children(out iter,  piter);\n    \n    while (loop) {\n        GLib.Value val;\n        this.el.get_value(iter, 0, out val);\n        var sval = (string)val;\n        if (sval == id) {\n            GLib.Value mval;\n            this.el.get_value(iter, 2, out mval);\n            var smval = (string)mval;\n            mval.set_string(smval + \"\\n\" + message); //markup?\n        \n            return;\n        }\n        loop = this.el.iter_next(ref iter);    \n    }\n    \n    // create the node...\n    if (par == null) {\n        this.el.append(out iter, null);\n    } else {\n        this.el.append(out iter, piter);\n    }\n    this.el.set(iter, id, line, message, file,-1);\n        \n    return ;\n\n}   ",
            "$ xns" : "Gtk",
-           "| Gtk.TreePath nodeFindOrCreate" : "(Gtk.TreePath? par, string id, string title) {\n\n    // loop through parent childnre\n    Gtk.TreeIter piter   ;\n    Gtk.TreeIter iter;\n    var loop = true;\n    if (par != null) {\n        this.el.get_iter(out piter, par);\n        loop = this.el.iter_children(out iter,  piter);\n    } else {\n        loop = this.el.iter_children(out iter, null) ;\n    }\n         \n         \n    while (loop) {\n        GLib.Value val;\n        this.el.get_value(iter, 0, out val);\n        var sval = (string)val;\n        if (sval == id) {\n            return this.el.get_path(iter);\n        }\n        loop = this.el.iter_next(ref iter);    \n    }\n    // create the node...\n     if (par == null) {\n        this.el.append(out iter, null);\n    } else {\n      this.el.get_iter(out piter, par);\n        this.el.append(out iter, piter);\n    }\n    \n    this.el.set(iter, id, 0, title, \"\",-1);\n       \n    return   this.el.get_path(iter);\n\n}\n "
+           "| Gtk.TreePath nodeFindOrCreate" : "(Gtk.TreePath? par, string id, string title) {\n\n    // loop through parent childnre\n    Gtk.TreeIter piter   ;\n    Gtk.TreeIter iter;\n    var loop = true;\n    if (par != null) {\n        this.el.get_iter(out piter, par);\n        loop = this.el.iter_children(out iter,  piter);\n    } else {\n        loop = this.el.iter_children(out iter, null) ;\n    }\n         \n         \n    while (loop) {\n        GLib.Value val;\n        this.el.get_value(iter, 0, out val);\n        var sval = (string)val;\n        if (sval == id) {\n            return this.el.get_path(iter);\n        }\n        loop = this.el.iter_next(ref iter);    \n    }\n    // create the node...\n     if (par == null) {\n        this.el.append(out iter, null);\n    } else {\n      this.el.get_iter(out piter, par);\n        this.el.append(out iter, piter);\n    }\n    print(\"add iter %s / %s\", id, title);\n    this.el.set(iter, id, 0, title, \"\",-1);\n       \n    return   this.el.get_path(iter);\n\n}\n "
           },
           {
            "utf8 title" : "Compile output",
index 9a9c8ea..0ec1c12 100644 (file)
@@ -405,7 +405,9 @@ public class Xcls_GtkView : Object
              
             // loop through parent childnre
             Gtk.TreeIter iter; 
-            var loop =    this.el.iter_children(out iter,  piter);
+            var loop =  par == null ? 
+                this.el.iter_children(out iter, null) :
+                 this.el.iter_children(out iter,  piter);
             
             while (loop) {
                 GLib.Value val;
@@ -415,9 +417,8 @@ public class Xcls_GtkView : Object
                     GLib.Value mval;
                     this.el.get_value(iter, 2, out mval);
                     var smval = (string)mval;
-                    print("add message: %s", message);
                     mval.set_string(smval + "\n" + message); //markup?
-                    this.el.set_value(iter, 2, mval);
+                
                     return;
                 }
                 loop = this.el.iter_next(ref iter);    
@@ -429,7 +430,6 @@ public class Xcls_GtkView : Object
             } else {
                 this.el.append(out iter, piter);
             }
-            print ("add line %s / %d / %s/  %s\n", id, line, message, file);
             this.el.set(iter, id, line, message, file,-1);
                 
             return ;
@@ -465,7 +465,7 @@ public class Xcls_GtkView : Object
               this.el.get_iter(out piter, par);
                 this.el.append(out iter, piter);
             }
-            
+            print("add iter %s / %s", id, title);
             this.el.set(iter, id, 0, title, "",-1);
                
             return   this.el.get_path(iter);