resources/roo.builder.js
authorEdward <edward@roojs.com>
Thu, 11 Jun 2015 03:06:41 +0000 (11:06 +0800)
committerEdward <edward@roojs.com>
Thu, 11 Jun 2015 03:06:41 +0000 (11:06 +0800)
src/Builder4/Editor.bjs
src/Builder4/Editor.vala
src/Builder4/MainWindow.bjs
src/Builder4/MainWindow.vala
resources/RooUsage.txt

resources/RooUsage.txt
resources/roo.builder.js
src/Builder4/Editor.bjs
src/Builder4/Editor.vala
src/Builder4/MainWindow.bjs

index eb0011d..7a671c0 100644 (file)
@@ -473,6 +473,10 @@ right:
     Roo.bootstrap.Container
     Roo.bootstrap.Row
     Roo.bootstrap.TabPanel
+    Roo.bootstrap.DateField
+    Roo.bootstrap.TimeField
+    Roo.bootstrap.CheckBox
+    Roo.bootstrap.Radio
 //    Roo.bootstrap.Fieldset
         
 left:
index bf08085..374c5ec 100644 (file)
@@ -331,10 +331,16 @@ Builder  = {
             //Roo.log("add flexy:if");
             tree.el.attr('flexy:include', tree['flexy:include']);
         }
+        
+        if (typeof(tree['flexy:ignore']) != 'undefined') {
+            //Roo.log("add flexy:if");
+            tree.el.attr('flexy:ignore', tree['flexy:ignore']);
+        }
+        
         //Roo.log("Add xtype")
         tree.el.attr('xtype', tree['|xns'] + '.' +  tree['xtype']);
         if (!tree.items || !tree.items.length) { return; }
-        
+        //Roo.log(tree);
         for (var i = 0; i < tree.items.length; i++){
             this.applyFlexy(tree.items[i]);
         }
index fff1b3c..152ade2 100644 (file)
@@ -9,8 +9,8 @@
  "items" : [
   {
    "# Xcls_MainWindow window" : "null",
-   "# string activeEditor" : "\"\"",
    "|   bool saveContents" : "  ()  {\n    \n    \n    if (_this.file == null) {\n        return true;\n    }\n    \n    \n   \n   \n     \n     var str = _this.buffer.toString();\n     \n     _this.buffer.checkSyntax();\n     \n     \n     \n     // LeftPanel.model.changed(  str , false);\n     _this.dirty = false;\n     _this.save_button.el.sensitive = false;\n     \n    // find the text for the node..\n    if (_this.file.xtype != \"PlainFile\") {\n        if (ptype == \"listener\") {\n            this.node.listeners.set(key,str);\n        \n        } else {\n             this.node.props.set(key,str);\n        }\n    } else {\n        _this.file.setSource(  str );\n     }\n    \n    // call the signal..\n    this.save();\n    \n    return true;\n\n} ",
+   "# string activeEditor" : "\"\"",
    "| void scroll_to_line" : "(int line) {\n\n\tGLib.Timeout.add(500, () => {\n   \n\t\tvar buf = this.view.el.get_buffer();\n\n\t\tvar sbuf = (Gtk.SourceBuffer) buf;\n\n\n\t\tGtk.TextIter iter;   \n\t\tsbuf.get_iter_at_line(out iter,  line);\n\t\tthis.view.el.scroll_to_iter(iter,  0.1f, true, 0.0f, 0.5f);\n\t\treturn false;\n\t});   \n}\n",
    "# int pos_root_x" : "",
    "# int pos_root_y" : "",
@@ -53,8 +53,8 @@
       },
       {
        "id" : "key_edit",
-       "xtype" : "Entry",
        "* pack" : "pack_end,true,true",
+       "xtype" : "Entry",
        "$ xns" : "Gtk"
       }
      ]
@@ -72,7 +72,7 @@
        },
        "gboolean show_line_marks" : true,
        "id" : "view",
