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",
116 "* pack" : "composite_name",
117 "xtype" : "CellRendererText"
120 "string title" : "Type",
126 " this.el.add_attribute(_this.typerender.el , \"markup\", 1 );",
130 "* pack" : "append_column",
132 "int sort_column_id" : 4,
133 "string title" : "From",
134 "xtype" : "TreeViewColumn"
139 "(path, column) => {",
141 "\tGtk.TreeIter iter;",
144 "\tvar m = _this.model;",
146 "\tm.el.get_iter(out iter,path);",
149 "\tvar prop = m.getValue(iter);",
152 "\t// hide the popover",
153 "\t_this.el.hide();",
156 "\t_this.select(prop);",
162 "tooltip_column" : 2,
166 "xtype" : "ScrolledWindow"
172 " this.model.el.clear();",
178 "\tthis.ptype = JsRender.NodePropType.NONE;",
184 "(Palete.Palete pal, JsRender.NodePropType ptype, string xtype, Gtk.Widget onbtn) {",
186 " /// what does this do?",
187 " //if (this.prop_or_listener != \"\" && this.prop_or_listener == prop_or_listener) {",
188 " //\tthis.prop_or_listener = \"\";",
189 " //\tthis.el.hide();",
195 " this.ptype = ptype;",
197 " this.model.el.clear();",
199 " Gtk.TreeIter iter;",
200 " var elementList = pal.getPropertiesFor( xtype, ptype);",
202 " //print (\"GOT \" + elementList.length + \" items for \" + fullpath + \"|\" + type);",
203 " // console.dump(elementList);",
205 " var miter = elementList.map_iterator();",
206 " while (miter.next()) {",
207 " var p = miter.get_value();",
209 " this.model.el.append(out iter);",
211 "\t\tvar prop = p.toNodeProp();",
215 " this.model.el.set(iter,",
217 " 1, prop.to_property_option_markup(),",
218 " 2, prop.to_property_option_tooltip(), ",
225 " this.model.el.set_sort_column_id(3,Gtk.SortType.ASCENDING); ",
227 " // set size up...",
231 " this.mainwindow.el.get_size(out w, out h);",
233 " // left tree = 250, editor area = 500?",
236 "\t// max hieght ...",
237 " this.el.set_size_request( 450, h);",
241 " if (this.el.relative_to == null) {",
242 " this.el.set_relative_to(onbtn);",
244 " this.el.show_all();",
246 " while(Gtk.events_pending()) { ",
247 " Gtk.main_iteration(); // why?",
249 " // this.hpane.el.set_position( 0);",
256 "name" : "PopoverAddProp",
258 "path" : "/home/alan/gitlive/roobuilder/src/Builder4/PopoverAddProp.bjs",