~~~~~testfile.vala.c
[app.Builder.js] / src / Builder4 / Editor.bjs
index d8484e6..02a05f6 100644 (file)
          "listeners" : {
           "changed" : " () => {\n    // check syntax??\n        if(this.checkSyntax()) {\n        _this.save_button.el.sensitive = true;\n    }\n   // print(\"EDITOR CHANGED\");\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",
          "|   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        // then add a flag to say it's queued..\n        if (this.check_queued) {\n            return;\n        }\n        \n        this.check_queued = true;\n        GLib.Timeout.add_seconds(1,  ()  =>{\n            this.check_false = false;\n             this.checkSyntax(); \n             return false; // cancel timeout..\n         });\n        \n    \n        return true;\n    }\n    \n    this.check_running = true;\n    var p = Palete.factory(_this.file.xtype);   \n    \n    var str = this.toString();\n    \n    string res = \"\";\n    \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    \n    \n    \n    \n    p.validateCode.begin(\n        str, \n         _this.key, \n        _this.ptype,\n        _this.file,\n        _this.node,\n        (obj, res) => {\n            this.check_running = false;\n            var validate_res = p.validateCode.end(res);\n            this.error_line = validate_res.size;\n\n            if (this.error_line < 1) {\n                  return;\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(), \"error\", iter);\n            }   \n            \n        }\n        \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",
+         "|   bool checkSyntax" : " () {\n \n    if (this.check_running) {\n        return true;\n    }\n    this.check_running = true;\n    var p = Palete.factory(_this.file.xtype);   \n    \n    var str = this.toString();\n    \n    string res = \"\";\n    \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    \n    \n    \n    \n    p.validateCode.begin(\n        str, \n         _this.key, \n        _this.ptype,\n        _this.file,\n        _this.node,\n        (obj, res) => {\n            this.check_running = false;\n            var validate_res = p.validateCode.end(res);\n            this.error_line = validate_res.size;\n\n            if (this.error_line < 1) {\n                  return;\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(), \"error\", iter);\n            }   \n            \n        }\n        \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",
          "* pack" : "set_buffer",
          "xtype" : "Buffer",
          "bool check_running" : false,
-         "$ xns" : "GtkSource",
-         "bool XXX" : true
+         "$ xns" : "GtkSource"
         }
        ]
       }