5 "# JsRender.NodePropType ptype" : "",
7 "@ void select" : "(JsRender.NodeProp prop)",
8 "Gtk.PositionType position" : "Gtk.PositionType.RIGHT",
9 "Xcls_MainWindow mainwindow" : "",
10 "bool active" : false,
11 "bool hexpand" : false,
13 "id" : "PopoverAddProp",
14 "int height_request" : 800,
15 "int width_request" : 900,
18 "$ shadow_type" : "Gtk.ShadowType.IN",
21 " this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);",
27 "$ enable_tree_lines" : true,
28 "$ headers_visible" : true,
32 " var description = new Pango.FontDescription();",
33 " description.set_size(10000);",
34 " this.el.override_font(description); ",
36 " this.el.get_selection().set_mode( Gtk.SelectionMode.SINGLE);",
50 "typeof(JsRender.NodeProp), // 0 real key",
51 "typeof(string), // text display",
52 "typeof(string), // tooltip",
53 "typeof(string), // sortable string",
54 "typeof(string), // prop type",
55 "typeof(string) // from interface",
57 "// add later? source?",
59 "typeof(string), // 0 real key",
60 "typeof(string), // 1 real type",
61 "typeof(string), // 2 docs ?",
62 "typeof(string), // 3 visable desc",
63 "typeof(string), // 4 function desc",
64 "typeof(string) // 5 element type (event|prop)",
68 "* pack" : "set_model",
71 "xtype" : "ListStore",
72 "| JsRender.NodeProp getValue" : [
73 "(Gtk.TreeIter iter)",
77 " this.el.get_value(iter, 0, out value);",
79 " return (JsRender.NodeProp)value;",
87 " this.el.add_attribute(_this.namerender.el , \"markup\", 1 );",
91 "* pack" : "append_column",
96 "* pack" : "pack_start,true",
98 "xtype" : "CellRendererText"
101 "utf8 title" : "Double click to add",
102 "xtype" : "TreeViewColumn"
107 " this.el.add_attribute(_this.typerender.el , \"markup\", 1 );",
111 "* pack" : "append_column",
113 "string title" : "Type",
119 " this.el.add_attribute(_this.typerender.el , \"markup\", 1 );",
123 "* pack" : "append_column",
125 "int sort_column_id" : 4,
126 "string title" : "From",
127 "xtype" : "TreeViewColumn"
132 "(path, column) => {",
134 "\tGtk.TreeIter iter;",
137 "\tvar m = _this.model;",
139 "\tm.el.get_iter(out iter,path);",
142 "\tvar prop = m.getValue(iter);",
145 "\t// hide the popover",
146 "\t_this.el.hide();",
149 "\t_this.select(prop);",
155 "tooltip_column" : 2,
159 "xtype" : "ScrolledWindow"
165 " this.model.el.clear();",
171 "\tthis.ptype = JsRender.NodePropType.NONE;",
177 "(Palete.Palete pal, JsRender.NodePropType ptype, string xtype, Gtk.Widget onbtn) {",
179 " /// what does this do?",
180 " //if (this.prop_or_listener != \"\" && this.prop_or_listener == prop_or_listener) {",
181 " //\tthis.prop_or_listener = \"\";",
182 " //\tthis.el.hide();",
188 " this.ptype = ptype;",
190 " this.model.el.clear();",
192 " Gtk.TreeIter iter;",
193 " var elementList = pal.getPropertiesFor( xtype, ptype);",
195 " //print (\"GOT \" + elementList.length + \" items for \" + fullpath + \"|\" + type);",
196 " // console.dump(elementList);",
198 " var miter = elementList.map_iterator();",
199 " while (miter.next()) {",
200 " var p = miter.get_value();",
202 " this.model.el.append(out iter);",
204 "\t\tvar prop = p.toNodeProp();",
208 " this.model.el.set(iter,",
210 " 1, prop.to_property_option_markup(),",
211 " 2, prop.to_property_option_tooltip(), ",
218 " this.model.el.set_sort_column_id(3,Gtk.SortType.ASCENDING); ",
220 " // set size up...",
224 " this.mainwindow.el.get_size(out w, out h);",
226 " // left tree = 250, editor area = 500?",
229 "\t// max hieght ...",
230 " this.el.set_size_request( 450, h);",
234 " if (this.el.relative_to == null) {",
235 " this.el.set_relative_to(onbtn);",
237 " this.el.show_all();",
239 " while(Gtk.events_pending()) { ",
240 " Gtk.main_iteration(); // why?",
242 " // this.hpane.el.set_position( 0);",
249 "name" : "PopoverAddProp",
251 "path" : "/home/alan/gitlive/roobuilder/src/Builder4/PopoverAddProp.bjs",