Builder/Provider/Templates
[app.Builder.js] / XObject.js
index c2e27b8..65883ec 100644 (file)
@@ -196,6 +196,9 @@ XObject.prototype = {
             if (i == 'buttons') { // problem with Gtk.MessageDialog..
                 continue;
             }
+            if (i[0] == '.') { // parent? - 
+                continue;
+            }
             this.el[i] = this.config[i];
         }
         
@@ -205,8 +208,26 @@ XObject.prototype = {
          //   XObject.registry[o.xnsid] = XObject.registry[o.xnsid] || {}; 
          //   XObject.registry[o.xnsid][o.id] = this;
         //}
+        
+        var type = this.xtype.type ? GObject.type_name(this.xtype.type) : '';
+        print("MAKE " + type);
+        
+        
         var _this=this;
-        items.forEach(function(i) {
+        items.forEach(function(i,n) {
+            
+            if (type == 'GtkTable' && i.pack == 'add') {
+                var c = n % _this.config.n_columns;
+                var r = Math.floor(n/_this.config.n_columns);
+                i.pack = [ 'attach', c, c+1, r, r+1, 
+                        typeof(i.x_options) == 'undefined' ?  5 : i.x_options,
+                        typeof(i.y_options) == 'undefined' ?  5 : i.y_options,
+                        typeof(i.x_padding) == 'undefined' ?  0 : i.x_padding,
+                        typeof(i.x_padding) == 'undefined' ?  0 : i.x_padding
+                       
+                ]
+            }
+            
             _this.addItem(i);
         })
             
@@ -214,9 +235,10 @@ XObject.prototype = {
         for (var i in this.listeners) {
             this.addListener(i, this.listeners[i]);
         }
-        // delete this.listeners ?
-        
         
+        // delete this.listeners ?
+        // do again so child props work!
+       
         // do we need to call 'init here?'
     },
       
@@ -358,16 +380,13 @@ XObject.prototype = {
                 return XObject.cache[xid]; 
             }
             if (xid.indexOf('.') > -1) {
-                var child = false;
-        
-                if (xid.indexOf('.') > -1) {
-                    child = xid.split('.');
-                    var nxid = child.shift();
+                
+                var child = xid.split('.');
+                var nxid = child.shift();
                     
-                    child = child.join('.');
-                    if (typeof(XObject.cache[nxid]) != 'undefined') {
-                        return XObject.cache[nxid].get(child);
-                    }
+                child = child.join('.');
+                if (typeof(XObject.cache[nxid]) != 'undefined') {
+                    return XObject.cache[nxid].get(child);
                 }