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

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

index 0bfd4ed..3bb3c1c 100644 (file)
@@ -81,7 +81,7 @@
            "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\n    // loop through parent childnre\n    Gtk.TreeIter iter;\n    if (this.el.iter_children(out iter, par == null ? null : piter)) {\n        var loop = true;\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(mval + \"\\n\" + message); //markup?\n            \n                return;\n            }\n            loop = this.el.iter_next(iter);    \n        }\n    }\n    // create the node...\n    \n    this.el.append(out iter,par == null ? null : piter);\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 = this.el.iter_children(out iter, par == null ? null : 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(iter);    \n    }\n    \n    // create the node...\n    \n    this.el.append(out iter,par == null ? null : piter);\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    if (par != null) {\n        this.el.get_iter(out piter, par);\n    }\n    Gtk.TreeIter iter;\n    if (this.el.iter_children(out iter, par == null ? null : piter)) {\n        var loop = true;\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(iter);    \n        }\n    }\n    // create the node...\n    \n    this.el.append(out iter,par == null ? null : piter);\n    this.el.set(iter, id, 0, title, \"\",-1);\n       \n    return new this.el.get_path(iter);\n\n}\n   "
           },
index 72c11ae..099a3f2 100644 (file)
@@ -392,28 +392,31 @@ public class Xcls_GtkView : Object
         }
 
         // user defined functions 
-        public void nodeAppendOrCreate (Gtk.TreePath? par, string id, string file, int line, string message) {
-        
+        public void nodeAppendOrCreate (Gtk.TreePath  par, string id, string file, int line, string message) {
         
+            Gtk.TreeIter piter;
+             
+            this.el.get_iter(out piter, par);
+             
             // loop through parent childnre
-            Gtk.TreeIter iter;
-            if (this.el.iter_children(out iter, par == null ? null : piter)) {
-                var loop = true;
-                while (loop) {
-                    GLib.Value val;
-                    this.el.get_value(iter, 0, out val);
-                    var sval = (string)val;
-                    if (sval == id) {
-                        GLib.Value mval;
-                        this.el.get_value(iter, 2, out mval);
-                        var smval = (string)mval;
-                        mval.set_string(mval + "\n" + message); //markup?
-                    
-                        return;
-                    }
-                    loop = this.el.iter_next(iter);    
+            Gtk.TreeIter iter; 
+            var loop = this.el.iter_children(out iter, par == null ? null : piter);
+            
+            while (loop) {
+                GLib.Value val;
+                this.el.get_value(iter, 0, out val);
+                var sval = (string)val;
+                if (sval == id) {
+                    GLib.Value mval;
+                    this.el.get_value(iter, 2, out mval);
+                    var smval = (string)mval;
+                    mval.set_string(smval + "\n" + message); //markup?
+                
+                    return;
                 }
+                loop = this.el.iter_next(iter);    
             }
+            
             // create the node...
             
             this.el.append(out iter,par == null ? null : piter);