2 "name" : "RooProjectSettings",
5 "path" : "/home/alan/gitlive/roobuilder/src/Builder4/RooProjectSettings.bjs",
8 "build_module" : "builder",
11 "@ void buttonPressed" : "(string btn)",
12 "id" : "RooProjectSettings",
13 "| void show" : " (Gtk.Widget btn, Project.Project project) {\n _this.project = project;\n _this.path.el.label = project.firstPath();\n // get the active project.\n var lm = Gtk.SourceLanguageManager.get_default();\n \n ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(\n lm.get_language(\"html\")\n );\n \n //print (project.fn);\n //project.runhtml = project.runhtml || '';\n _this.view.el.get_buffer().set_text(project.runhtml);\n \n \n _this.rootURL.el.set_text( _this.project.rootURL );\n \n\n _this.base_template_model.loadData();\n \n var js = _this.project;\n _this.database_DBTYPE.el.set_text( js.get_string_member(\"DBTYPE\") );\n _this.database_DBNAME.el.set_text( js.get_string_member(\"DBNAME\") );\n _this.database_DBUSERNAME.el.set_text( js.get_string_member(\"DBUSERNAME\") );\n _this.database_DBPASSWORD.el.set_text( js.get_string_member(\"DBPASSWORD\") );\n \n \t//console.log('show all');\n\tthis.el.set_modal(true);\n\tthis.el.set_relative_to(btn);\n\n\tthis.el.set_position(Gtk.PositionType.RIGHT);\n\n\t// window + header?\n\t print(\"SHOWALL - POPIP\\n\");\n\tthis.el.show_all();\n\tthis.el.set_size_request(800,500);\n\tthis.view.el.grab_focus();\n\t\n \n //this.el.show_all();\n}\n",
15 "Gtk.PositionType position" : "Gtk.PositionType.RIGHT",
16 "| void save" : "() {\n var buf = _this.view.el.get_buffer();\n Gtk.TextIter s;\n Gtk.TextIter e;\n buf.get_start_iter(out s);\n buf.get_end_iter(out e);\n _this.project.runhtml = buf.get_text(s,e,true);\n \n _this.project.rootURL = _this.rootURL.el.get_text();\n // set by event changed...\n //_this.project.base_template = _this.base_template.el.get_text(); \n \n var js = _this.project.json_project_data;\n js.set_string_member(\"DBTYPE\", _this.database_DBTYPE.el.get_text());\n js.set_string_member(\"DBNAME\", _this.database_DBNAME.el.get_text());\n js.set_string_member(\"DBUSERNAME\", _this.database_DBUSERNAME.el.get_text());\n js.set_string_member(\"DBPASSWORD\", _this.database_DBPASSWORD.el.get_text());\n// _this.project.set_string_member(\"DBHOST\", _this.DBTYPE.el.get_text()); \n \n // need to re-init the database \n \n _this.project.initRooDatabase();\n \n \n}",
18 "Project.Project project" : "",
20 "uint border_width" : 0,
26 "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
28 "$ homogeneous" : false,
31 "* pack" : "pack_start,true,true,0",
36 "id" : "label_global",
40 "utf8 label" : "Global"
43 "id" : "label_database",
47 "utf8 label" : "Database"
50 "* pack" : "append_page,_this.label_global.el",
52 "gboolean homogeneous" : false,
54 "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
60 "* pack" : "pack_start,false,false,0",
66 "* pack" : "pack_start,false,false,0",
68 "gboolean expand" : false,
70 "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
71 "$ homogeneous" : false,
74 "label" : "HTML template file",
75 "* pack" : "pack_start,false,false,0",
82 "changed" : "() => {\n\tGtk.TreeIter iter;\n \n\t// this get's called when we are filling in the data... ???\n\tif (this.loading) {\n\t\treturn;\n\t}\n\t\n \n\tif (this.el.get_active_iter(out iter)) {\n\t\tValue vfname;\n\t\t_this.base_template_model.el.get_value (iter, 0, out vfname);\n\t\t_this.project.base_template = ((string)vfname) ;\n\t\t\n\t\t print(\"\\nSET base template to %s\\n\", _this.project.base_template );\n\t\t// is_bjs = ((string)vfname) == \"bjs\";\n\t}\n \n \n // directory is only available for non-bjs \n \n\n\n}\n"
84 "id" : "base_template",
85 "bool loading" : false,
86 "* init" : "this.el.add_attribute(_this.base_template_cellrenderer.el , \"markup\", 0 );",
92 "id" : "base_template_cellrenderer",
93 "xtype" : "CellRendererText",
94 "* pack" : "pack_start,true",
98 "id" : "base_template_model",
99 "xtype" : "ListStore",
100 "* pack" : "set_model",
101 "$ columns" : "typeof(string)",
104 "| void loadData" : " () {\n\t_this.base_template.loading = true;\n \n this.el.clear(); \n Gtk.TreeIter iter;\n var el = this.el;\n \n /// el.append(out iter);\n \n \n el.append(out iter);\n el.set_value(iter, 0, \"roo.builder.html\");\n _this.base_template.el.set_active_iter(iter);\n\tif (_this.project.base_template == \"roo.builder.html\") {\n\t _this.base_template.el.set_active_iter(iter);\n }\n\n el.append(out iter);\n el.set_value(iter, 0, \"bootstrap.builder.html\");\n \n\tprint(\"\\ncur template = %s\\n\", _this.project.base_template);\n \n if (_this.project.base_template == \"bootstrap.builder.html\") {\n\t _this.base_template.el.set_active_iter(iter);\n }\n\n\tel.append(out iter);\n el.set_value(iter, 0, \"mailer.builder.html\");\n\n\tif (_this.project.base_template == \"mailer.builder.html\") {\n\t _this.base_template.el.set_active_iter(iter);\n }\n\t_this.base_template.loading = false;\n \n}\n"
111 "* pack" : "pack_start,false,false,0",
113 "gboolean expand" : false,
115 "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
116 "$ homogeneous" : false,
119 "label" : "root URL",
120 "* pack" : "pack_start,false,false,0",
134 "label" : "HTML To insert at end of <HEAD>",
135 "* pack" : "pack_start,false,false,0",
140 "* pack" : "pack_start,true,true,0",
141 "xtype" : "ScrolledWindow",
146 "key_release_event" : " ( event) =>{\n if (event.keyval != 115) {\n return false;\n \n }\n if ( (event.state & Gdk.ModifierType.CONTROL_MASK ) < 1 ) {\n return false;\n }\n var buf = this.el.get_buffer();\n Gtk.TextIter s;\n Gtk.TextIter e;\n buf.get_start_iter(out s);\n buf.get_end_iter(out e);\n _this.project.runhtml = buf.get_text(s,e,true);\n \n \n _this.buttonPressed(\"save\");\n \n return false;\n \n}"
149 "* init" : " \n var description = Pango.FontDescription.from_string(\"monospace\");\n description.set_size(9000);\n this.el.override_font(description);",
152 "$ xns" : "GtkSource"
158 "int margin_right" : 4,
159 "* pack" : "pack_start,false,false,4",
161 "uint row_spacing" : 2,
165 "$ homogeneous" : true,
166 "int margin_left" : 4,
169 "label" : "File type",
170 "id" : "filetypelbl",
171 "xalign" : 0.90000000000000002,
172 "* pack" : "attach,0,0,1,1",
174 "$ justify" : "Gtk.Justification.RIGHT",
180 "changed" : "() => {\n\tGtk.TreeIter iter;\n\tbool is_bjs = true;\n\tif (this.el.get_active_iter(out iter)) {\n\t\tValue vfname;\n\t\t_this.ftdbmodel.el.get_value (iter, 0, out vfname);\n\t\t is_bjs = ((string)vfname) == \"bjs\";\n\t}\n \n \n // directory is only available for non-bjs \n this.showhide(is_bjs);\n\n\n}\n"
183 "* init" : "this.el.add_attribute(_this.ftdbcellrenderer.el , \"markup\", 1 );",
184 "* pack" : "attach,1,0,1,1",
185 "xtype" : "ComboBox",
186 "| void showhide" : "(bool is_bjs) {\n\tfor (var i = 2; i < 9;i++) {\n\t\tvar el = _this.grid.el.get_child_at(0,i);\n\t\t\n\t\tvar showhide= is_bjs;\n\t\tif (i> 7) {\n\t\t\tshowhide = !showhide;\n\t\t}\n\t\t\n\t\tif (showhide) {\n\t\t el.show();\n\t\t} else {\n\t\t\tel.hide();\n\t\t}\n\t\t el = _this.grid.el.get_child_at(1,i);\n\t\tif (showhide) {\n\t\t el.show();\n\t\t} else {\n\t\t\tel.hide();\n\t\t} \n }\n // load up the directories\n //??? why can we not create bjs files in other directories??\n\tif (!is_bjs && _this.file.path.length < 1) {\n\t\t_this.dirmodel.loadData();\n\t\t\n\t\t\n\t}\n \n \n}\n",
190 "id" : "ftdbcellrenderer",
191 "xtype" : "CellRendererText",
192 "* pack" : "pack_start,true",
197 "xtype" : "ListStore",
198 "* pack" : "set_model",
199 "$ columns" : "typeof(string),typeof(string)",
202 "| void loadData" : " (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, \"bjs\");\n el.set_value(iter, 1, \"User Interface File (bjs)\");\n _this.filetype.el.set_active_iter(iter);\n\n el.append(out iter);\n \n el.set_value(iter, 0, \"vala\");\n el.set_value(iter, 1, \"Vala\");\n\tif (cur == \"vala\") {\n\t _this.filetype.el.set_active_iter(iter);\n }\n\n\n\n el.append(out iter);\n \n el.set_value(iter, 0, \"js\");\n el.set_value(iter, 1, \"Javascript\");\n\n\tif (cur == \"js\") {\n\t _this.filetype.el.set_active_iter(iter);\n }\n\n el.append(out iter);\n \n el.set_value(iter, 0, \"css\");\n el.set_value(iter, 1, \"CSS\");\n\n\tif (cur == \"css\") {\n\t _this.filetype.el.set_active_iter(iter);\n }\n \n}\n"
207 "label" : "Component Name",
208 "xalign" : 0.90000000000000002,
209 "* pack" : "attach,0,1,1,1",
211 "$ justify" : "Gtk.Justification.RIGHT",
219 "* pack" : "attach,1,1,1,1",
225 "xalign" : 0.90000000000000002,
226 "* pack" : "attach,0,2,1,1",
228 "$ justify" : "Gtk.Justification.RIGHT",
236 "* pack" : "attach,1,2,1,1",
241 "tooltip_text" : "center, north, south, east, west",
243 "xalign" : 0.90000000000000002,
244 "* pack" : "attach,0,3,1,1",
246 "$ justify" : "Gtk.Justification.RIGHT",
254 "* pack" : "attach,1,3,1,1",
258 "label" : "Parent Name",
260 "xalign" : 0.90000000000000002,
261 "* pack" : "attach,0,4,1,1",
263 "$ justify" : "Gtk.Justification.RIGHT",
271 "* pack" : "attach,1,4,1,1",
275 "label" : "Permission Name",
277 "xalign" : 0.90000000000000002,
278 "* pack" : "attach,0,5,1,1",
280 "$ justify" : "Gtk.Justification.RIGHT",
288 "* pack" : "attach,1,5,1,1",
292 "label" : "Order (for tabs)",
294 "xalign" : 0.90000000000000002,
295 "* pack" : "attach,0,6,1,1",
297 "$ justify" : "Gtk.Justification.RIGHT",
305 "* pack" : "attach,1,6,1,1",
309 "label" : "Module to build (Vala only)",
311 "xalign" : 0.90000000000000002,
312 "* pack" : "attach,0,7,1,1",
314 "$ justify" : "Gtk.Justification.RIGHT",
319 "id" : "build_module",
320 "* init" : "this.el.add_attribute(_this.dbcellrenderer.el , \"markup\", 1 );",
321 "* pack" : "attach,1,7,1,1",
322 "xtype" : "ComboBox",
326 "id" : "dbcellrenderer",
327 "* pack" : "pack_start,true",
328 "xtype" : "CellRendererText",
333 "* pack" : "set_model",
334 "xtype" : "ListStore",
335 "$ columns" : "typeof(string),typeof(string)",
338 "| 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"
343 "label" : "Directory",
345 "xalign" : 0.90000000000000002,
346 "* pack" : "attach,0,8,1,1",
348 "$ justify" : "Gtk.Justification.RIGHT",
354 "* init" : "this.el.add_attribute(_this.dircellrenderer.el , \"markup\", 1 );",
355 "* pack" : "attach,1,8,1,1",
356 "xtype" : "ComboBox",
360 "id" : "dircellrenderer",
361 "xtype" : "CellRendererText",
362 "* pack" : "pack_start,true",
367 "xtype" : "ListStore",
368 "* pack" : "set_model",
369 "$ columns" : "typeof(string),typeof(string)",
372 "| void loadData" : " () {\n\t\n\t\n \n this.el.clear(); \n \n if (!(_this.project is Project.Gtk)) {\n\t\treturn;\n\t}\n var sd = ((Project.Gtk)_this.project).sourcedirs();\n \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 directoyr --\");\n //_this.build_module.el.set_active_iter(iter);\n \n for (var i = 0; i < sd.length;i++) {\n \n\n el.append(out iter);\n \n el.set_value(iter, 0, sd[i]);\n el.set_value(iter, 1, sd[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"
381 "* pack" : "append_page,_this.label_database.el",
383 "gboolean homogeneous" : false,
385 "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
388 "label" : "Type (eg. MySQL or PostgreSQL)",
390 "* pack" : "pack_start,false,false,0",
396 "key_press_event" : "(ev) => {\n\n if (ev.keyval == Gdk.Key.Tab) {\n _this.database_DBNAME.el.grab_focus();\n return true;\n }\n\n\n return false;\n}\n"
398 "id" : "database_DBTYPE",
400 "* pack" : "pack_start,false,false,0",
406 "* pack" : "pack_start,false,false,0",
412 "key_press_event" : "(ev) => {\n\n if (ev.keyval == Gdk.Key.Tab) {\n _this.database_DBUSERNAME.el.grab_focus();\n return true;\n }\n\n\n return false;\n}\n"
414 "id" : "database_DBNAME",
415 "* pack" : "pack_start,false,false,0",
420 "label" : "Username",
422 "* pack" : "pack_start,false,false,0",
428 "key_press_event" : "(ev) => {\n\n if (ev.keyval == Gdk.Key.Tab) {\n _this.database_DBPASSWORD.el.grab_focus();\n return true;\n }\n\n\n return false;\n}\n"
430 "id" : "database_DBUSERNAME",
432 "* pack" : "pack_start,false,false,0",
436 "label" : "Password",
438 "* pack" : "pack_start,false,false,0",
443 "id" : "database_DBPASSWORD",
444 "* pack" : "pack_start,false,false,0",
450 "clicked" : "() => {\n\n\n _this.database_ERROR.el.label = \"\";\n Gda.Connection cnc;\n try {\n // assumes localhost...\n cnc = Gda.Connection.open_from_string (\n\t\t\t_this.database_DBTYPE.el.get_text(),\n\t\t\t\"DB_NAME=\" + _this.database_DBNAME.el.get_text(), \n\t\t\t\"USERNAME=\" + _this.database_DBUSERNAME.el.get_text() + \n\t\t\t\";PASSWORD=\" + _this.database_DBPASSWORD.el.get_text(),\n\t\t\tGda.ConnectionOptions.NONE\n\t\t);\n //} catch (Gda.ConnectionError ce) { \n // _this.database_ERROR.el.label = ce.message; \n } catch(Gda.ConnectionError ue) {\n _this.database_ERROR.el.label = ue.message;\n return;\n } catch(Gda.ConfigError ue) {\n _this.database_ERROR.el.label = ue.message;\n return;\n }\n _this.database_ERROR.el.label = \"Connection Succeeded\";\n cnc.close();\n}"
452 "* pack" : "pack_start,false,false,0",
455 "utf8 label" : "Check Connection"
459 "id" : "database_ERROR",
461 "* pack" : "pack_start,false,false,0",
471 "* pack" : "pack_end,false,false,0",
473 "gboolean expand" : false,
475 "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
476 "$ homogeneous" : true,
477 "gboolean vexpand" : false,
481 "button_press_event" : "() => {\n _this.save();\n \n _this.buttonPressed(\"apply\");\n return false;\n}"
490 "button_press_event" : "() => {\n _this.save();\n \n _this.buttonPressed(\"save\");\n return false;\n}"