-       "* init" : " \n    \n\t\tvar description =   Pango.FontDescription.from_string(\"monospace\");\n\t\tdescription.set_size(8000);\n\t\t this.el.override_font(description);\n    \n   \n\tthis.el.completion.add_provider(new Palete.CompletionProvider(_this));\n\tthis.el.completion.unblock_interactive();\n\tthis.el.completion.select_on_show\t\t\t= true; // select\n\tthis.el.completion.show_headers\t\t\t= false;\n\tthis.el.completion.remember_info_visibility\t\t= true;\n    \n  \n    var attrs = new Gtk.SourceMarkAttributes();\n    var  pink =   Gdk.RGBA();\n    pink.parse ( \"pink\");\n    attrs.set_background ( pink);\n    attrs.set_icon_name ( \"process-stop\");    \n    attrs.query_tooltip_text.connect(( mark) => {\n        //print(\"tooltip query? %s\\n\", mark.name);\n        return mark.name;\n    });\n    \n    this.el.set_mark_attributes (\"ERR\", attrs, 1);\n    \n     var wattrs = new Gtk.SourceMarkAttributes();\n    var  blue =   Gdk.RGBA();\n    blue.parse ( \"#ABF4EB\");\n    wattrs.set_background ( blue);\n    wattrs.set_icon_name ( \"process-stop\");    \n    wattrs.query_tooltip_text.connect(( mark) => {\n        //print(\"tooltip query? %s\\n\", mark.name);\n        return mark.name;\n    });\n    \n    this.el.set_mark_attributes (\"WARN\", wattrs, 1);\n    \n \n    \n     var dattrs = new Gtk.SourceMarkAttributes();\n    var  purple =   Gdk.RGBA();\n    purple.parse ( \"#EEA9FF\");\n    dattrs.set_background ( purple);\n    dattrs.set_icon_name ( \"process-stop\");    \n    dattrs.query_tooltip_text.connect(( mark) => {\n        //print(\"tooltip query? %s\\n\", mark.name);\n        return mark.name;\n    });\n    \n    this.el.set_mark_attributes (\"DEPR\", dattrs, 1);\n    \n    ",
+       "* init" : " \n\n\t\tvar description =   Pango.FontDescription.from_string(\"monospace\");\n\t\tdescription.set_size(8000);\n\n\t\t this.el.override_font(description);\n\n\ttry {        \n\t\tthis.el.completion.add_provider(new Palete.CompletionProvider(_this));\n    } catch (GLib.Error  e) {}\n    \n\tthis.el.completion.unblock_interactive();\n\tthis.el.completion.select_on_show\t\t\t= true; // select\n\tthis.el.completion.show_headers\t\t\t= false;\n\tthis.el.completion.remember_info_visibility\t\t= true;\n    \n  \n    var attrs = new Gtk.SourceMarkAttributes();\n    var  pink =   Gdk.RGBA();\n    pink.parse ( \"pink\");\n    attrs.set_background ( pink);\n    attrs.set_icon_name ( \"process-stop\");    \n    attrs.query_tooltip_text.connect(( mark) => {\n        //print(\"tooltip query? %s\\n\", mark.name);\n        return mark.name;\n    });\n    \n    this.el.set_mark_attributes (\"ERR\", attrs, 1);\n    \n     var wattrs = new Gtk.SourceMarkAttributes();\n    var  blue =   Gdk.RGBA();\n    blue.parse ( \"#ABF4EB\");\n    wattrs.set_background ( blue);\n    wattrs.set_icon_name ( \"process-stop\");    \n    wattrs.query_tooltip_text.connect(( mark) => {\n        //print(\"tooltip query? %s\\n\", mark.name);\n        return mark.name;\n    });\n    \n    this.el.set_mark_attributes (\"WARN\", wattrs, 1);\n    \n \n    \n     var dattrs = new Gtk.SourceMarkAttributes();\n    var  purple =   Gdk.RGBA();\n    purple.parse ( \"#EEA9FF\");\n    dattrs.set_background ( purple);\n    dattrs.set_icon_name ( \"process-stop\");    \n    dattrs.query_tooltip_text.connect(( mark) => {\n        //print(\"tooltip query? %s\\n\", mark.name);\n        return mark.name;\n    });\n    \n    this.el.set_mark_attributes (\"DEPR\", dattrs, 1);\n    \n    ",
        "uint tab_width" : 4,
        "$ Gtk.SourceDrawSpacesFlags draw_spaces" : "Gtk.SourceDrawSpacesFlags.LEADING + Gtk.SourceDrawSpacesFlags.TRAILING + Gtk.SourceDrawSpacesFlags.TAB + Gtk.SourceDrawSpacesFlags.SPACE",
        "* pack" : "add",
