2 "build_module" : "builder",
5 "# JsRender.Node node" : "",
6 "# Palete.Palete palete" : "",
7 "# Project.Project project" : "",
8 "# Xcls_MainWindow window" : "",
11 "@ void complete" : "(JsRender.Node? node)",
12 "default_height" : 200,
13 "default_width" : 400,
17 "* pack" : "get_content_area().append",
18 "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
23 "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
25 "int margin_start" : 3,
30 "label" : "Select Template : ",
35 "* init" : "this.el.add_attribute(_this.cellrenderer.el , \"markup\", 1 );",
41 "* pack" : "pack_start,true",
42 "id" : "cellrenderer",
43 "xtype" : "CellRendererText"
46 "$ columns" : "typeof(string),typeof(string)",
48 "* pack" : "set_model",
51 "xtype" : "ListStore",
53 " (GLib.List<string> data) {",
55 " Gtk.TreeIter iter;",
58 " /// el.append(out iter);",
61 " // el.set_value(iter, 0, \"\");",
62 " // el.set_value(iter, 1, \"aaa - Just add Element - aaa\");",
64 " for (var i = 0; i < data.length();i++) {",
67 " el.append(out iter);",
68 " var str = data.nth_data(i);",
69 " var fn = Path.get_basename (str);",
70 " fn.replace(\".json\", \"\");",
72 " el.set_value(iter, 0, str);",
73 " el.set_value(iter, 1, fn);",
76 " this.el.set_sort_column_id(1, Gtk.SortType.ASCENDING); ",
91 "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
93 "int margin_start" : 3,
98 "label" : "Select Database Table : ",
103 "* init" : "this.el.add_attribute(_this.dbcellrenderer.el , \"markup\", 1 );",
109 "* pack" : "pack_start,true",
110 "id" : "dbcellrenderer",
111 "xtype" : "CellRendererText"
114 "$ columns" : "typeof(string),typeof(string)",
116 "* pack" : "set_model",
119 "xtype" : "ListStore",
120 "| void loadData" : [
121 " (Gee.ArrayList<string> data) {",
122 " this.el.clear(); ",
123 " Gtk.TreeIter iter;",
124 " var el = this.el;",
126 " /// el.append(out iter);",
129 " // el.set_value(iter, 0, \"\");",
130 " // el.set_value(iter, 1, \"aaa - Just add Element - aaa\");",
132 " el.append(out iter);",
135 " el.set_value(iter, 0, \"\");",
136 " el.set_value(iter, 1, \"-- select a table --\");",
139 " for (var i = 0; i < data.size;i++) {",
142 " el.append(out iter);",
144 " el.set_value(iter, 0, data.get(i));",
145 " el.set_value(iter, 1, data.get(i));",
148 " this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING); ",
165 "* pack" : "add_action_widget,0",
171 "* pack" : "add_action_widget,1",
172 "label" : "Just add it",
177 "* pack" : "add_action_widget,2",
194 "\t//var node = _this.node;",
195 "\t//var project = _this.project;",
199 " if (this.plugin == null) {",
200 "\t this.plugin = new Xcls_DialogPluginWebkit();",
201 "\t this.plugin.complete.connect((json_str) => {",
202 " \t\t\tprint(\"json_str = %s\\n\", json_str);",
203 " if (json_str.length < 1) {",
204 "\t\t\t\tthis.complete(_this.node);",
207 " var pa = new Json.Parser();",
210 "\t \tpa.load_from_data(json_str);",
211 "\t\t\t} catch(Error e) {",
212 "\t\t\t this.complete(node);",
213 " \t\treturn; // 1 = just add it..",
215 " \t\tvar new_node = pa.get_root();",
217 "\t\t\tif (new_node.get_node_type () != Json.NodeType.OBJECT) {",
218 "\t\t\t\t this.complete(node);",
219 "\t\t\t\t\t\treturn; ",
221 "\t\t\tvar obj = new_node.get_object ();",
223 "\t\t\tvar ret = new JsRender.Node();",
225 "\t\t\tret.loadFromJson(obj, 1);",
226 "\t \t\tthis.complete(ret);",
235 " //var ix = _this.combo.el.get_active();",
237 " \tthis.complete(null);",
238 " return; // 0 = cancel.",
241 " this.complete(node);",
242 " return; // 1 = just add it..",
246 " // have they selected a table??",
248 " Gtk.TreeIter iter; ",
250 " if (_this.dbcombo.el.get_active_iter (out iter)) { ",
251 " this.dbmodel.el.get_value (iter, 0, out vfname);",
252 " if (((string)vfname).length > 0 && this.plugin.has_plugin(node.fqn())) {",
253 " this.plugin.showIt(this.window.el, project, node.fqn(), (string)vfname);",
256 "\t this.complete(node);",
257 " return; // 1 = just add it..",
262 " if (!_this.combo.el.get_active_iter (out iter)) {",
264 " this.complete(node);",
265 " return; // 1 = just add it../ nothing selected...",
268 " this.model.el.get_value (iter, 0, out vfname);",
270 " this.complete(this.palete.loadTemplate((string)vfname));",
271 " return; // 1 = just add it..",
278 "title" : "Add an Object",
282 " \tXcls_MainWindow mwindow, ",
283 " \tPalete.Palete pal, ",
284 "\t JsRender.Node node, ",
285 "\t Project.Project project",
290 "\tvar opts = pal.listTemplates(node);",
291 "\tif (opts.length() < 1) {",
293 "\t\tthis.complete(node);",
296 "\tthis.el.set_transient_for( mwindow.el);",
298 "\t//opts.unshift({ path: '' , name :'Just add Element' });",
299 "\t_this.model.loadData(opts);",
300 "\t_this.combo.el.set_active(-1);",
303 "\tvar db = new Palete.RooDatabase.from_project((Project.Roo) project);",
304 "\t_this.dbmodel.loadData(db.readTablesGee());",
307 "\t_this.dbcombo.el.set_active(-1);",
309 "\tthis.window = mwindow;",
310 "\tthis.palete = pal;",
311 "\tthis.node = node;",
312 "\tthis.project = project;",
320 "name" : "DialogTemplateSelect",
322 "path" : "/home/alan/gitlive/roobuilder/src/Builder4/DialogTemplateSelect.bjs",