// console.log( '<b>' + p.name +'</b> ['+p.type+']');
//GObject.TYPE_STRING, // real key
// GObject.TYPE_STRING, // real type
- // GObject.TYPE_STRING, // docs ?
+ // GObject.TYPE_STRING, // docs ?this.el.set_value(iter, 0, p.name);et_value(iter, 0, p.name);
// GObject.TYPE_STRING // func def?
{
// does something similar to xobject..
- item.pack = (typeof(item.pack) == 'undefined') ? 'add' : item.pack;
+ //item.pack = (typeof(item.pack) == 'undefined') ? 'add' : item.pack;
+ // pack is forced to 'false'
if (item.pack===false || item.pack === 'false') { // no ;
return;
}
+
print("CREATE: " + item['|xns'] + '.' + item['xtype']);
) {
continue;
}
-
+ // value is a function..
if (k[0] == '|' && typeof(kv) == 'string') {
if (kv.match(new RegExp('function'))) {
}
var altctr = XObject.baseXObject({ xtype: ctr} );
+ var pack_m = false;
if (!item.pack && altctr) {
// try XObject.
- item.pack = altctr.prototype.pack;
+ print("SETTING PACK TO XObjectBase method");
+ pack_m = altctr.prototype.pack;
-
-
}
var el = new ctr(ctr_args);
-
+ item.el = el;
print("PACK" + item.pack);
//console.dump(item.pack);
var args = [];
- var pack_m = false;
- if (typeof(item.pack) == 'string') {
-
- item.pack.split(',').forEach(function(e, i) {
+ if (!pack_m) {
+ item.pack = (typeof(item.pack) == 'undefined') ? 'add' : item.pack;
+ if (typeof(item.pack) == 'string') {
+
+ item.pack.split(',').forEach(function(e, i) {
+
+ if (e == 'false') { args.push( false); return; }
+ if (e == 'true') { args.push( true); return; }
+ if (!isNaN(parseInt(e))) { args.push( parseInt(e)); return; }
+ args.push(e);
+ });
+ //print(args.join(","));
- if (e == 'false') { args.push( false); return; }
- if (e == 'true') { args.push( true); return; }
- if (!isNaN(parseInt(e))) { args.push( parseInt(e)); return; }
- args.push(e);
- });
- //print(args.join(","));
-
- pack_m = args.shift();
- } else {
- pack_m = item.pack.shift();
- args = item.pack;
+ pack_m = args.shift();
+ } else {
+ pack_m = item.pack.shift();
+ args = item.pack;
+ }
}
-
// handle error.
- if (pack_m && typeof(par[pack_m]) == 'undefined') {
+ if (typeof(pack_m) == 'string' && typeof(par[pack_m]) == 'undefined') {
throw {
name: "ArgumentError",
message : 'pack method not available : ' + par.id + " : " + par + '.' + pack_m +
args.unshift(el);
//if (XObject.debug) print(pack_m + '[' + args.join(',') +']');
//Seed.print('args: ' + args.length);
- if (pack_m) {
+ if (typeof(pack_m) == 'string') {
par[pack_m].apply(par, args);
+ } else if (pack_m) {
+ pack_m.call(item, par, item);
}
var _this = this;
item.items = item.items || [];
item.items.forEach(function(ch,n) {
- print ("type:" + type);
+ print ("type:" + type);
- print ("ch.pack:" + ch.pack);
+ print ("ch.pack:" + ch.pack);
+
+
if (type == 'Gtk.Table' && ch.pack == 'add') {
var c = n % item.n_columns;
var r = Math.floor(n/item.n_columns);
el.signal.drag_motion.connect(XObject.createDelegate(this.widgetDragMotionEvent, this,[ item ], true));
el.signal.drag_drop.connect(XObject.createDelegate(this.widgetDragDropEvent, this, [ item ], true));
el.signal.button_press_event.connect(XObject.createDelegate(this.widgetPressEvent, this, [ item ], true ));
- el.signal.button_release_event.connect(XObject.createDelegate(this.widgetReleaseEvent, this, [ item ], true ));
+ el.signal.button_release_event.connect(XObject.createDelegate(this.widgetReleaseEvent, this, [ item ], true ));
} catch(e) {
// ignore!
}