@@ -90,8 +90,8 @@
           "changed" : " () => {\n    // check syntax??\n    // ??needed..??\n    _this.save_button.el.sensitive = true;\n    print(\"EDITOR CHANGED\");\n    this.checkSyntax();\n   \n    _this.dirty = true;\n\n    // this.get('/LeftPanel.model').changed(  str , false);\n    return ;\n}\n\n \n"
          },
          "bool check_queued" : false,
-         "id" : "buffer",
          "int error_line" : "-1",
+         "id" : "buffer",
          "| bool highlightErrors" : "( Gee.HashMap<int,string> validate_res) {\n         \n        this.error_line = validate_res.size;\n\n        if (this.error_line < 1) {\n              return true;\n        }\n        var tlines = this.el.get_line_count ();\n        Gtk.TextIter iter;\n        var valiter = validate_res.map_iterator();\n        while (valiter.next()) {\n        \n    //        print(\"get inter\\n\");\n            var eline = valiter.get_key();\n            if (eline > tlines) {\n                continue;\n            }\n            this.el.get_iter_at_line( out iter, eline);\n            //print(\"mark line\\n\");\n            this.el.create_source_mark(valiter.get_value(), \"ERR\", iter);\n        }   \n        return false;\n    }",
          "|   string toString" : "  () {\n    \n    Gtk.TextIter s;\n    Gtk.TextIter e;\n    this.el.get_start_iter(out s);\n    this.el.get_end_iter(out e);\n    var ret = this.el.get_text(s,e,true);\n    //print(\"TO STRING? \" + ret);\n    return ret;\n}\n ",
          "|   bool checkSyntax" : " () {\n \n    if (this.check_running) {\n        print(\"Check is running\\n\");\n        if (this.check_queued) { \n            print(\"Check is already queued\");\n            return true;\n        }\n        this.check_queued = true;\n        print(\"Adding queued Check \");\n        GLib.Timeout.add_seconds(1, () => {\n            this.check_queued = false;\n            \n            this.checkSyntax();\n            return false;\n        });\n    \n\n        return true;\n    }\n    var str = this.toString();\n    \n    // needed???\n    if (this.error_line > 0) {\n         Gtk.TextIter start;\n         Gtk.TextIter end;     \n        this.el.get_bounds (out start, out end);\n\n        this.el.remove_source_marks (start, end, null);\n    }\n    if (str.length < 1) {\n        print(\"checkSyntax - empty string?\\n\");\n        return true;\n    }\n    \n    if (_this.file.xtype == \"PlainFile\") {\n    \n        // assume it's gtk...\n           this.check_running = true;\n\n         if (!_this.window.windowstate.valasource.checkPlainFileSpawn(\n\t   _this.file,\n\t    str\n\t )) {\n            this.check_running = false;\n        }\n\t\n        return true;\n    \n    }\n   if (_this.file == null) {\n       return true;\n   }\n    var p = Palete.factory(_this.file.xtype);   \n    \n\n     \n    this.check_running = true;\n    \n    \n    if (_this.file.language == \"js\") {\n        this.check_running = false;\n        print(\"calling validate javascript\\n\"); \n        return this.highlightErrors(p.validateJavascript(\n            str, \n             _this.key, \n            _this.ptype,\n            _this.file,\n            _this.node\n        ));    \n        \n    }\n        \n        \n    print(\"calling validate vala\\n\");    \n    // clear the buttons.\n \n    \n   if (! _this.window.windowstate.valasource.checkFileWithNodePropChange(\n        _this.file,\n        _this.node,\n         _this.key,        \n         _this.ptype,\n            str\n        )) {\n        this.check_running = false;\n    } \n     \n    \n    \n    //print(\"done mark line\\n\");\n     \n    return true; // at present allow saving - even if it's invalid..\n}\n",
