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

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

index faa4907..a8a74e8 100644 (file)
@@ -83,7 +83,7 @@
            "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 =  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 = null;\n    if (par != null) {\n        this.el.get_iter(out piter, par);\n    }\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            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.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    \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 fab7701..fc0e4b5 100644 (file)
@@ -438,14 +438,16 @@ public class Xcls_GtkView : Object
         public Gtk.TreePath nodeFindOrCreate (Gtk.TreePath? par, string id, string title) {
         
             // loop through parent childnre
-            Gtk.TreeIter piter = null;
+            Gtk.TreeIter piter   ;
+            Gtk.TreeIter iter;
+            var loop = true;
             if (par != null) {
                 this.el.get_iter(out piter, par);
+                loop = this.el.iter_children(out iter,  piter);
+            } else {
+                loop = this.el.iter_children(out iter, null) ;
             }
-            Gtk.TreeIter iter;
-            var loop =  par == null ? 
-                this.el.iter_children(out iter, null) :
-                 this.el.iter_children(out iter,  piter);
+                 
                  
             while (loop) {
                 GLib.Value val;
@@ -460,6 +462,7 @@ public class Xcls_GtkView : Object
              if (par == null) {
                 this.el.append(out iter, null);
             } else {
+              this.el.get_iter(out piter, par);
                 this.el.append(out iter, piter);
             }