5 "path" : "/home/alan/gitlive/app.Builder.js/src/Builder4/MainWindow.bjs",
8 "build_module" : "builder",
12 "delete_event" : " ( event) => {\n return false;\n} ",
13 "destroy" : "() => {\n Xcls_MainWindow.singleton().no_windows--;\n \n Resources.singleton().disconnect(_this.statusbar.handler_id);\n \n \n if (Xcls_MainWindow.singleton().no_windows < 1) {\n\n Gtk.main_quit();\n }\n}",
14 "show" : " ( ) => {\n // hide the file editing..\n \n //this.hideViewEditing();\n _this.statusbar.el.hide();\n _this.statusbar_errors.el.hide();\n _this.statusbar_warnings.el.hide();\n _this.statusbar_depricated.el.hide();\n \n \n Resources.singleton().checkResources();\n\n}",
15 "key_release_event" : " (event) => {\n \n if (this.search_entry.el.is_visible()) {\n\t\tif (event.keyval == Gdk.Key.f && (event.state & Gdk.ModifierType.CONTROL_MASK ) > 0 ) {\n\t\t print(\"SAVE: ctrl-f pressed\");\n\t\t\tthis.search_entry.el.grab_focus();\n\t\t return false;\n\t\t}\n\t\t\n\t\tif (event.keyval == Gdk.Key.g && (event.state & Gdk.ModifierType.CONTROL_MASK ) > 0 ) {\n\t\t print(\"SAVE: ctrl-g pressed\");\n\t\t\tthis.search_entry.forwardSearch(true);\n\t\t return false;\n\t\t}\n\t\t\n\t} \n\t\n\tif (event.keyval == Gdk.Key.n && (event.state & Gdk.ModifierType.CONTROL_MASK ) > 0 ) {\n\t\tprint(\"SAVE: ctrl-n pressed\");\n\t\tthis.openNewWindow();\n\t\treturn false;\n\t}\n\t\n // print(event.key.keyval)\n \n return false;\n\n} \n\n"
18 "default_width" : 800,
19 "* init" : " \n\t \n //this.el.show_all();\n \n ",
20 "| void openNewWindow" : "() {\n\tXcls_MainWindow.singleton().no_windows++;\n var w = new Xcls_MainWindow();\n w.ref();\n\n w.el.show_all();\n w.initChildren();\n w.windowstate.switchState(WindowState.State.FILES);\n}\n",
21 "# Project.Project project" : "null",
22 "# string title" : "\"Application Builder\"",
24 "# int no_windows" : 1,
25 "default_height" : 500,
26 "| void initChildren" : " () {\n // this needs putting in a better place..\n this.windowstate = new WindowState(this);\n \n\n //w.el.show_all();\n var tl = new Clutter.Timeline(6000);\n tl.set_repeat_count(-1);\n tl.start();\n tl.ref();\n\n \n\n\n\n}\n",
28 "| void show" : "() {\n \n this.el.show_all();\n\n}",
29 "# WindowState windowstate" : "null",
31 "$ type" : "Gtk.WindowType.TOPLEVEL",
32 "| void setTitle" : " (string str) {\n this.headerbar.el.set_title(this.title + \" - \" + str);\n} \n",
36 "xtype" : "HeaderBar",
37 "* pack" : "set_titlebar",
38 "bool show_close_button" : true,
40 "string title" : "Application Builder",
43 "* pack" : "pack_start",
46 "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
49 "bool use_popover" : false,
50 "xtype" : "MenuButton",
56 "* init" : "{\n this.el.show_all();\n}\n",
58 "* pack" : "set_popup",
63 "activate" : "( ) => {\n _this.openNewWindow();\n}"
65 "string label" : "Open a new Window",
72 "xtype" : "SeparatorMenuItem",
77 "activate" : " ( ) => {\n Resources.singleton().fetchStart();\n}"
80 "string label" : "Download updated Resources",
86 "activate" : "() => {\n About.singleton().el.show();\n }"
90 "string label" : "About the Builder",
96 "utf8 icon_name" : "help-about",
97 "* pack" : "set_image",
105 "clicked" : " ( ) => {\n _this.windowstate.switchState(WindowState.State.FILES);\n \n\n}"
110 "width_request" : 50,
112 "height_request" : 50,
113 "$ tooltop_text" : "\"Open File\"",
117 "utf8 icon_name" : "document-open",
118 "* pack" : "set_image",
125 "clicked" : " ( ) => {\n \n _this.windowstate.switchState(WindowState.State.PREVIEW);\n \n\n}"
127 "id" : "openbackbtn",
128 "utf8 tooltip_text" : "Back",
131 "width_request" : 50,
133 "height_request" : 50,
136 "* pack" : "set_image",
138 "utf8 icon_name" : "go-previous",
152 "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
153 "$ homogeneous" : false,
158 "* pack" : "pack_start,true,true,0",
159 "# int lastWidth" : 0,
162 "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
169 "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
174 "* pack" : "pack_start,true,true,0",
176 "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
183 "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL"
190 "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL"
200 "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
204 "size_allocate" : " ( alloc) => {\n if (_this.windowstate == null) {\n return;\n }\n _this.windowstate.resizeCanvas(); \n \n}"
206 "id" : "clutterembed",
207 "* init" : " var stage = this.el.get_stage();\n stage.set_background_color( Clutter.Color.from_string(\"#000\"));\n \n \n",
209 "* pack" : "pack_start,true,true,0",
210 "$ xns" : "GtkClutter",
214 "* init" : "{\n \n \n this.el.add_constraint(\n new Clutter.AlignConstraint(\n _this.clutterembed.el.get_stage(), \n Clutter.AlignAxis.X_AXIS,\n 1.0f\n )\n );\n \n //this.el.set_position(100,100);\n this.el.set_pivot_point(1.0f,1.0f);\n \n this.el.set_size(_this.clutterembed.el.get_stage().width-50,\n _this.clutterembed.el.get_stage().height);\n \n}",
216 "* pack" : "get_stage().add_child",
217 "$ xns" : "GtkClutter"
221 "* init" : "{\n \n /*\n this.el.add_constraint(\n new Clutter.AlignConstraint(\n _this.clutterembed.el.get_stage(), \n Clutter.AlignAxis.X_AXIS,\n 0.0f\n )\n );\n */\n this.el.fixed_x = 50.0f;\n this.el.fixed_y = 0.0f;\n //this.el.set_position(100,100);\n this.el.set_pivot_point(0.0f,0.0f);\n this.el.set_scale(0.0f,1.0f);\n this.el.set_size((_this.clutterembed.el.get_stage().width-50)/2,\n _this.clutterembed.el.get_stage().height);\n \n}",
223 "* pack" : "get_stage().add_child",
224 "$ xns" : "GtkClutter"
227 "id" : "codeeditview",
228 "* init" : "{\n \n /*\n this.el.add_constraint(\n new Clutter.AlignConstraint(\n _this.clutterembed.el.get_stage(), \n Clutter.AlignAxis.X_AXIS,\n 0.0f\n )\n );\n */\n this.el.fixed_x = 50.0f;\n this.el.fixed_y = 0.0f;\n //this.el.set_position(100,100);\n this.el.set_pivot_point(0.0f,0.0f);\n this.el.set_scale(0.0f,1.0f);\n this.el.set_size((_this.clutterembed.el.get_stage().width-50)/2,\n _this.clutterembed.el.get_stage().height);\n \n}",
230 "* pack" : "get_stage().add_child",
231 "$ xns" : "GtkClutter"
234 "id" : "addpropsview",
235 "* init" : "{\n \n /*\n this.el.add_constraint(\n new Clutter.AlignConstraint(\n _this.clutterembed.el.get_stage(), \n Clutter.AlignAxis.X_AXIS,\n 0.0f\n )\n );\n */\n this.el.fixed_x = 50.0f;\n this.el.fixed_y = 0.0f;\n //this.el.set_position(100,100);\n this.el.set_pivot_point(0.0f,0.0f);\n this.el.set_scale(0.0f,1.0f);\n this.el.set_size((_this.clutterembed.el.get_stage().width-50)/2,\n _this.clutterembed.el.get_stage().height);\n \n}",
237 "* pack" : "get_stage().add_child",
238 "$ xns" : "GtkClutter"
241 "id" : "projecteditview",
242 "* init" : "{\n \n \n this.el.add_constraint(\n new Clutter.AlignConstraint(\n _this.clutterembed.el.get_stage(), \n Clutter.AlignAxis.X_AXIS,\n 1.0f\n )\n );\n \n //this.el.set_position(100,100);\n this.el.set_pivot_point(0.0f,0.0f);\n this.el.set_scale(1.0f,0.0f);\n this.el.set_size(_this.clutterembed.el.get_stage().width-50,\n _this.clutterembed.el.get_stage().height /2);\n \n}",
244 "* pack" : "get_stage().add_child",
245 "$ xns" : "GtkClutter"
248 "id" : "buttonlayout",
249 "* init" : "{\n \n this.el.add_constraint(\n new Clutter.AlignConstraint(\n _this.clutterembed.el.get_stage(), \n Clutter.AlignAxis.X_AXIS,\n 0.0f\n )\n );\n \n \n //this.el.set_position(100,100);\n this.el.set_pivot_point(0.5f,0.5f);\n this.el.set_size(50,\n _this.clutterembed.el.get_stage().height);\n \n}",
251 "* pack" : "get_stage().add_child",
255 "$ orientation" : "Clutter.Orientation.VERTICAL",
256 "xtype" : "BoxLayout",
258 "* prop" : "layout_manager"
262 "* init" : "this.el.set_size(50,50);",
264 "* pack" : "add_child",
268 "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
270 "* pack" : "add_child",
271 "$ xns" : "GtkClutter",
275 "clicked" : " ( ) => {\n \n _this.windowstate.switchState(WindowState.State.PREVIEW);\n \n\n}"
277 "utf8 tooltip_text" : "Back",
280 "width_request" : 50,
282 "height_request" : 50,
286 "utf8 icon_name" : "go-previous",
287 "* pack" : "set_image",
297 "id" : "projectbutton",
298 "* init" : "this.el.set_size(50,50);",
300 "* pack" : "add_child",
304 "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
305 "* pack" : "add_child",
307 "$ xns" : "GtkClutter",
311 "clicked" : " ( ) => {\n _this.windowstate.switchState(WindowState.State.FILES);\n \n\n}"
315 "width_request" : 50,
317 "height_request" : 50,
318 "$ tooltop_text" : "\"Open File\"",
321 "* pack" : "set_image",
323 "utf8 icon_name" : "document-open",
333 "id" : "editfilebutton",
334 "* init" : "this.el.set_size(50.0f,50.0f);",
336 "* pack" : "add_child",
340 "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
341 "* pack" : "add_child",
343 "$ xns" : "GtkClutter",
347 "clicked" : " ( ) => {\n \n // create a new file in project..\n if (_this.project == null || _this.windowstate.file == null) {\n return ;\n }\n _this.windowstate.file_details.show(\n _this.windowstate.file, this.el\n );\n \n return ; \n\n\n}"
351 "width_request" : 50,
353 "$ tooltip_text" : "\"File Details\"",
354 "height_request" : 50,
357 "utf8 icon_name" : "document-properties",
358 "* pack" : "set_image",
369 "id" : "projecteditbutton",
370 "* init" : "this.el.set_size(50,50);",
372 "* pack" : "add_child",
376 "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
377 "* pack" : "add_child",
379 "$ xns" : "GtkClutter",
383 "clicked" : " ( ) => {\n _this.windowstate.switchState(WindowState.State.PROJECT);\n \n\n\n}"
387 "width_request" : 50,
389 "$ tooltip_text" : "\"Project Details\"",
390 "height_request" : 50,
394 "utf8 icon_name" : "emblem-system",
395 "* pack" : "set_image",
406 "enter_event" : "( event) => {\n this.el.background_color = Clutter.Color.from_string(\"#333\");\n return false;\n}",
407 "leave_event" : "( event) => {\n this.el.background_color = Clutter.Color.from_string(\"#000\");\n return false;\n}"
409 "id" : "objectshowbutton",
410 "* init" : "this.el.set_size(50,50);",
412 "* pack" : "add_child",
416 "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
417 "* pack" : "add_child",
419 "$ xns" : "GtkClutter",
423 "clicked" : " ( ) => {\n \n _this.windowstate.switchState(WindowState.State.OBJECT);\n \n \n}"
427 "width_request" : 50,
429 "$ tooltip_text" : "\"Add Child Element\"",
430 "height_request" : 50,
433 "* pack" : "set_image",
435 "utf8 icon_name" : "list-add",
445 "id" : "addpropbutton",
446 "* init" : "this.el.set_size(50,50);",
448 "* pack" : "add_child",
452 "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
453 "* pack" : "add_child",
455 "$ xns" : "GtkClutter",
459 "clicked" : " ( ) => {\n \n _this.windowstate.switchState(WindowState.State.PROP);\n \n\n}"
463 "width_request" : 50,
465 "$ tooltip_text" : "\"Add Property\"",
466 "height_request" : 50,
469 "utf8 icon_name" : "format-justify-left",
470 "* pack" : "set_image",
481 "id" : "addlistenerbutton",
482 "* init" : "this.el.set_size(50,50);",
484 "* pack" : "add_child",
488 "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
489 "* pack" : "add_child",
491 "$ xns" : "GtkClutter",
495 "clicked" : " ( ) => {\n \n _this.windowstate.switchState(WindowState.State.LISTENER);\n \n\n\n}"
499 "width_request" : 50,
501 "$ tooltip_text" : "\"Add Event Code\"",
502 "height_request" : 50,
506 "utf8 icon_name" : "appointment-new",
507 "* pack" : "set_image",
517 "id" : "addprojectbutton",
518 "* init" : "this.el.set_size(50.0f,50.0f);",
520 "* pack" : "add_child",
524 "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
525 "* pack" : "add_child",
527 "$ xns" : "GtkClutter",
531 "clicked" : " ( ) => {\n \n // create a new file in project..\n //Xcls_DialogNewComponent.singleton().show(\n var pe = EditProject.singleton();\n pe.el.set_transient_for(_this.el);\n pe.el.set_modal(true); \n \n var p = pe.show();\n\n if (p == null) {\n return;\n }\n \n \n _this.windowstate.left_projects.is_loaded = false; \n _this.windowstate.left_projects.load();\n _this.windowstate.left_projects.selectProject(p);\n return ; \n\n\n}"
535 "width_request" : 50,
537 "$ tooltip_text" : "\"New\\nProj.\"",
538 "height_request" : 50,
541 "utf8 icon_name" : "folder-new",
542 "* pack" : "set_image",
553 "id" : "addfilebutton",
554 "* init" : "this.el.set_size(50.0f,50.0f);",
556 "* pack" : "add_child",
560 "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
561 "* pack" : "add_child",
563 "$ xns" : "GtkClutter",
567 "clicked" : " () => {\n // create a new file in project..\n print(\"add file selected\\n\");\n // what's the currently selected project...\n var proj = _this.windowstate.left_projects.getSelectedProject();\n \n if (proj == null) {\n\t\tprint(\"no project selected?\\n\");\n return ;\n }\n \n print(\"creating file?\");\n \n var f = JsRender.JsRender.factory(proj.xtype, proj, \"\");\n _this.project = proj;\n print(\"showing popup?\");\n _this.windowstate.file_details.show(\n f, this.el\n );\n \n \n return ; \n}"
571 "width_request" : 50,
573 "$ tooltip_text" : "\"Add File\"",
574 "height_request" : 50,
577 "* pack" : "set_image",
579 "utf8 icon_name" : "document-new",
589 "id" : "delprojectbutton",
590 "* init" : "this.el.set_size(50,50);",
592 "* pack" : "add_child",
596 "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
597 "* pack" : "add_child",
599 "$ xns" : "GtkClutter",
603 "clicked" : " ( ) => {\n \n var cd = DialogConfirm.singleton();\n cd.el.set_transient_for(_this.el);\n cd.el.set_modal(true);\n\n var project = _this.windowstate.left_projects.getSelectedProject();\n if (project == null) {\n print(\"SKIP - no project\\n\");\n return;\n }\n \n \n if (Gtk.ResponseType.YES != cd.show(\"Confirm\", \n \"Are you sure you want to delete project %s\".printf(project.name))) {\n return;\n }\n \n\n // confirm?\n Project.Project.remove(project);\n _this.project = null;\n \n _this.windowstate.left_projects.is_loaded = false;\n _this.windowstate.left_projects.load();\n _this.windowstate.clutterfiles.clearFiles();\n\n}"
607 "width_request" : 50,
609 "$ tooltip_text" : "\"Delete Project\"",
610 "height_request" : 50,
613 "utf8 icon_name" : "user-trash",
614 "* pack" : "set_image",
633 "bool homogeneous" : false,
635 "* pack" : "pack_end,false,true,0",
637 "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
640 "* pack" : "pack_start,true,true,0",
642 "string label" : " ",
646 "bool show_text" : true,
648 "ulong handler_id" : "-1",
649 "* init" : "{\n this.handler_id = Resources.singleton().updateProgress.connect((pos,total) => {\n if (pos < 1) {\n this.el.hide();\n _this.mainpane.el.set_sensitive(true);\n \n return;\n }\n _this.mainpane.el.set_sensitive(false);\n this.el.show();\n this.el.set_fraction ((1.0f * pos) / (1.0f * total));\n this.el.set_text(\"Fetching Resource : %s/%s\".printf(pos.to_string(), total.to_string()));\n \n });\n}\n",
650 "xtype" : "ProgressBar",
651 "* pack" : "pack_start,true,true,0",
656 "key_press_event" : "(event) => {\n \n \tif (event.keyval == Gdk.Key.Return) {\n\t\tthis.forwardSearch(false);\n\t return true;\n\n\t} \n // print(event.key.keyval)\n \n return false;\n\n} ",
657 "changed" : "() => {\n\tif (this.el.text == \"\") {\n\t\t_this.search_results.el.hide();\n\t\treturn;\n\t}\n\tvar res = 0;\n\tswitch(_this.windowstate.state) {\n\t\tcase WindowState.State.CODEONLY:\n\t\tcase WindowState.State.CODE:\n\t\t\t// search the code being edited..\n\t\t\tres = _this.windowstate.code_editor.search(this.el.text);\n\t\t\t\n\t\t\tbreak;\n\t\tcase WindowState.State.PREVIEW:\n\t\t\tif (_this.windowstate.file.xtype == \"Gtk\") {\n\t\t\t\t res = _this.windowstate.window_gladeview.search(this.el.text);\n\t\t\t} else { \n\t\t\t\t res = _this.windowstate.window_rooview.search(this.el.text);\t\t\t\n\t\t\t}\n\t\t\n\t\t\n\t\t\tbreak;\n\t}\n\t_this.search_results.el.show();\n\tif (res > 0) {\n\t\t_this.search_results.el.label = \"%d Matches\".printf(res);\n\t} else {\n\t\t_this.search_results.el.label = \"No Matches\";\n\t}\n\t\t\n\t\n\t\n}\n"
659 "id" : "search_entry",
660 "* init" : "var description = Pango.FontDescription.from_string(\"monospace\");\n\tdescription.set_size(8000);\n\t this.el.override_font(description);\n\n",
661 "* pack" : "pack_start,false,true,0",
662 "xtype" : "SearchEntry",
664 "| void forwardSearch" : "(bool change_focus) {\n\tswitch(_this.windowstate.state) {\n\t\tcase WindowState.State.CODEONLY:\n\t\tcase WindowState.State.CODE:\n\t\t\t// search the code being edited..\n\t\t\t_this.windowstate.code_editor.forwardSearch(change_focus);\n\t\t\t\n\t\t\tbreak;\n\t\tcase WindowState.State.PREVIEW:\n\t\t\tif (_this.windowstate.file.xtype == \"Gtk\") {\n\t\t\t\t_this.windowstate.window_gladeview.forwardSearch(change_focus);\n\t\t\t} else { \n\t\t\t\t _this.windowstate.window_rooview.forwardSearch(change_focus);\n\t\t\t}\n\t\t\n\t\t\tbreak;\n\t}\n\t\n}\n"
667 "* pack" : "pack_end,false,true,0",
673 "button_press_event" : "() => {\n/*\n if (this.popup == null) {\n this.popup = new Xcls_ValaCompileErrors();\n this.popup.window = _this;\n }\n \n \n this.popup.show(this.notices, this.el);\n */\n return true;\n}"
675 "bool always_show_image" : true,
676 "id" : "search_results",
677 "Xcls_ValaCompileErrors popup" : "",
678 "string label" : "Matches",
680 "xtype" : "ImageMenuItem",
684 "* pack" : "set_image",
686 "utf8 icon_name" : "system-search",
687 "bool sensitive" : false,
693 "id" : "statusbar_compilestatus_label",
695 "xtype" : "MenuItem",
696 "string label" : "Compile Status:",
701 "button_press_event" : "() => {\n if (this.popup == null) {\n this.popup = new Xcls_ValaCompileErrors();\n this.popup.window = _this;\n }\n \n \n this.popup.show(this.notices, this.el);\n return true;\n}"
703 "bool always_show_image" : true,
704 "id" : "statusbar_errors",
705 "| void setNotices" : "(Json.Object nots, int qty) {\n this.el.show();\n this.el.label = qty.to_string() + \" Errors\";\n this.notices = nots;\n\n}\n",
706 "Xcls_ValaCompileErrors popup" : "",
707 "string label" : "Errors",
709 "xtype" : "ImageMenuItem",
710 "# Json.Object notices" : "new Json.Object() ",
715 "utf8 icon_name" : "dialog-error",
716 "* pack" : "set_image",
723 "button_press_event" : "() => {\n if (this.popup == null) {\n this.popup = new Xcls_ValaCompileErrors();\n this.popup.window = _this;\n }\n \n this.popup.show(this.notices, this.el);\n return true;\n}"
725 "bool always_show_image" : true,
726 "id" : "statusbar_warnings",
727 "| void setNotices" : "(Json.Object nots, int qty) {\n this.el.show();\n this.el.label = qty.to_string() + \" Warnings\";\n this.notices = nots;\n\n}\n",
728 "Xcls_ValaCompileErrors popup" : "",
730 "string label" : "Warnings",
731 "xtype" : "ImageMenuItem",
732 "# Json.Object notices" : "new Json.Object()",
736 "* pack" : "set_image",
738 "utf8 icon_name" : "dialog-warning",
745 "button_press_event" : "() => {\n if (this.popup == null) {\n this.popup = new Xcls_ValaCompileErrors();\n this.popup.window = _this;\n }\n \n \n this.popup.show(this.notices, this.el);\n return true;\n}"
747 "bool always_show_image" : true,
748 "id" : "statusbar_depricated",
749 "| void setNotices" : "(Json.Object nots, int qty) {\n this.el.show();\n this.el.label = qty.to_string() + \" Depricated\";\n this.notices = nots;\n\n}\n",
750 "Xcls_ValaCompileErrors popup" : "",
751 "string label" : "Depricated",
753 "xtype" : "ImageMenuItem",
754 "# Json.Object notices" : "new Json.Object()",
758 "utf8 icon_name" : "dialog-information",
759 "* pack" : "set_image",
767 "button_press_event" : "() => {\n\tif (_this.windowstate.file == null) {\n\t\treturn true;\n\t}\n\t_this.windowstate.valasource.spawnExecute(_this.windowstate.file);\n\t\n\t_this.windowstate.compile_results.show(this.el,true);\n\t\n\treturn true;\n}"
769 "bool always_show_image" : true,
770 "id" : "statusbar_run",
771 "Xcls_ValaCompileErrors popup" : "",
772 "string label" : "Run",
774 "xtype" : "ImageMenuItem",
778 "* pack" : "set_image",
780 "utf8 icon_name" : "media-playback-start",