index 63742b9..7f73367 100644 (file)
@@ -334,10 +334,13 @@ public class Editor : Object
 
             var description =   Pango.FontDescription.from_string("monospace");
                        description.set_size(8000);
+            
                         this.el.override_font(description);
+            
+               try {        
+                       this.el.completion.add_provider(new Palete.CompletionProvider(_this));
+                } catch (GLib.Error  e) {}
                 
-               
-               this.el.completion.add_provider(new Palete.CompletionProvider(_this));
                this.el.completion.unblock_interactive();
                this.el.completion.select_on_show                       = true; // select
                this.el.completion.show_headers                 = false;
index 0aa76a7..78d571b 100644 (file)
@@ -32,8 +32,8 @@
    "items" : [
     {
      "id" : "headerbar",
-     "xtype" : "HeaderBar",
      "* pack" : "set_titlebar",
+     "xtype" : "HeaderBar",
      "bool show_close_button" : true,
      "$ xns" : "Gtk",
      "string title" : "Application Builder",
@@ -46,8 +46,8 @@
        "items" : [
         {
          "bool use_popover" : false,
-         "xtype" : "MenuButton",
          "* pack" : "add",
+         "xtype" : "MenuButton",
          "$ xns" : "Gtk",
          "items" : [
           {
@@ -61,9 +61,9 @@
              "listeners" : {
               "activate" : "  ( ) => {\n        Xcls_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}"
              },
+             "string label" : "Open a new Window",
              "* pack" : "append",
              "xtype" : "MenuItem",
-             "string label" : "Open a new Window",
              "$ xns" : "Gtk"
             },
             {
              "listeners" : {
               "activate" : " ( ) => {\n         Resources.singleton().fetchStart();\n}"
              },
+             "xtype" : "MenuItem",
              "string label" : "Download updated Resources",
              "* pack" : "append",
-             "xtype" : "MenuItem",
              "$ xns" : "Gtk"
             },
             {
              "listeners" : {
               "activate" : "() => {\n    About.singleton().el.show();\n    }"
              },
+             "* pack" : "append",
              "xtype" : "MenuItem",
              "string label" : "About the Builder",
-             "* pack" : "append",
              "$ xns" : "Gtk"
             }
            ]
           },
           {
+           "utf8 icon_name" : "help-about",
            "* pack" : "set_image",
            "xtype" : "Image",
-           "utf8 icon_name" : "help-about",
            "$ xns" : "Gtk"
           }
          ]
     },
     {
      "id" : "vbox",
-     "* pack" : "add",
      "xtype" : "Box",
+     "* pack" : "add",
      "$ xns" : "Gtk",
      "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
      "$ homogeneous" : false,
        "items" : [
         {
          "id" : "leftpane",
-         "xtype" : "Box",
          "* pack" : "add1",
+         "xtype" : "Box",
          "$ xns" : "Gtk",
          "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
          "items" : [
           {
            "id" : "editpane",
-           "xtype" : "Paned",
            "* pack" : "pack_start,true,true,0",
+           "xtype" : "Paned",
            "$ xns" : "Gtk",
            "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
            "items" : [
             {
              "id" : "tree",
-             "xtype" : "Box",
              "* pack" : "add1",
+             "xtype" : "Box",
              "$ xns" : "Gtk",
              "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL"
             },
             {
              "id" : "props",
-             "xtype" : "Box",
              "* pack" : "add2",
+             "xtype" : "Box",
              "$ xns" : "Gtk",
              "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL"
             }
                "items" : [
                 {
                  "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
-                 "xtype" : "Actor",
                  "* pack" : "add_child",
+                 "xtype" : "Actor",
                  "$ xns" : "GtkClutter",
                  "items" : [
                   {
                     "clicked" : "  ( ) => {\n  \n    _this.windowstate.switchState(WindowState.State.PREVIEW);\n    \n\n}"
                    },
                    "utf8 tooltip_text" : "Back",
-                   "* pack" : false,
                    "xtype" : "Button",
+                   "* pack" : false,
                    "width_request" : 50,
                    "$ xns" : "Gtk",
                    "height_request" : 50,
                    "items" : [
                     {
+                     "xtype" : "Image",
                      "utf8 icon_name" : "go-previous",
                      "* pack" : "set_image",
-                     "xtype" : "Image",
                      "$ xns" : "Gtk"
                     }
                    ]
                "items" : [
                 {
                  "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
-                 "* pack" : "add_child",
                  "xtype" : "Actor",
+                 "* pack" : "add_child",
                  "$ xns" : "GtkClutter",
                  "items" : [
                   {
                    "$ tooltop_text" : "\"Open File\"",
                    "items" : [
                     {
+                     "* pack" : "set_image",
                      "xtype" : "Image",
                      "utf8 icon_name" : "document-open",
-                     "* pack" : "set_image",
                      "$ xns" : "Gtk"
                     }
                    ]
                "items" : [
                 {
                  "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
-                 "* pack" : "add_child",
                  "xtype" : "Actor",
+                 "* pack" : "add_child",
                  "$ xns" : "GtkClutter",
                  "items" : [
                   {
                    "height_request" : 50,
                    "items" : [
                     {
+                     "utf8 icon_name" : "document-properties",
                      "* pack" : "set_image",
                      "xtype" : "Image",
-                     "utf8 icon_name" : "document-properties",
                      "$ xns" : "Gtk"
                     }
                    ]
                "items" : [
                 {
                  "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
-                 "* pack" : "add_child",
                  "xtype" : "Actor",
+                 "* pack" : "add_child",
                  "$ xns" : "GtkClutter",
                  "items" : [
                   {
                    "height_request" : 50,
                    "items" : [
                     {
+                     "xtype" : "Image",
                      "utf8 icon_name" : "emblem-system",
                      "* pack" : "set_image",
-                     "xtype" : "Image",
                      "$ xns" : "Gtk"
                     }
                    ]
                "items" : [
                 {
                  "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
-                 "* pack" : "add_child",
                  "xtype" : "Actor",
+                 "* pack" : "add_child",
                  "$ xns" : "GtkClutter",
                  "items" : [
                   {
                    "height_request" : 50,
                    "items" : [
                     {
+                     "* pack" : "set_image",
                      "xtype" : "Image",
                      "utf8 icon_name" : "list-add",
-                     "* pack" : "set_image",
                      "$ xns" : "Gtk"
                     }
                    ]
                "items" : [
                 {
                  "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
-                 "* pack" : "add_child",
                  "xtype" : "Actor",
+                 "* pack" : "add_child",
                  "$ xns" : "GtkClutter",
                  "items" : [
                   {
                    "height_request" : 50,
                    "items" : [
                     {
+                     "utf8 icon_name" : "format-justify-left",
                      "* pack" : "set_image",
                      "xtype" : "Image",
-                     "utf8 icon_name" : "format-justify-left",
                      "$ xns" : "Gtk"
                     }
                    ]
                "items" : [
                 {
                  "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
-                 "* pack" : "add_child",
                  "xtype" : "Actor",
+                 "* pack" : "add_child",
                  "$ xns" : "GtkClutter",
                  "items" : [
                   {
                    "height_request" : 50,
                    "items" : [
                     {
+                     "xtype" : "Image",
                      "utf8 icon_name" : "appointment-new",
                      "* pack" : "set_image",
-                     "xtype" : "Image",
                      "$ xns" : "Gtk"
                     }
                    ]
                "items" : [
                 {
                  "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
-                 "* pack" : "add_child",
                  "xtype" : "Actor",
+                 "* pack" : "add_child",
                  "$ xns" : "GtkClutter",
                  "items" : [
                   {
                    "height_request" : 50,
                    "items" : [
                     {
+                     "utf8 icon_name" : "folder-new",
                      "* pack" : "set_image",
                      "xtype" : "Image",
-                     "utf8 icon_name" : "folder-new",
                      "$ xns" : "Gtk"
                     }
                    ]
                "items" : [
                 {
                  "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
-                 "* pack" : "add_child",
                  "xtype" : "Actor",
+                 "* pack" : "add_child",
                  "$ xns" : "GtkClutter",
                  "items" : [
                   {
                    "height_request" : 50,
                    "items" : [
                     {
+                     "* pack" : "set_image",
                      "xtype" : "Image",
                      "utf8 icon_name" : "document-new",
-                     "* pack" : "set_image",
                      "$ xns" : "Gtk"
                     }
                    ]
                "items" : [
                 {
                  "* init" : "((Gtk.Container)(this.el.get_widget())).add ( child_0.el);",
-                 "* pack" : "add_child",
                  "xtype" : "Actor",
+                 "* pack" : "add_child",
                  "$ xns" : "GtkClutter",
                  "items" : [
                   {
                    "height_request" : 50,
                    "items" : [
                     {
+                     "utf8 icon_name" : "user-trash",
                      "* pack" : "set_image",
                      "xtype" : "Image",
-                     "utf8 icon_name" : "user-trash",
                      "$ xns" : "Gtk"
                     }
                    ]
       },
       {
        "bool homogeneous" : false,
-       "xtype" : "Box",
        "* pack" : "pack_end,false,true,0",
+       "xtype" : "Box",
        "$ xns" : "Gtk",
        "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
        "items" : [
         {
+         "* pack" : "pack_start,true,true,0",
          "xtype" : "Label",
          "string label" : "   ",
-         "* pack" : "pack_start,true,true,0",
          "$ xns" : "Gtk"
         },
         {
          "bool show_text" : true,
-         "id" : "statusbar",
          "ulong handler_id" : "-1",
+         "id" : "statusbar",
          "* 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",
          "xtype" : "ProgressBar",
          "* pack" : "pack_start,true,true,0",
          "id" : "search_entry",
          "* init" : "var description =   Pango.FontDescription.from_string(\"monospace\");\n\tdescription.set_size(8000);\n\t this.el.override_font(description);\n\n",
          "* pack" : "pack_start,false,true,0",
-         "xtype" : "Entry",
+         "xtype" : "SearchEntry",
          "$ xns" : "Gtk",
-         "| 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();\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}\n"
+         "| 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"
         },
         {
          "* pack" : "pack_end,false,true,0",
            "$ xns" : "Gtk",
            "items" : [
             {
+             "* pack" : "set_image",
              "xtype" : "Image",
              "utf8 icon_name" : "system-search",
-             "* pack" : "set_image",
              "bool sensitive" : false,
              "$ xns" : "Gtk"
             }
            ]
           },
           {
+           "xtype" : "MenuItem",
            "string label" : "Compile Status:",
            "* pack" : "add",
-           "xtype" : "MenuItem",
            "$ xns" : "Gtk"
           },
           {
            "$ xns" : "Gtk",
            "items" : [
             {
+             "xtype" : "Image",
              "utf8 icon_name" : "dialog-error",
              "* pack" : "set_image",
-             "xtype" : "Image",
              "$ xns" : "Gtk"
             }
            ]
            "$ xns" : "Gtk",
            "items" : [
             {
+             "* pack" : "set_image",
              "xtype" : "Image",
              "utf8 icon_name" : "dialog-warning",
-             "* pack" : "set_image",
              "$ xns" : "Gtk"
             }
            ]
            "$ xns" : "Gtk",
            "items" : [
             {
+             "utf8 icon_name" : "dialog-information",
              "* pack" : "set_image",
              "xtype" : "Image",
-             "utf8 icon_name" : "dialog-information",
              "$ xns" : "Gtk"
             }
            ]
            "$ xns" : "Gtk",
            "items" : [
             {
+             "* pack" : "set_image",
              "xtype" : "Image",
              "utf8 icon_name" : "media-playback-start",
-             "* pack" : "set_image",
              "$ xns" : "Gtk"
             }
            ]