X-Git-Url: http://git.roojs.org/?p=app.Builder.js;a=blobdiff_plain;f=src%2FBuilder4%2FDialogTemplateSelect.vala;h=02b788c8d11b48d27aa5c0d4decef89b56bdc681;hp=93d8dd6d1bef166c0f86ba74d82fc1cd6de98a86;hb=HEAD;hpb=feb088575f8721d0568c904187be7b655c35cce5 diff --git a/src/Builder4/DialogTemplateSelect.vala b/src/Builder4/DialogTemplateSelect.vala index 93d8dd6d1..02b788c8d 100644 --- a/src/Builder4/DialogTemplateSelect.vala +++ b/src/Builder4/DialogTemplateSelect.vala @@ -1,6 +1,6 @@ static DialogTemplateSelect _DialogTemplateSelect; -public class DialogTemplateSelect : Object +public class DialogTemplateSelect : Object { public Gtk.Dialog el; private DialogTemplateSelect _this; @@ -21,7 +21,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public DialogTemplateSelect() { _this = this; @@ -34,7 +34,7 @@ public class DialogTemplateSelect : Object this.el.default_height = 200; this.el.default_width = 400; this.el.modal = true; - var child_0 = new Xcls_VBox2( _this ); + var child_0 = new Xcls_Box2( _this ); child_0.ref(); this.el.get_content_area().add ( child_0.el ); var child_1 = new Xcls_Button13( _this ); @@ -47,15 +47,15 @@ public class DialogTemplateSelect : Object child_3.ref(); this.el.add_action_widget ( child_3.el , 2 ); - // listeners + //listeners this.el.delete_event.connect( (self, event) =>{ this.el.hide(); return true; }); } - // user defined functions - public JsRender.Node? show (Gtk.Window pwindow, Palete.Palete pal, JsRender.Node node) { + // user defined functions + public JsRender.Node? show (Xcls_MainWindow mwindow, Palete.Palete pal, JsRender.Node node, Project.Project project) { this.el.show_all(); var opts = pal.listTemplates(node); @@ -63,12 +63,21 @@ public class DialogTemplateSelect : Object this.el.hide(); return node; } - this.el.set_attached_to( pwindow); - this.el.set_transient_for( pwindow); + this.el.set_attached_to( mwindow.el); + this.el.set_transient_for( mwindow.el); //opts.unshift({ path: '' , name :'Just add Element' }); _this.model.loadData(opts); - _this.combo.el.set_active(0); + _this.combo.el.set_active(-1); + + + var db = new Palete.RooDatabase.from_project(project); + _this.dbmodel.loadData(db.readTablesGee()); + + var plug = mwindow.windowstate.webkit_plugin; + + _this.dbcombo.el.set_active(-1); + var res = this.el.run(); @@ -81,55 +90,92 @@ public class DialogTemplateSelect : Object return node; // 1 = just add it.. } - Gtk.TreeIter iter; - _this.combo.el.get_active_iter (out iter); - Value vfname; + // have they selected a table?? + + Gtk.TreeIter iter; + Value vfname; + if (_this.dbcombo.el.get_active_iter (out iter)) { + this.dbmodel.el.get_value (iter, 0, out vfname); + if (((string)vfname).length > 0 && plug.has_plugin(node.fqn())) { + var json_str = plug.show(mwindow.el, project, node.fqn(), (string)vfname); + print("json_str = %s\n", json_str); + if (json_str.length < 1) { + + return node; + } + var pa = new Json.Parser(); + try { + + pa.load_from_data(json_str); + } catch(Error e) { + return node; + } + var new_node = pa.get_root(); + + if (new_node.get_node_type () != Json.NodeType.OBJECT) { + return node; + } + var obj = new_node.get_object (); + + var ret = new JsRender.Node(); + + ret.loadFromJson(obj, 1); + return ret; + } + + } + + if (!_this.combo.el.get_active_iter (out iter)) { + + return node; // nothing selected... + } + this.model.el.get_value (iter, 0, out vfname); return pal.loadTemplate((string)vfname); } - public class Xcls_VBox2 : Object + public class Xcls_Box2 : Object { - public Gtk.VBox el; + public Gtk.Box el; private DialogTemplateSelect _this; // my vars (def) - // ctor - public Xcls_VBox2(DialogTemplateSelect _owner ) + // ctor + public Xcls_Box2(DialogTemplateSelect _owner ) { _this = _owner; - this.el = new Gtk.VBox( true, 0 ); + this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 ); // my vars (dec) // set gobject values - var child_0 = new Xcls_HBox3( _this ); + var child_0 = new Xcls_Box3( _this ); child_0.ref(); this.el.pack_start ( child_0.el , false,false,0 ); - var child_1 = new Xcls_HBox8( _this ); + var child_1 = new Xcls_Box8( _this ); child_1.ref(); this.el.pack_start ( child_1.el , false,false,0 ); } - // user defined functions + // user defined functions } - public class Xcls_HBox3 : Object + public class Xcls_Box3 : Object { - public Gtk.HBox el; + public Gtk.Box el; private DialogTemplateSelect _this; // my vars (def) - // ctor - public Xcls_HBox3(DialogTemplateSelect _owner ) + // ctor + public Xcls_Box3(DialogTemplateSelect _owner ) { _this = _owner; - this.el = new Gtk.HBox( true, 0 ); + this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 ); // my vars (dec) @@ -143,9 +189,9 @@ public class DialogTemplateSelect : Object this.el.add ( child_1.el ); } - // user defined functions + // user defined functions } - public class Xcls_Label4 : Object + public class Xcls_Label4 : Object { public Gtk.Label el; private DialogTemplateSelect _this; @@ -153,7 +199,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public Xcls_Label4(DialogTemplateSelect _owner ) { _this = _owner; @@ -164,9 +210,10 @@ public class DialogTemplateSelect : Object // set gobject values } - // user defined functions + // user defined functions } - public class Xcls_combo : Object + + public class Xcls_combo : Object { public Gtk.ComboBox el; private DialogTemplateSelect _this; @@ -174,7 +221,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public Xcls_combo(DialogTemplateSelect _owner ) { _this = _owner; @@ -191,14 +238,14 @@ public class DialogTemplateSelect : Object child_1.ref(); this.el.set_model ( child_1.el ); - // init method + // init method this.el.add_attribute(_this.cellrenderer.el , "markup", 1 ); } - // user defined functions + // user defined functions } - public class Xcls_cellrenderer : Object + public class Xcls_cellrenderer : Object { public Gtk.CellRendererText el; private DialogTemplateSelect _this; @@ -206,7 +253,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public Xcls_cellrenderer(DialogTemplateSelect _owner ) { _this = _owner; @@ -218,9 +265,10 @@ public class DialogTemplateSelect : Object // set gobject values } - // user defined functions + // user defined functions } - public class Xcls_model : Object + + public class Xcls_model : Object { public Gtk.ListStore el; private DialogTemplateSelect _this; @@ -228,7 +276,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public Xcls_model(DialogTemplateSelect _owner ) { _this = _owner; @@ -240,7 +288,7 @@ public class DialogTemplateSelect : Object // set gobject values } - // user defined functions + // user defined functions public void loadData (GLib.List data) { this.el.clear(); Gtk.TreeIter iter; @@ -268,19 +316,22 @@ public class DialogTemplateSelect : Object } } - public class Xcls_HBox8 : Object + + + + public class Xcls_Box8 : Object { - public Gtk.HBox el; + public Gtk.Box el; private DialogTemplateSelect _this; // my vars (def) - // ctor - public Xcls_HBox8(DialogTemplateSelect _owner ) + // ctor + public Xcls_Box8(DialogTemplateSelect _owner ) { _this = _owner; - this.el = new Gtk.HBox( true, 0 ); + this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 ); // my vars (dec) @@ -294,9 +345,9 @@ public class DialogTemplateSelect : Object this.el.add ( child_1.el ); } - // user defined functions + // user defined functions } - public class Xcls_Label9 : Object + public class Xcls_Label9 : Object { public Gtk.Label el; private DialogTemplateSelect _this; @@ -304,7 +355,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public Xcls_Label9(DialogTemplateSelect _owner ) { _this = _owner; @@ -315,9 +366,10 @@ public class DialogTemplateSelect : Object // set gobject values } - // user defined functions + // user defined functions } - public class Xcls_dbcombo : Object + + public class Xcls_dbcombo : Object { public Gtk.ComboBox el; private DialogTemplateSelect _this; @@ -325,7 +377,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public Xcls_dbcombo(DialogTemplateSelect _owner ) { _this = _owner; @@ -342,14 +394,14 @@ public class DialogTemplateSelect : Object child_1.ref(); this.el.set_model ( child_1.el ); - // init method + // init method this.el.add_attribute(_this.dbcellrenderer.el , "markup", 1 ); } - // user defined functions + // user defined functions } - public class Xcls_dbcellrenderer : Object + public class Xcls_dbcellrenderer : Object { public Gtk.CellRendererText el; private DialogTemplateSelect _this; @@ -357,7 +409,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public Xcls_dbcellrenderer(DialogTemplateSelect _owner ) { _this = _owner; @@ -369,9 +421,10 @@ public class DialogTemplateSelect : Object // set gobject values } - // user defined functions + // user defined functions } - public class Xcls_dbmodel : Object + + public class Xcls_dbmodel : Object { public Gtk.ListStore el; private DialogTemplateSelect _this; @@ -379,7 +432,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public Xcls_dbmodel(DialogTemplateSelect _owner ) { _this = _owner; @@ -391,8 +444,8 @@ public class DialogTemplateSelect : Object // set gobject values } - // user defined functions - public void loadData (GLib.List data) { + // user defined functions + public void loadData (Gee.ArrayList data) { this.el.clear(); Gtk.TreeIter iter; var el = this.el; @@ -402,24 +455,32 @@ public class DialogTemplateSelect : Object // el.set_value(iter, 0, ""); // el.set_value(iter, 1, "aaa - Just add Element - aaa"); + + el.append(out iter); + - for (var i = 0; i < data.length();i++) { + el.set_value(iter, 0, ""); + el.set_value(iter, 1, "-- select a table --"); + + + for (var i = 0; i < data.size;i++) { el.append(out iter); - var str = data.nth_data(i); - var fn = Path.get_basename (str); - fn.replace(".json", ""); - el.set_value(iter, 0, str); - el.set_value(iter, 1, fn); + el.set_value(iter, 0, data.get(i)); + el.set_value(iter, 1, data.get(i)); } - this.el.set_sort_column_id(1, Gtk.SortType.ASCENDING); + this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING); } } - public class Xcls_Button13 : Object + + + + + public class Xcls_Button13 : Object { public Gtk.Button el; private DialogTemplateSelect _this; @@ -427,7 +488,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public Xcls_Button13(DialogTemplateSelect _owner ) { _this = _owner; @@ -439,9 +500,10 @@ public class DialogTemplateSelect : Object this.el.label = "Cancel"; } - // user defined functions + // user defined functions } - public class Xcls_Button14 : Object + + public class Xcls_Button14 : Object { public Gtk.Button el; private DialogTemplateSelect _this; @@ -449,7 +511,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public Xcls_Button14(DialogTemplateSelect _owner ) { _this = _owner; @@ -461,9 +523,10 @@ public class DialogTemplateSelect : Object this.el.label = "Just add it"; } - // user defined functions + // user defined functions } - public class Xcls_Button15 : Object + + public class Xcls_Button15 : Object { public Gtk.Button el; private DialogTemplateSelect _this; @@ -471,7 +534,7 @@ public class DialogTemplateSelect : Object // my vars (def) - // ctor + // ctor public Xcls_Button15(DialogTemplateSelect _owner ) { _this = _owner; @@ -483,6 +546,7 @@ public class DialogTemplateSelect : Object this.el.label = "OK"; } - // user defined functions + // user defined functions } + }