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

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

index 8c78c91..170d43a 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 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   ",
+           "| void nodeAppendOrCreate" : "(Gtk.TreePath? par, string id, string file, line, 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);\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 new this.el.get_path(iter);\n\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 2770cb7..feac88f 100644 (file)
@@ -392,13 +392,10 @@ public class Xcls_GtkView : Object
         }
 
         // user defined functions 
-        public void nodeAppendOrCreate (Gtk.TreePath? par, string id, string title) {
+        public void nodeAppendOrCreate (Gtk.TreePath? par, string id, string file, line, message) {
+        
         
             // loop through parent childnre
-            Gtk.TreeIter piter;
-            if (par != null) {
-                this.el.get_iter(out piter, par);
-            }
             Gtk.TreeIter iter;
             if (this.el.iter_children(out iter, par == null ? null : piter)) {
                 var loop = true;
@@ -407,7 +404,12 @@ public class Xcls_GtkView : Object
                     this.el.get_value(iter, 0, out val);
                     var sval = (string)val;
                     if (sval == id) {
-                        return this.el.get_path(iter);
+                        GLib.Value mval;
+                        this.el.get_value(iter, 2, out mval);
+                        var smval = (string)mval;
+                        mval.set_string(mval + "\n" + message);
+                    
+                        return;
                     }
                     loop = this.el.iter_next(iter);    
                 }
@@ -415,7 +417,7 @@ public class Xcls_GtkView : Object
             // create the node...
             
             this.el.append(out iter,par == null ? null : piter);
-            this.el.set(iter, id, 0, title, "",-1);
+            this.el.set(iter, id, line, message, file,-1);
                
             return new this.el.get_path(iter);