Fix #8000 - left tree and file open
[roobuilder] / src / Builder4 / WindowLeftTree.bjs
index 27a5f8e..f2ea2be 100644 (file)
@@ -3,7 +3,7 @@
  "gen_extended" : false,
  "items" : [
   {
-   "# Xcls_MainWindow main_window" : "null",
+   "# Xcls_MainWindow? main_window" : "null",
    "$ xns" : "Gtk",
    "@ bool before_node_change" : "()",
    "@ void changed" : "()",
            "    \tGLib.warning(\"No node found at row %d\", row);",
            "    \treturn;",
            "\t}",
+           "\t",
+           "\t",
            "\t_this.model.selectNode(node);",
            "     ",
            "     ",
          },
          "xtype" : "EventControllerKey"
         },
+        {
+         "$ xns" : "Gtk",
+         "id" : "keystate",
+         "int is_shift" : 0,
+         "listeners" : {
+          "key_pressed" : [
+           "(keyval, keycode, state) => {",
+           "",
+           " \tif (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) {",
+           " \t\tthis.is_shift = 1;",
+           "\t}",
+           "\treturn true;",
+           "}",
+           ""
+          ],
+          "key_released" : [
+           "(keyval, keycode, state) => {",
+           "\tGLib.debug(\"key release %d, %d, %d\" , (int) keyval, (int)  keycode, state);",
+           " \tif (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) {",
+           " \t\tthis.is_shift = 0;",
+           "\t}",
+           "\t//GLib.debug(\"set state %d , shift = %d\", (int)this.el.get_current_event_state(), Gdk.ModifierType.SHIFT_MASK);",
+           "",
+           "",
+           " ",
+           "}"
+          ]
+         },
+         "xtype" : "EventControllerKey"
+        },
         {
          "$ xns" : "Gtk",
          "* ctor" : [
          ],
          "string title" : "Add",
          "xtype" : "ColumnViewColumn"
-        },
-        {
-         "$ xns" : "Gtk",
-         "id" : "keystate",
-         "int is_shift" : 0,
-         "listeners" : {
-          "key_pressed" : [
-           "(keyval, keycode, state) => {",
-           "",
-           " \tif (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) {",
-           " \t\tthis.is_shift = 1;",
-           "\t}",
-           "\treturn true;",
-           "}",
-           ""
-          ],
-          "key_released" : [
-           "(keyval, keycode, state) => {",
-           "\tGLib.debug(\"key release %d, %d, %d\" , (int) keyval, (int)  keycode, state);",
-           " \tif (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) {",
-           " \t\tthis.is_shift = 0;",
-           "\t}",
-           "\t//GLib.debug(\"set state %d , shift = %d\", (int)this.el.get_current_event_state(), Gdk.ModifierType.SHIFT_MASK);",
-           "",
-           "",
-           " ",
-           "}"
-          ]
-         },
-         "xtype" : "EventControllerKey"
         }
        ],
        "string name" : "left-tree-view",
         "\t\t\t\theader_height =  h;",
         "\t\t\t\t",
         "\t\t\t\treading_header = false;",
-        "\t\t\t\t",
+        "\t\t\t\tcontinue;",
         "\t        }",
         "\t\t    line_no++;",
         "",
         "",
         "\t\t\tvar hh = child.get_height();",
         "\t\t\t//GLib.debug(\"got cell xy = %d,%d  w,h= %d,%d\", alloc.x, alloc.y, alloc.width, alloc.height);",
-        "",
+        "\t\t\tif (child.has_css_class(\"node-err\") || ",
+        "\t\t\t\tchild.has_css_class(\"node-warn\") || ",
+        "\t\t\t\tchild.has_css_class(\"node-depr\")) {",
+        "\t\t\t\thh += 10;",
+        "\t\t\t",
+        "\t\t\t}\t",
         "\t\t    if (y > curr_y && y <= header_height + hh + curr_y ) {",
         "\t\t\t    return (Gtk.Widget)child;",
         "\t\t    }",
         "\t\t\t ",
         "\t\t\t\t",
         "\t\t\t\treading_header = false;",
-        "\t\t\t\t ",
+        "\t\t\t\tcontinue;",
         "\t\t    }",
         "\t\t    ",
         "\t\t  ",
         "\t\t\t\t}",
         "\t\t\t\t// should be columnlistview",
         "\t\t\t\tchild = child.get_first_child(); ",
-        "\t\t\t    GLib.debug(\"header height=%d\", h);",
+        "\t\t\t    //GLib.debug(\"header height=%d\", h);",
         "\t\t\t\theader_height =  h;",
         "\t\t\t\t",
         "\t\t\t\treading_header = false;",
+        "\t\t\t\tcontinue;",
         "\t\t\t\t",
         "\t        }",
         "\t        ",
         "\t\t    ",
         "\t\t    line_no++;",
         "\t\t\tvar hh = child.get_height();",
+        "\t\t\t",
+        "\t\t\tif (child.has_css_class(\"node-err\") || ",
+        "\t\t\t\tchild.has_css_class(\"node-warn\") || ",
+        "\t\t\t\tchild.has_css_class(\"node-depr\")) {",
+        "\t\t\t\thh += 10;",
+        "\t\t\t",
+        "\t\t\t}",
         "\t\t\t//child.get_allocation(out alloc);",
         "\t\t\t//GLib.debug(\"got cell xy = %d,%d  w,h= %d,%d\", alloc.x, alloc.y, alloc.width, alloc.height);",
         "\t\t\t//GLib.debug(\"row %d y= %d %s\", line_no, (int) (header_height + alloc.y),",
     "\tvar reading_header = true;",
     " ",
     "\twhile (child != null) {",
-    "\t\tGLib.debug(\"Got %s\", child.get_type().name());",
+    "\t\t//GLib.debug(\"Got %s\", child.get_type().name());",
     "\t   ",
     "\t   if (reading_header) {",
     "\t\t\t",
     "() {",
     "\tvar file = this.getActiveFile();",
     "\tvar ar = file.getErrors();",
-    "\tif (ar.size < 1) {",
-    "\t\tthis.removeErrors();",
+    "\t\tif (ar.size < 1) {",
+    "\t\tif (this.last_error_counter != file.error_counter) {",
+    "\t\t\tthis.removeErrors();",
+    "\t\t}",
+    "\t",
     "\t\tthis.last_error_counter = file.error_counter ;",
     "",
     "\t\treturn;",