6 "@ void select" : "(string key, string type, string skel, string prop_or_listener)",
7 "Gtk.PositionType position" : "Gtk.PositionType.RIGHT",
8 "Xcls_MainWindow mainwindow" : "",
10 "bool hexpand" : false,
12 "id" : "PopoverAddProp",
13 "int height_request" : 800,
14 "int width_request" : 900,
17 "$ shadow_type" : "Gtk.ShadowType.IN",
20 " this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);",
26 "$ enable_tree_lines" : true,
27 "$ headers_visible" : true,
31 " var description = new Pango.FontDescription();",
32 " description.set_size(10000);",
33 " this.el.override_font(description); ",
35 " this.el.get_selection().set_mode( Gtk.SelectionMode.SINGLE);",
48 "typeof(string), // 0 real key",
49 "typeof(string), // 1 real type",
50 "typeof(string), // 2 docs ?",
51 "typeof(string), // 3 visable desc",
52 "typeof(string), // 4 function desc",
53 "typeof(string) // 5 element type (event|prop)",
57 "* pack" : "set_model",
60 "xtype" : "ListStore",
61 "| string getValue" : [
62 "(Gtk.TreeIter iter, int col)",
66 " this.el.get_value(iter, col, out value);",
68 " return (string)value;",
76 " this.el.add_attribute(_this.namerender.el , \"markup\", 4 );",
80 "* pack" : "append_column",
85 "* pack" : "pack_start,true",
87 "xtype" : "CellRendererText"
90 "utf8 title" : "Double click to add",
91 "xtype" : "TreeViewColumn"
96 "(path, column) => {",
98 "\tGtk.TreeIter iter;",
101 "\tvar m = _this.model;",
103 "\tm.el.get_iter(out iter,path);",
106 "\t// var val = \"\";",
109 "\tvar key = m.getValue(iter, 0);",
111 "\tvar type = m.getValue(iter, 1);",
112 "\tvar skel = m.getValue(iter, 3);",
113 "\tvar etype = m.getValue(iter, 5);",
115 "\t// hide the popover",
116 "\t_this.el.hide();",
117 "\t_this.prop_or_listener = \"\";",
120 "\t_this.select(key,etype == \"signals\" ? \"\" : type,skel, etype);",
126 "tooltip_column" : 2,
130 "xtype" : "ScrolledWindow"
133 "string prop_or_listener" : "\"\"",
137 " this.model.el.clear();",
143 "\tthis.prop_or_listener = \"\";",
149 "(Palete.Palete pal, string prop_or_listener, string xtype, Gtk.Widget onbtn) {",
152 " if (this.prop_or_listener != \"\" && this.prop_or_listener == prop_or_listener) {",
153 " \tthis.prop_or_listener = \"\";",
154 " \tthis.el.hide();",
157 " this.prop_or_listener = prop_or_listener;",
159 " this.model.el.clear();",
161 " Gtk.TreeIter iter;",
162 " var elementList = pal.getPropertiesFor( xtype,prop_or_listener);",
164 " //print (\"GOT \" + elementList.length + \" items for \" + fullpath + \"|\" + type);",
165 " // console.dump(elementList);",
167 " var miter = elementList.map_iterator();",
168 " while (miter.next()) {",
169 " var p = miter.get_value();",
171 " this.model.el.append(out iter);",
173 "\t\tvar dname = p.name;",
174 "\t\tvar dtype = p.type;",
177 " this.model.el.set(iter,",
180 " 2, \"<b>\" + p.name +\"</b> <i>\"+p.type+\"</i>\\n\" + ",
181 " GLib.Markup.escape_text(p.doctxt),",
183 " 4, \"<b>\" + dname +\"</b> <span size=\\\"small\\\"><i>\"+dtype+\"</i></span>\",",
184 " 5, prop_or_listener,",
188 " this.model.el.set_sort_column_id(0,Gtk.SortType.ASCENDING); ",
190 " // set size up...",
194 " this.mainwindow.el.get_size(out w, out h);",
196 " // left tree = 250, editor area = 500?",
199 "\t// max hieght ...",
200 " this.el.set_size_request( 250, h);",
204 " if (this.el.relative_to == null) {",
205 " this.el.set_relative_to(onbtn);",
207 " this.el.show_all();",
209 " while(Gtk.events_pending()) { ",
210 " Gtk.main_iteration(); // why?",
212 " // this.hpane.el.set_position( 0);",
219 "name" : "PopoverAddProp",
221 "path" : "/home/alan/gitlive/roobuilder/src/Builder4/PopoverAddProp.bjs",