"modOrder" : "",
"build_module" : "",
"items" : [
+ {
+ "listeners" : {
+ "closed" : "() => {\n if (!this.done) {\n _this.el.show();\n \n }\n} "
+ },
+ "| void updateFileFromEntry" : "() {\n\n _this.file.title = _this.title.el.get_text();\n _this.file.region = _this.region.el.get_text(); \n _this.file.parent = _this.parent.el.get_text(); \n _this.file.permname = _this.permname.el.get_text(); \n _this.file.modOrder = _this.modOrder.el.get_text();\n \n if (_this.file.name.length > 0 && _this.file.name != _this.name.el.get_text()) {\n _this.file.renameTo(_this.name.el.get_text());\n }\n // store the module...\n _this.file.build_module = \"\"; \n Gtk.TreeIter iter; \n if (_this.build_module.el.get_active_iter (out iter)) {\n Value vfname;\n this.dbmodel.el.get_value (iter, 0, out vfname);\n if (((string)vfname).length > 0) {\n _this.file.build_module = (string)vfname;\n }\n \n }\n \n \n\n \n} ",
+ "@ void success" : "(Project.Project pr, JsRender.JsRender file)",
+ "id" : "PopoverFileDetails",
+ "| void show" : "(JsRender.JsRender c, Gtk.Widget btn) \n{\n this.project = c.project;\n this.done = false;\n \n \n //if (!this.el) {\n //this.init();\n //}\n \n _this.name.el.set_text(c.name);\n _this.title.el.set_text(c.title);\n _this.parent.el.set_text(c.parent); \n _this.region.el.set_text(c.region);\n _this.modOrder.el.set_text(c.modOrder);\n _this.permname.el.set_text(c.permname);\n \n if (c.path.length > 0) {\n \n this.save_btn.el.set_label(\"Save\");\n } else {\n this.save_btn.el.set_label(\"Create\");\n }\n \n var ar = new Gee.ArrayList<string>();\n _this.dbmodel.loadData(ar,\"\");\n // load the modules... if relivant..\n if (this.project.xtype == \"Gtk\") {\n var p = (Project.Gtk)c.project;\n var cg = p.compilegroups;\n\n var iter = cg.map_iterator();\n while(iter.next()) {\n var key = iter.get_key();\n if (key == \"_default_\") {\n continue;\n }\n ar.add(key);\n };\n _this.dbmodel.loadData(ar, c.build_module);\n\n }\n \n \n _this.file = c;\n //console.log('show all');\n this.el.set_modal(true);\n this.el.set_relative_to(btn);\n\n this.el.set_position(Gtk.PositionType.RIGHT);\n \n // window + header?\n print(\"SHOWALL - POPIP\\n\");\n this.el.show_all();\n this.name.el.grab_focus();\n \n //this.success = c.success;\n \n \n}",
+ "bool done" : false,
+ "# Project.Project project" : "",
+ "xtype" : "Popover",
+ "Gtk.PositionType position" : "Gtk.PositionType.RIGHT",
+ "# JsRender.JsRender file" : "null",
+ "$ xns" : "Gtk",
+ "Xcls_MainWindow mainwindow" : "null",
+ "bool modal" : true,
+ "uint border_width" : 0,
+ "items" : [
+ {
+ "bool homogeneous" : false,
+ "xtype" : "Box",
+ "$ pack" : "add",
+ "$ xns" : "Gtk",
+ "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
+ "items" : [
+ {
+ "* pack" : "pack_start,false,true,0",
+ "xtype" : "HeaderBar",
+ "$ xns" : "Gtk",
+ "string title" : "Add / Edit File"
+ },
+ {
+ "int margin_right" : 4,
+ "xtype" : "Table",
+ "* pack" : "pack_start,false,false,4",
+ "uint row_spacing" : 2,
+ "n_columns" : 2,
+ "$ xns" : "Gtk",
+ "n_rows" : 3,
+ "$ homogeneous" : true,
+ "int margin_left" : 4,
+ "items" : [
+ {
+ "label" : "Component Name",
+ "xalign" : 0.90000000000000002,
+ "* pack" : "attach_defaults,0,1,0,1",
+ "xtype" : "Label",
+ "$ justify" : "Gtk.Justification.RIGHT",
+ "x_options" : 4,
+ "$ xns" : "Gtk"
+ },
+ {
+ "id" : "name",
+ "$ visible" : true,
+ "xtype" : "Entry",
+ "* pack" : "attach_defaults,1,2,0,1",
+ "$ xns" : "Gtk"
+ },
+ {
+ "label" : "Title",
+ "$ visible" : true,
+ "xalign" : 0.90000000000000002,
+ "* pack" : "attach_defaults,0,1,1,2",
+ "xtype" : "Label",
+ "$ justify" : "Gtk.Justification.RIGHT",
+ "x_options" : 4,
+ "$ xns" : "Gtk"
+ },
+ {
+ "id" : "title",
+ "$ visible" : true,
+ "xtype" : "Entry",
+ "* pack" : "attach_defaults,1,2,1,2",
+ "$ xns" : "Gtk"
+ },
+ {
+ "label" : "Region",
+ "$ visible" : true,
+ "tooltip_text" : "center, north, south, east, west",
+ "xalign" : 0.90000000000000002,
+ "* pack" : "attach_defaults,0,1,2,3",
+ "xtype" : "Label",
+ "$ justify" : "Gtk.Justification.RIGHT",
+ "x_options" : 4,
+ "$ xns" : "Gtk"
+ },
+ {
+ "id" : "region",
+ "$ visible" : true,
+ "xtype" : "Entry",
+ "* pack" : "attach_defaults,1,2,2,3",
+ "$ xns" : "Gtk"
+ },
+ {
+ "label" : "Parent Name",
+ "$ visible" : true,
+ "xalign" : 0.90000000000000002,
+ "* pack" : "attach_defaults,0,1,3,4",
+ "xtype" : "Label",
+ "$ justify" : "Gtk.Justification.RIGHT",
+ "x_options" : 4,
+ "$ xns" : "Gtk"
+ },
+ {
+ "id" : "parent",
+ "$ visible" : true,
+ "xtype" : "Entry",
+ "* pack" : "attach_defaults,1,2,3,4",
+ "$ xns" : "Gtk"
+ },
+ {
+ "label" : "Permission Name",
+ "$ visible" : true,
+ "xalign" : 0.90000000000000002,
+ "* pack" : "attach_defaults,0,1,4,5",
+ "xtype" : "Label",
+ "$ justify" : "Gtk.Justification.RIGHT",
+ "x_options" : 4,
+ "$ xns" : "Gtk"
+ },
+ {
+ "id" : "permname",
+ "$ visible" : true,
+ "xtype" : "Entry",
+ "* pack" : "attach_defaults,1,2,4,5",
+ "$ xns" : "Gtk"
+ },
+ {
+ "label" : "Order (for tabs)",
+ "$ visible" : true,
+ "xalign" : 0.90000000000000002,
+ "* pack" : "attach_defaults,0,1,5,6",
+ "xtype" : "Label",
+ "$ justify" : "Gtk.Justification.RIGHT",
+ "x_options" : 4,
+ "$ xns" : "Gtk"
+ },
+ {
+ "id" : "modOrder",
+ "$ visible" : true,
+ "xtype" : "Entry",
+ "* pack" : "attach_defaults,1,2,5,6",
+ "$ xns" : "Gtk"
+ },
+ {
+ "label" : "Module to build (Vala only)",
+ "$ visible" : true,
+ "xalign" : 0.90000000000000002,
+ "* pack" : "attach_defaults,0,1,6,7",
+ "xtype" : "Label",
+ "$ justify" : "Gtk.Justification.RIGHT",
+ "x_options" : 4,
+ "$ xns" : "Gtk"
+ },
+ {
+ "id" : "build_module",
+ "* init" : "this.el.add_attribute(_this.dbcellrenderer.el , \"markup\", 1 );",
+ "* pack" : "attach_defaults,1,2,6,7",
+ "xtype" : "ComboBox",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "id" : "dbcellrenderer",
+ "xtype" : "CellRendererText",
+ "* pack" : "pack_start,true",
+ "$ xns" : "Gtk"
+ },
+ {
+ "id" : "dbmodel",
+ "xtype" : "ListStore",
+ "* pack" : "set_model",
+ "$ columns" : "typeof(string),typeof(string)",
+ "n_columns" : 2,
+ "$ xns" : "Gtk",
+ "| void loadData" : " (Gee.ArrayList<string> data, string cur) {\n this.el.clear(); \n Gtk.TreeIter iter;\n var el = this.el;\n \n /// el.append(out iter);\n \n \n // el.set_value(iter, 0, \"\");\n // el.set_value(iter, 1, \"aaa - Just add Element - aaa\");\n\n el.append(out iter);\n\n \n el.set_value(iter, 0, \"\");\n el.set_value(iter, 1, \"-- select a module --\");\n _this.build_module.el.set_active_iter(iter);\n \n for (var i = 0; i < data.size;i++) {\n \n\n el.append(out iter);\n \n el.set_value(iter, 0, data.get(i));\n el.set_value(iter, 1, data.get(i));\n \n if (data.get(i) == cur) {\n _this.build_module.el.set_active_iter(iter);\n }\n \n }\n this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING); \n \n}\n"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "int margin_bottom" : 4,
+ "int margin_right" : 4,
+ "* pack" : "pack_end,false,true,0",
+ "xtype" : "HButtonBox",
+ "$ xns" : "Gtk",
+ "int margin_left" : 4,
+ "items" : [
+ {
+ "listeners" : {
+ "clicked" : "() => { \n\n _this.done = true;\n _this.el.hide(); \n}"
+ },
+ "string label" : "Cancel",
+ "* pack" : "add",
+ "xtype" : "Button",
+ "$ xns" : "Gtk"
+ },
+ {
+ "listeners" : {
+ "clicked" : "( ) => { \n\n \n\n\n\tif (_this.name.el.get_text().length < 1) {\n\t StandardErrorDialog.show(\n\t _this.mainwindow.el,\n\t \"You have to set Component name \"\n\t );\n\t \n\t return;\n\t}\n\t// what does this do?\n\t\n\tvar isNew = _this.file.name.length > 0 ? false : true;\n\t/*\n\tif (!isNew && this.file.name != _this.name.el.get_text()) {\n\t Xcls_StandardErrorDialog.singleton().show(\n\t this.el,\n\t \"Sorry changing names does not work yet. \"\n\t );\n\t \n\t return;\n\t}\n\t*/\n\t \n\t\n \n\t// FIXME - this may be more complicated...\n\t//for (var i in this.def) {\n\t// this.file[i] = this.get(i).el.get_text();\n\t//}\n\n\tif (!isNew) {\n\t try {\n\t _this.updateFileFromEntry();\n\t } catch( JsRender.Error.RENAME_FILE_EXISTS er) {\n\t Xcls_StandardErrorDialog.singleton().show(\n\t _this.mainwindow.el,\n\t \"The name you used already exists \"\n\t );\n\t return;\n\t \n\t }\n\n\t _this.done = true;\n\t _this.file.save();\n\t _this.el.hide();\n\t return;\n\t}\n\tvar fn = _this.name.el.get_text();\n\tvar dir = _this.project.firstPath();\n \n\tif (GLib.FileUtils.test(dir + \"/\" + fn + \".bjs\", GLib.FileTest.EXISTS)) {\n\t Xcls_StandardErrorDialog.singleton().show(\n\t _this.mainwindow.el,\n\t \"That file already exists\"\n\t ); \n\t return;\n\t}\n \n var f = JsRender.JsRender.factory(\n\t\t_this.file.project.xtype, \n\t\t_this.file.project, \n\t\tdir + \"/\" + fn + \".bjs\");\n\n\t_this.file = f;\n\t\n\n\t\n\t_this.updateFileFromEntry();\n\t_this.file.loaded = true;\n\t_this.file.save();\n\t_this.file.project.addFile(_this.file);\n\t\n \n\t// what about .js ?\n _this.done = true;\n\t_this.el.hide();\n\n\t\n\t\n\t_this.success(_this.project, _this.file);\n \n}"
+ },
+ "id" : "save_btn",
+ "xtype" : "Button",
+ "* pack" : "add",
+ "string label" : "Save",
+ "$ xns" : "Gtk"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
]
}
\ No newline at end of file
--- /dev/null
+static Xcls_PopoverFileDetails _PopoverFileDetails;
+
+public class Xcls_PopoverFileDetails : Object
+{
+ public Gtk.Popover el;
+ private Xcls_PopoverFileDetails _this;
+
+ public static Xcls_PopoverFileDetails singleton()
+ {
+ if (_PopoverFileDetails == null) {
+ _PopoverFileDetails= new Xcls_PopoverFileDetails();
+ }
+ return _PopoverFileDetails;
+ }
+ public Xcls_name name;
+ public Xcls_title title;
+ public Xcls_region region;
+ public Xcls_parent parent;
+ public Xcls_permname permname;
+ public Xcls_modOrder modOrder;
+ public Xcls_build_module build_module;
+ public Xcls_dbcellrenderer dbcellrenderer;
+ public Xcls_dbmodel dbmodel;
+ public Xcls_save_btn save_btn;
+
+ // my vars (def)
+ public signal void success (Project.Project pr, JsRender.JsRender file);
+ public bool done;
+ public Project.Project project;
+ public JsRender.JsRender file;
+ public Xcls_MainWindow mainwindow;
+
+ // ctor
+ public Xcls_PopoverFileDetails()
+ {
+ _this = this;
+ this.el = new Gtk.Popover( null );
+
+ // my vars (dec)
+ this.done = false;
+ this.file = null;
+ this.mainwindow = null;
+
+ // set gobject values
+ this.el.border_width = 0;
+ this.el.modal = true;
+ this.el.position = Gtk.PositionType.RIGHT;
+ var child_0 = new Xcls_Box2( _this );
+ child_0.ref();
+ this.el.add ( child_0.el );
+
+ //listeners
+ this.el.closed.connect( () => {
+ if (!this.done) {
+ _this.el.show();
+
+ }
+ });
+ }
+
+ // user defined functions
+ public void updateFileFromEntry () {
+
+ _this.file.title = _this.title.el.get_text();
+ _this.file.region = _this.region.el.get_text();
+ _this.file.parent = _this.parent.el.get_text();
+ _this.file.permname = _this.permname.el.get_text();
+ _this.file.modOrder = _this.modOrder.el.get_text();
+
+ if (_this.file.name.length > 0 && _this.file.name != _this.name.el.get_text()) {
+ _this.file.renameTo(_this.name.el.get_text());
+ }
+ // store the module...
+ _this.file.build_module = "";
+ Gtk.TreeIter iter;
+ if (_this.build_module.el.get_active_iter (out iter)) {
+ Value vfname;
+ this.dbmodel.el.get_value (iter, 0, out vfname);
+ if (((string)vfname).length > 0) {
+ _this.file.build_module = (string)vfname;
+ }
+
+ }
+
+
+
+
+ }
+ public void show (JsRender.JsRender c, Gtk.Widget btn)
+ {
+ this.project = c.project;
+ this.done = false;
+
+
+ //if (!this.el) {
+ //this.init();
+ //}
+
+ _this.name.el.set_text(c.name);
+ _this.title.el.set_text(c.title);
+ _this.parent.el.set_text(c.parent);
+ _this.region.el.set_text(c.region);
+ _this.modOrder.el.set_text(c.modOrder);
+ _this.permname.el.set_text(c.permname);
+
+ if (c.path.length > 0) {
+
+ this.save_btn.el.set_label("Save");
+ } else {
+ this.save_btn.el.set_label("Create");
+ }
+
+ var ar = new Gee.ArrayList<string>();
+ _this.dbmodel.loadData(ar,"");
+ // load the modules... if relivant..
+ if (this.project.xtype == "Gtk") {
+ var p = (Project.Gtk)c.project;
+ var cg = p.compilegroups;
+
+ var iter = cg.map_iterator();
+ while(iter.next()) {
+ var key = iter.get_key();
+ if (key == "_default_") {
+ continue;
+ }
+ ar.add(key);
+ };
+ _this.dbmodel.loadData(ar, c.build_module);
+
+ }
+
+
+ _this.file = c;
+ //console.log('show all');
+ this.el.set_modal(true);
+ this.el.set_relative_to(btn);
+
+ this.el.set_position(Gtk.PositionType.RIGHT);
+
+ // window + header?
+ print("SHOWALL - POPIP\n");
+ this.el.show_all();
+ this.name.el.grab_focus();
+
+ //this.success = c.success;
+
+
+ }
+ public class Xcls_Box2 : Object
+ {
+ public Gtk.Box el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Box2(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.homogeneous = false;
+ var child_0 = new Xcls_HeaderBar3( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , false,true,0 );
+ var child_1 = new Xcls_Table4( _this );
+ child_1.ref();
+ this.el.pack_start ( child_1.el , false,false,4 );
+ var child_2 = new Xcls_HButtonBox21( _this );
+ child_2.ref();
+ this.el.pack_end ( child_2.el , false,true,0 );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_HeaderBar3 : Object
+ {
+ public Gtk.HeaderBar el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_HeaderBar3(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.HeaderBar();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.title = "Add / Edit File";
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Table4 : Object
+ {
+ public Gtk.Table el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Table4(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Table( 3, 2, true );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.margin_right = 4;
+ this.el.margin_left = 4;
+ this.el.row_spacing = 2;
+ var child_0 = new Xcls_Label5( _this );
+ child_0.ref();
+ this.el.attach_defaults ( child_0.el , 0,1,0,1 );
+ var child_1 = new Xcls_name( _this );
+ child_1.ref();
+ this.el.attach_defaults ( child_1.el , 1,2,0,1 );
+ var child_2 = new Xcls_Label7( _this );
+ child_2.ref();
+ this.el.attach_defaults ( child_2.el , 0,1,1,2 );
+ var child_3 = new Xcls_title( _this );
+ child_3.ref();
+ this.el.attach_defaults ( child_3.el , 1,2,1,2 );
+ var child_4 = new Xcls_Label9( _this );
+ child_4.ref();
+ this.el.attach_defaults ( child_4.el , 0,1,2,3 );
+ var child_5 = new Xcls_region( _this );
+ child_5.ref();
+ this.el.attach_defaults ( child_5.el , 1,2,2,3 );
+ var child_6 = new Xcls_Label11( _this );
+ child_6.ref();
+ this.el.attach_defaults ( child_6.el , 0,1,3,4 );
+ var child_7 = new Xcls_parent( _this );
+ child_7.ref();
+ this.el.attach_defaults ( child_7.el , 1,2,3,4 );
+ var child_8 = new Xcls_Label13( _this );
+ child_8.ref();
+ this.el.attach_defaults ( child_8.el , 0,1,4,5 );
+ var child_9 = new Xcls_permname( _this );
+ child_9.ref();
+ this.el.attach_defaults ( child_9.el , 1,2,4,5 );
+ var child_10 = new Xcls_Label15( _this );
+ child_10.ref();
+ this.el.attach_defaults ( child_10.el , 0,1,5,6 );
+ var child_11 = new Xcls_modOrder( _this );
+ child_11.ref();
+ this.el.attach_defaults ( child_11.el , 1,2,5,6 );
+ var child_12 = new Xcls_Label17( _this );
+ child_12.ref();
+ this.el.attach_defaults ( child_12.el , 0,1,6,7 );
+ var child_13 = new Xcls_build_module( _this );
+ child_13.ref();
+ this.el.attach_defaults ( child_13.el , 1,2,6,7 );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_Label5 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label5(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Component Name" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.justify = Gtk.Justification.RIGHT;
+ this.el.xalign = 0.900000f;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_name : Object
+ {
+ public Gtk.Entry el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_name(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ _this.name = this;
+ this.el = new Gtk.Entry();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Label7 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label7(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Title" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.justify = Gtk.Justification.RIGHT;
+ this.el.xalign = 0.900000f;
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_title : Object
+ {
+ public Gtk.Entry el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_title(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ _this.title = this;
+ this.el = new Gtk.Entry();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Label9 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label9(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Region" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.justify = Gtk.Justification.RIGHT;
+ this.el.xalign = 0.900000f;
+ this.el.tooltip_text = "center, north, south, east, west";
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_region : Object
+ {
+ public Gtk.Entry el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_region(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ _this.region = this;
+ this.el = new Gtk.Entry();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Label11 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label11(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Parent Name" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.justify = Gtk.Justification.RIGHT;
+ this.el.xalign = 0.900000f;
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_parent : Object
+ {
+ public Gtk.Entry el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_parent(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ _this.parent = this;
+ this.el = new Gtk.Entry();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Label13 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label13(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Permission Name" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.justify = Gtk.Justification.RIGHT;
+ this.el.xalign = 0.900000f;
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_permname : Object
+ {
+ public Gtk.Entry el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_permname(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ _this.permname = this;
+ this.el = new Gtk.Entry();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Label15 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label15(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Order (for tabs)" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.justify = Gtk.Justification.RIGHT;
+ this.el.xalign = 0.900000f;
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_modOrder : Object
+ {
+ public Gtk.Entry el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_modOrder(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ _this.modOrder = this;
+ this.el = new Gtk.Entry();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Label17 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label17(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Module to build (Vala only)" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.justify = Gtk.Justification.RIGHT;
+ this.el.xalign = 0.900000f;
+ this.el.visible = true;
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_build_module : Object
+ {
+ public Gtk.ComboBox el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_build_module(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ _this.build_module = this;
+ this.el = new Gtk.ComboBox();
+
+ // my vars (dec)
+
+ // set gobject values
+ var child_0 = new Xcls_dbcellrenderer( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , true );
+ var child_1 = new Xcls_dbmodel( _this );
+ child_1.ref();
+ this.el.set_model ( child_1.el );
+
+ // init method
+
+ this.el.add_attribute(_this.dbcellrenderer.el , "markup", 1 );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_dbcellrenderer : Object
+ {
+ public Gtk.CellRendererText el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_dbcellrenderer(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ _this.dbcellrenderer = this;
+ this.el = new Gtk.CellRendererText();
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_dbmodel : Object
+ {
+ public Gtk.ListStore el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_dbmodel(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ _this.dbmodel = this;
+ this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ public void loadData (Gee.ArrayList<string> data, string cur) {
+ this.el.clear();
+ Gtk.TreeIter iter;
+ var el = this.el;
+
+ /// el.append(out iter);
+
+
+ // el.set_value(iter, 0, "");
+ // el.set_value(iter, 1, "aaa - Just add Element - aaa");
+
+ el.append(out iter);
+
+
+ el.set_value(iter, 0, "");
+ el.set_value(iter, 1, "-- select a module --");
+ _this.build_module.el.set_active_iter(iter);
+
+ for (var i = 0; i < data.size;i++) {
+
+
+ el.append(out iter);
+
+ el.set_value(iter, 0, data.get(i));
+ el.set_value(iter, 1, data.get(i));
+
+ if (data.get(i) == cur) {
+ _this.build_module.el.set_active_iter(iter);
+ }
+
+ }
+ this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);
+
+ }
+ }
+
+
+
+ public class Xcls_HButtonBox21 : Object
+ {
+ public Gtk.HButtonBox el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_HButtonBox21(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.HButtonBox();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.margin_right = 4;
+ this.el.margin_left = 4;
+ this.el.margin_bottom = 4;
+ var child_0 = new Xcls_Button22( _this );
+ child_0.ref();
+ this.el.add ( child_0.el );
+ var child_1 = new Xcls_save_btn( _this );
+ child_1.ref();
+ this.el.add ( child_1.el );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_Button22 : Object
+ {
+ public Gtk.Button el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Button22(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Button();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.label = "Cancel";
+
+ //listeners
+ this.el.clicked.connect( () => {
+
+ _this.done = true;
+ _this.el.hide();
+ });
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_save_btn : Object
+ {
+ public Gtk.Button el;
+ private Xcls_PopoverFileDetails _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_save_btn(Xcls_PopoverFileDetails _owner )
+ {
+ _this = _owner;
+ _this.save_btn = this;
+ this.el = new Gtk.Button();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.label = "Save";
+
+ //listeners
+ this.el.clicked.connect( ( ) => {
+
+
+
+
+ if (_this.name.el.get_text().length < 1) {
+ StandardErrorDialog.show(
+ _this.mainwindow.el,
+ "You have to set Component name "
+ );
+
+ return;
+ }
+ // what does this do?
+
+ var isNew = _this.file.name.length > 0 ? false : true;
+ /*
+ if (!isNew && this.file.name != _this.name.el.get_text()) {
+ Xcls_StandardErrorDialog.singleton().show(
+ this.el,
+ "Sorry changing names does not work yet. "
+ );
+
+ return;
+ }
+ */
+
+
+
+ // FIXME - this may be more complicated...
+ //for (var i in this.def) {
+ // this.file[i] = this.get(i).el.get_text();
+ //}
+
+ if (!isNew) {
+ try {
+ _this.updateFileFromEntry();
+ } catch( JsRender.Error.RENAME_FILE_EXISTS er) {
+ Xcls_StandardErrorDialog.singleton().show(
+ _this.mainwindow.el,
+ "The name you used already exists "
+ );
+ return;
+
+ }
+
+ _this.done = true;
+ _this.file.save();
+ _this.el.hide();
+ return;
+ }
+ var fn = _this.name.el.get_text();
+ var dir = _this.project.firstPath();
+
+ if (GLib.FileUtils.test(dir + "/" + fn + ".bjs", GLib.FileTest.EXISTS)) {
+ Xcls_StandardErrorDialog.singleton().show(
+ _this.mainwindow.el,
+ "That file already exists"
+ );
+ return;
+ }
+
+ var f = JsRender.JsRender.factory(
+ _this.file.project.xtype,
+ _this.file.project,
+ dir + "/" + fn + ".bjs");
+
+ _this.file = f;
+
+
+
+ _this.updateFileFromEntry();
+ _this.file.loaded = true;
+ _this.file.save();
+ _this.file.project.addFile(_this.file);
+
+
+ // what about .js ?
+ _this.done = true;
+ _this.el.hide();
+
+
+
+ _this.success(_this.project, _this.file);
+
+ });
+ }
+
+ // user defined functions
+ }
+
+
+
+}