dbgenerate.js
[app.Builder.js] / XObjectBase / GtkListStore.js
index 548089c..1b67522 100644 (file)
@@ -40,17 +40,54 @@ GtkListStore = XObject.define(
             }
             
         },
+        nextPath : function(path)
+        {
+            if (path === false) {
+                var iter = new Gtk.TreeIter();
+                this.el.get_iter_first(iter);
+                return this.el.get_path(iter);    
+            }
+            var tpath = path;
+            if (typeof(path) == 'string' ) {
+                tpath = new Gtk.TreePath.from_string(path);     
+            }
+            var iter = new Gtk.TreeIter();
+            
+            this.el.get_iter (iter, tpath) ;
+            
+            if (!this.el.iter_next(iter)) {
+                return false;
+            };
+            return this.el.get_path(iter);
+        },
+        
         getValue  : function ( path, col)
         {
+            // not very type safe...
+            var tpath = path;
+            if (typeof(path) == 'string' ) {
+                tpath = new Gtk.TreePath.from_string(path);
+                 
+            }
+            
             var iter = new Gtk.TreeIter();
-            this.el.get_iter (iter, path) ;
-            var gval = new GObject.Value('');
-            this.el.get_value( iter, col, gval)
+            
+            this.el.get_iter (iter, tpath) ;
+             
+            var gval = new GObject.Value(  [this.el.get_column_type(col), null ]);
+            this.el.get_value( iter, col, gval);
+            print("GET VALUE RETURNED: " + gval.value);
             return gval.value;
         },
         setValue  : function ( path, col, val)
         {
-            //this.el.set_value(iter,i,values[i]);
+            var tpath = path;
+            if (typeof(path) == 'string' ) {
+                tpath = new Gtk.TreePath.from_string(path);
+            }
+            var iter = new Gtk.TreeIter();
+            this.el.get_iter (iter, tpath) ;
+            this.el.set_value(iter,col,val);
         }