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",
55 "// add later? source?",
57 "typeof(string), // 0 real key",
58 "typeof(string), // 1 real type",
59 "typeof(string), // 2 docs ?",
60 "typeof(string), // 3 visable desc",
61 "typeof(string), // 4 function desc",
62 "typeof(string) // 5 element type (event|prop)",
66 "* pack" : "set_model",
69 "xtype" : "ListStore",
70 "| JsRender.NodeProp getValue" : [
71 "(Gtk.TreeIter iter, int col)",
75 " this.el.get_value(iter, col, out value);",
77 " return (JsRender.NodeProp)value;",
85 " this.el.add_attribute(_this.namerender.el , \"markup\", 1 );",
89 "* pack" : "append_column",
94 "* pack" : "pack_start,true",
96 "xtype" : "CellRendererText"
99 "utf8 title" : "Double click to add",
100 "xtype" : "TreeViewColumn"
105 "(path, column) => {",
107 "\tGtk.TreeIter iter;",
110 "\tvar m = _this.model;",
112 "\tm.el.get_iter(out iter,path);",
115 "\tvar prop = m.getValue(iter, 0);",
118 "\t// hide the popover",
119 "\t_this.el.hide();",
122 "\t_this.select(prop);",
128 "tooltip_column" : 2,
132 "xtype" : "ScrolledWindow"
138 " this.model.el.clear();",
144 "\tthis.ptype = JsRender.NodePropType.NONE;",
150 "(Palete.Palete pal, JsRender.NodePropType ptype, string xtype, Gtk.Widget onbtn) {",
152 " /// what does this do?",
153 " //if (this.prop_or_listener != \"\" && this.prop_or_listener == prop_or_listener) {",
154 " //\tthis.prop_or_listener = \"\";",
155 " //\tthis.el.hide();",
161 " this.ptype = ptype;",
163 " this.model.el.clear();",
165 " Gtk.TreeIter iter;",
166 " var elementList = pal.getPropertiesFor( xtype, ptype);",
168 " //print (\"GOT \" + elementList.length + \" items for \" + fullpath + \"|\" + type);",
169 " // console.dump(elementList);",
171 " var miter = elementList.map_iterator();",
172 " while (miter.next()) {",
173 " var p = miter.get_value();",
175 " this.model.el.append(out iter);",
177 "\t\tvar prop = p.toNodeProp();",
181 " this.model.el.set(iter,",
183 " 1, prop.to_property_option_markup(),",
184 " 2, prop.to_property_option_tooltip(), ",
189 " this.model.el.set_sort_column_id(3,Gtk.SortType.ASCENDING); ",
191 " // set size up...",
195 " this.mainwindow.el.get_size(out w, out h);",
197 " // left tree = 250, editor area = 500?",
200 "\t// max hieght ...",
201 " this.el.set_size_request( 250, h);",
205 " if (this.el.relative_to == null) {",
206 " this.el.set_relative_to(onbtn);",
208 " this.el.show_all();",
210 " while(Gtk.events_pending()) { ",
211 " Gtk.main_iteration(); // why?",
213 " // this.hpane.el.set_position( 0);",
220 "name" : "PopoverAddProp",
222 "path" : "/home/alan/gitlive/roobuilder/src/Builder4/PopoverAddProp.bjs",