src/Builder4/Editor.bjs
[app.Builder.js] / src / Builder4 / Editor.bjs
index 49d5308..0345662 100644 (file)
@@ -9,17 +9,20 @@
  "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" : "",
    "# string ptype" : "\"\"",
    "bool hexpand" : true,
+   "| int search" : "(string txt) {\n\n\tvar s = new Gtk.SourceSearchSettings();\n\t\n\tthis.searchcontext = new Gtk.SourceSearchContext(this.buffer.el,s);\n\tthis.searchcontext .set_highlight(true);\n\ts.set_search_text(txt);\n\tGtk.TextIter beg, st,en;\n\t \n\tthis.buffer.el.get_start_iter(out beg);\n\tthis.searchcontext.forward(beg, out st, out en);\n\tthis.last_search_end = 0;\n\t\n\treturn this.searchcontext.get_occurrences_count();\n\n \n   \n\n}\n",
+   "int last_search_end" : 0,
    "# string key" : "\"\"",
    "* pack" : "add",
    "xtype" : "Box",
-   "|   void show" : "(JsRender.JsRender file, JsRender.Node? node, string ptype, string key)\n{\n    this.file = file;    \n    this.ptype = \"\";\n    this.key  = \"\";\n    this.node = null;\n\n    \n    if (file.xtype != \"PlainFile\") {\n    \n        this.ptype = ptype;\n        this.key  = key;\n        this.node = node;\n         string val = \"\";\n        // find the text for the node..\n        if (ptype == \"listener\") {\n            val = node.listeners.get(key);\n        \n        } else {\n            val = node.props.get(key);\n        }\n        this.view.load(val);\n        this.key_edit.el.show();\n        this.key_edit.el.text = key;  \n    \n    } else {\n        this.view.load(        file.toSource() );\n        this.key_edit.el.hide();\n    }\n\n       \n}",
+   "Gtk.SourceSearchContext searchcontext" : "null",
+   "|   void show" : "(JsRender.JsRender file, JsRender.Node? node, string ptype, string key)\n{\n    this.file = file;    \n    this.ptype = \"\";\n    this.key  = \"\";\n    this.node = null;\n\tthis.searchcontext = null;\n    \n    if (file.xtype != \"PlainFile\") {\n    \n        this.ptype = ptype;\n        this.key  = key;\n        this.node = node;\n         string val = \"\";\n        // find the text for the node..\n        if (ptype == \"listener\") {\n            val = node.listeners.get(key);\n        \n        } else {\n            val = node.props.get(key);\n        }\n        this.view.load(val);\n        this.key_edit.el.show();\n        this.key_edit.el.text = key;  \n    \n    } else {\n        this.view.load(        file.toSource() );\n        this.key_edit.el.hide();\n    }\n\n       \n}",
    "# JsRender.JsRender file" : "null",
    "# bool pos" : false,
    "string id" : "Editor",
@@ -28,6 +31,7 @@
    "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
    "@ void save" : "()",
    "$ homogeneous" : false,
+   "| void forwardSearch" : "() {\n\n\tif (this.searchcontext == null) {\n\t\treturn;\n\t}\n\t\n\tGtk.TextIter beg, st,en;\n\t \n\tthis.buffer.el.get_iter_at_offset(out beg, this.last_search_end);\n\tthis.searchcontext.forward(beg, out st, out en);\n\tthis.last_search_end = en.get_offset();\n\t\n\tthis.view.el.grab_focus();\n\tthis.buffer.el.place_cursor(st);\n\t\n\t\n\n}\n",
    "# JsRender.Node node" : "null",
    "items" : [
     {