2 "build_module" : "builder",
3 "gen_extended" : false,
6 "# JsRender.Node node" : "",
7 "# Palete.Palete palete" : "",
8 "# Project.Project project" : "",
9 "# Xcls_MainWindow window" : "",
12 "@ void complete" : "(JsRender.Node? node)",
13 "default_height" : 200,
14 "default_width" : 400,
18 "* pack" : "get_content_area().append",
19 "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
24 "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
26 "int margin_start" : 3,
31 "label" : "Select Template : ",
36 "* init" : "this.el.add_attribute(_this.cellrenderer.el , \"markup\", 1 );",
42 "* pack" : "pack_start,true",
43 "id" : "cellrenderer",
44 "xtype" : "CellRendererText"
47 "$ columns" : "typeof(string),typeof(string)",
49 "* pack" : "set_model",
52 "xtype" : "ListStore",
54 " (GLib.List<string> data) {",
56 " Gtk.TreeIter iter;",
59 " /// el.append(out iter);",
62 " // el.set_value(iter, 0, \"\");",
63 " // el.set_value(iter, 1, \"aaa - Just add Element - aaa\");",
65 " for (var i = 0; i < data.length();i++) {",
68 " el.append(out iter);",
69 " var str = data.nth_data(i);",
70 " var fn = Path.get_basename (str);",
71 " fn.replace(\".json\", \"\");",
73 " el.set_value(iter, 0, str);",
74 " el.set_value(iter, 1, fn);",
77 " this.el.set_sort_column_id(1, Gtk.SortType.ASCENDING); ",
92 "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
94 "int margin_start" : 3,
99 "label" : "Select Database Table : ",
104 "* init" : "this.el.add_attribute(_this.dbcellrenderer.el , \"markup\", 1 );",
110 "* pack" : "pack_start,true",
111 "id" : "dbcellrenderer",
112 "xtype" : "CellRendererText"
115 "$ columns" : "typeof(string),typeof(string)",
117 "* pack" : "set_model",
120 "xtype" : "ListStore",
121 "| void loadData" : [
122 " (Gee.ArrayList<string> data) {",
123 " this.el.clear(); ",
124 " Gtk.TreeIter iter;",
125 " var el = this.el;",
127 " /// el.append(out iter);",
130 " // el.set_value(iter, 0, \"\");",
131 " // el.set_value(iter, 1, \"aaa - Just add Element - aaa\");",
133 " el.append(out iter);",
136 " el.set_value(iter, 0, \"\");",
137 " el.set_value(iter, 1, \"-- select a table --\");",
140 " for (var i = 0; i < data.size;i++) {",
143 " el.append(out iter);",
145 " el.set_value(iter, 0, data.get(i));",
146 " el.set_value(iter, 1, data.get(i));",
149 " this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING); ",
166 "* pack" : "add_action_widget,0",
172 "* pack" : "add_action_widget,1",
173 "label" : "Just add it",
178 "* pack" : "add_action_widget,2",
195 "\t//var node = _this.node;",
196 "\t//var project = _this.project;",
200 " if (this.plugin == null) {",
201 "\t this.plugin = new Xcls_DialogPluginWebkit();",
202 "\t this.plugin.complete.connect((json_str) => {",
203 " \t\t\tprint(\"json_str = %s\\n\", json_str);",
204 " if (json_str.length < 1) {",
205 "\t\t\t\tthis.complete(_this.node);",
208 " var pa = new Json.Parser();",
211 "\t \tpa.load_from_data(json_str);",
212 "\t\t\t} catch(Error e) {",
213 "\t\t\t this.complete(node);",
214 " \t\treturn; // 1 = just add it..",
216 " \t\tvar new_node = pa.get_root();",
218 "\t\t\tif (new_node.get_node_type () != Json.NodeType.OBJECT) {",
219 "\t\t\t\t this.complete(node);",
220 "\t\t\t\t\t\treturn; ",
222 "\t\t\tvar obj = new_node.get_object ();",
224 "\t\t\tvar ret = new JsRender.Node();",
226 "\t\t\tret.loadFromJson(obj, 1);",
227 "\t \t\tthis.complete(ret);",
236 " //var ix = _this.combo.el.get_active();",
238 " \tthis.complete(null);",
239 " return; // 0 = cancel.",
242 " this.complete(node);",
243 " return; // 1 = just add it..",
247 " // have they selected a table??",
249 " Gtk.TreeIter iter; ",
251 " if (_this.dbcombo.el.get_active_iter (out iter)) { ",
252 " this.dbmodel.el.get_value (iter, 0, out vfname);",
253 " if (((string)vfname).length > 0 && this.plugin.has_plugin(node.fqn())) {",
254 " this.plugin.showIt(this.window.el, project, node.fqn(), (string)vfname);",
257 "\t this.complete(node);",
258 " return; // 1 = just add it..",
263 " if (!_this.combo.el.get_active_iter (out iter)) {",
265 " this.complete(node);",
266 " return; // 1 = just add it../ nothing selected...",
269 " this.model.el.get_value (iter, 0, out vfname);",
271 " this.complete(this.palete.loadTemplate((string)vfname));",
272 " return; // 1 = just add it..",
279 "title" : "Add an Object",
283 " \tXcls_MainWindow mwindow, ",
284 " \tPalete.Palete pal, ",
285 "\t JsRender.Node node, ",
286 "\t Project.Project project",
291 "\tvar opts = pal.listTemplates(node);",
292 "\tif (opts.length() < 1) {",
294 "\t\tthis.complete(node);",
297 "\tthis.el.set_transient_for( mwindow.el);",
299 "\t//opts.unshift({ path: '' , name :'Just add Element' });",
300 "\t_this.model.loadData(opts);",
301 "\t_this.combo.el.set_active(-1);",
304 "\tvar db = new Palete.RooDatabase.from_project((Project.Roo) project);",
305 "\t_this.dbmodel.loadData(db.readTablesGee());",
308 "\t_this.dbcombo.el.set_active(-1);",
310 "\tthis.window = mwindow;",
311 "\tthis.palete = pal;",
312 "\tthis.node = node;",
313 "\tthis.project = project;",
320 "name" : "DialogTemplateSelect"