{ "name" : "DialogNewComponent", "parent" : "", "title" : "", "path" : "/home/alan/gitlive/app.Builder.js/src/Builder4/DialogNewComponent.bjs", "permname" : "", "modOrder" : "", "build_module" : "", "items" : [ { "listeners" : { "delete_event" : "(self, event) => {\n this.el.hide();\n return true; \n //test \n}\n ", "response" : " (self, response_id) => { \n \n\tif (response_id < 1) { // cancel!\n this.el.hide();\n return;\n }\n\n\n\n if (_this.name.el.get_text().length < 1) {\n StandardErrorDialog.show(\n this.el,\n \"You have to set Component name \"\n );\n \n return;\n }\n // what does this do?\n \n var isNew = _this.file.name.length > 0 ? false : true;\n /*\n if (!isNew && this.file.name != _this.name.el.get_text()) {\n Xcls_StandardErrorDialog.singleton().show(\n this.el,\n \"Sorry changing names does not work yet. \"\n );\n \n return;\n }\n */\n \n \n \n // FIXME - this may be more complicated...\n //for (var i in this.def) {\n // this.file[i] = this.get(i).el.get_text();\n //}\n\n if (!isNew) {\n try {\n this.updateFileFromEntry();\n } catch( JsRender.Error.RENAME_FILE_EXISTS er) {\n Xcls_StandardErrorDialog.singleton().show(\n this.el,\n \"The name you used already exists \"\n );\n return;\n \n }\n \n \n _this.file.save();\n this.el.hide();\n return;\n }\n var fn = this.name.el.get_text();\n var dir = _this.project.firstPath();\n \n if (GLib.FileUtils.test(dir + \"/\" + fn + \".bjs\", GLib.FileTest.EXISTS)) {\n Xcls_StandardErrorDialog.singleton().show(\n this.el,\n \"That file already exists\"\n ); \n return;\n }\n \n var f = JsRender.JsRender.factory(\n _this.file.project.xtype, \n _this.file.project, \n dir + \"/\" + fn + \".bjs\");\n\n _this.file = f;\n \n\n \n this.updateFileFromEntry();\n _this.file.save();\n _this.file.project.addFile(_this.file);\n \n\t \n // what about .js ?\n \n this.el.hide();\n \n \n //var tmpl = this.project.loadFileOnly(DialogNewComponent.get('template').getValue());\n \n //var nf = _this.project.create(dir + \"/\" + _this.file.name + \".bjs\");\n //for (var i in this.file) {\n // nf[i] = this.file[i];\n //}\n _this.success(_this.project, _this.file);\n /*\n\n -- fixme -- needs to be a signal..\n if (DialogNewComponent.success != null) {\n DialogNewComponent.success(_this.project, nf);\n }\n */\n}", "show" : "(self) => {\n this.el.show_all();\n //test\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} ", "id" : "DialogNewComponent", "@ void success" : "(Project.Project pr, JsRender.JsRender file)", "default_width" : 500, "$ deletable" : true, "# Project.Project project" : "", "title" : "New Component", "xtype" : "Dialog", "| void show" : "(JsRender.JsRender c) \n{\n this.project = c.project;\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 this.el.set_title(\"Edit File Details - \" + c.name);\n } else {\n this.el.set_title(\"Create New File\");\n }\n \n var ar = new Gee.ArrayList();\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.show_all();\n \n //this.success = c.success;\n \n \n}", "# JsRender.JsRender file" : "null", "default_height" : 200, "$ modal" : true, "$ xns" : "Gtk", "items" : [ { "xtype" : "VBox", "$ pack" : "get_content_area().add", "$ xns" : "Gtk", "items" : [ { "* pack" : "pack_start,false,false,0", "xtype" : "Table", "n_columns" : 2, "$ xns" : "Gtk", "n_rows" : 3, "$ homogeneous" : true, "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 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" } ] } ] } ] }, { "label" : "Cancel", "xtype" : "Button", "* pack" : "add_action_widget,0", "$ xns" : "Gtk" }, { "label" : "OK", "xtype" : "Button", "* pack" : "add_action_widget,1", "$ xns" : "Gtk" } ] } ] }