}
if (col.title == "Add") {
+ GLib.Value value;
+ Gtk.TreeIter iter;
+
+ _this.model.el.get_iter (out iter, res);
+ _this.model.el.get_value(iter, 2, out value);
+ // why dup_ - gets and and inc's ref count (which in theory should be freed at the end.?
+
+ var node = (JsRender.Node)value.dup_object();
+ var fqn = node.fqn();
+ var cn = _this.main_window.windowstate.project.palete.getChildList(fqn);
+ if (cn.length < 1) {
+ return true;
+ }
+
_this.main_window.windowstate.leftTreeBeforeChange();
this.el.get_selection().select_path(res);
_this.main_window.windowstate.showAddObject(this.el);
_this.model.el.get_value(iter, 2, out value);
_this.model.activePath = mod.get_path(iter).to_string();
+ // why dup_?
+
var node = (JsRender.Node)value.dup_object();
print ("calling left_tree.node_selected\n");
_this.node_selected(node, this.lastEventSource);
pix = ic.load_icon("emblem-new", 16,0);
}
+ var fqn = node.fqn();
+ var cn = _this.main_window.windowstate.project.palete.getChildList(fqn);
+
this.el.set(
iter,
0, node.nodeTitle(),
);
this.el.set_value(iter, 2,o);
this.el.set_value(iter, 3,pix);
- this.el.set_value(iter, 4,addi);
+ this.el.set_value(iter, 4, cn.length > 0 ? addi : null);
}