Builder4/WindowLeftProps.bjs
authorAlan Knowles <alan@akbkhome.com>
Sun, 13 Jul 2014 08:09:01 +0000 (16:09 +0800)
committerAlan Knowles <alan@akbkhome.com>
Sun, 13 Jul 2014 08:09:01 +0000 (16:09 +0800)
Builder4/WindowLeftProps.js
Builder4/WindowLeftProps.vala

Builder4/WindowLeftProps.bjs
Builder4/WindowLeftProps.js
Builder4/WindowLeftProps.vala

index e8fbc75..d1fecf3 100644 (file)
@@ -6,7 +6,6 @@
     "path": "/home/alan/gitlive/app.Builder.js/Builder4/WindowLeftProps.bjs",
     "items": [
         {
-            "|void:finish_editing": "() {\n     // \n    this.before_edit();\n}",
             ".JsRender.JsRender:file": "",
             ".JsRender.Node:node": "",
             ".signal:void:changed": "()",
@@ -18,6 +17,7 @@
             "|void:addProp": " (string type, string key, string value) {\n      // info includes key, val, skel, etype..\n      //console.dump(info);\n        //type = info.type.toLowerCase();\n        //var data = this.toJS();\n        \n \n            \n    if (type == \"listener\") {\n        if (this.node.listeners.has_key(key)) {\n            return;\n        }\n        this.node.listeners.set(key,value);\n    } else  {\n    \n        if (this.node.props.has_key(key)) {\n            return;\n        }\n        this.node.props.set(key,value);\n    }\n           \n      \n    // add a row???\n    this.load(this.file, this.node);\n    \n    \n    \n    /// need to find the row which I've just added..\n    \n    \n    var s = this.view.el.get_selection();\n    s.unselect_all();\n    \n  \n    this.model.el.foreach((model, path, iter) => {\n        GLib.Value gval;\n    \n        this.model.el.get_value(iter, 0 , out gval);\n        if ((string)gval != type) {\n            return false;\n        }\n        this.model.el.get_value(iter, 1 , out gval);\n        if ((string)gval != key) {\n            return false;\n        }\n        s.select_iter(iter);\n        return true; \n    });\n    \n    \n    this.startEditingValue();\n              \n}\n",
             "|void:before_edit": "()\n{\n_this.keyrender.el.stop_editing(false);\n_this.valrender.el.stop_editing(false);\n// technicall stop the popup editor..\n\n}\n",
             "|void:deleteSelected": " () {\n    \n            Gtk.TreeIter iter;\n            Gtk.TreeModel mod;\n            \n            var s = this.view.el.get_selection();\n            s.get_selected(out mod, out iter);\n                 \n                  \n            GLib.Value gval;\n            mod.get_value(iter, 0 , out gval);\n            var type = (string)gval;\n            \n            mod.get_value(iter, 1 , out gval);\n            var key = (string)gval;\n            \n            switch(type) {\n                case \"listener\":\n                    this.node.listeners.remove(key);\n                    break;\n                    \n                case \"prop\":\n                    this.node.props.remove(key);\n                    break;\n            }\n            this.load(this.file, this.node);\n            \n            _this.changed();\n}",
+            "|void:finish_editing": "() {\n     // \n    this.before_edit();\n}",
             "|void:load": "(JsRender.JsRender file, JsRender.Node? node) \n{\n    \n    this.before_edit();\n    this.node = node;\n    this.file = file;\n    \n \n    this.model.el.clear();\n              \n    //this.get('/RightEditor').el.hide();\n    if (node ==null) {\n        return ;\n    }\n     \n    \n\n    //var provider = this.get('/LeftTree').getPaleteProvider();\n    Gtk.TreeIter iter;\n    \n    \n    // really need a way to sort the hashmap...\n    var m = this.model.el;\n    \n    var miter = node.listeners.map_iterator();\n    \n    while(miter.next()) {\n        m.append(out iter,null);\n        m.set(iter, \n                0, \"listener\",\n                1, miter.get_key(),\n                2, \"<b>\" + miter.get_key() + \"</b>\",\n                3, miter.get_value()\n            ); \n     }\n     \n      \n    miter = node.props.map_iterator();\n    \n    \n   while(miter.next()) {\n        m.append(out iter,null);\n        m.set(iter, \n                0, \"props\",\n                1, miter.get_key(),\n                2,  miter.get_key() ,\n                3, miter.get_value()\n            ); \n   }\n    \n}\n",
             "|void:startEditingKey": "() {\n    \n     \n    \n    Gtk.TreeIter iter;\n    Gtk.TreeModel mod;\n    \n    var s = this.view.el.get_selection();\n    s.get_selected(out mod, out iter);\n         \n  \n    // others... - fill in options for true/false?\n    \n    this.keyrender.el.editable = true;\n    this.view.el.set_cursor_on_cell(\n        mod.get_path(iter),\n        this.keycol.el,\n        this.keyrender.el,\n        true\n    );\n    \n    \n}\n",
             "|void:startEditingValue": "() {\n            \n             \n            \n            Gtk.TreeIter iter;\n            Gtk.TreeModel mod;\n            \n            var s = this.view.el.get_selection();\n            s.get_selected(out mod, out iter);\n                 \n            /*\n                m.set(iter, \n                        0, \"listener\",\n                        1, miter.get_key(),\n                        2, \"<b>\" + miter.get_key() + \"</b>\",\n                        3, miter.get_value()\n                    ); \n             \n            */\n            GLib.Value gval;\n            mod.get_value(iter, 3 , out gval);\n            var val = (string)gval;\n        \n            mod.get_value(iter, 1 , out gval);\n            var key = (string)gval;\n            \n            mod.get_value(iter, 0 , out gval);\n            var type = (string)gval;\n            \n            var use_textarea = false;\n            \n            if (type == \"listener\") {\n                use_textarea = true;\n            }\n            if (key.length > 0 && key[0] == '|') {\n                use_textarea = true;\n            }\n            if (use_textarea) {\n                this.show_editor(file, node, type, key);\n                return;\n            }\n            // others... - fill in options for true/false?\n            \n            this.keyrender.el.editable = true;\n            this.view.el.set_cursor_on_cell(\n                mod.get_path(iter),\n                this.valcol.el,\n                this.valrender.el,\n                true\n            );\n            \n            \n        }\n",
index faf2afb..7747665 100644 (file)
@@ -11,10 +11,6 @@ console = imports.console;
 XObject = imports.XObject.XObject;
 WindowLeftProps=new XObject({
     xtype: Gtk.VBox,
-    'void:finish_editing' : () {
-         // 
-        this.before_edit();
-    },
     id : "LeftProps",
     homogeneous : false,
     'void:addProp' : (string type, string key, string value) {
@@ -106,6 +102,10 @@ WindowLeftProps=new XObject({
                 
                 _this.changed();
     },
+    'void:finish_editing' : () {
+         // 
+        this.before_edit();
+    },
     'void:load' : (JsRender.JsRender file, JsRender.Node? node) 
     {
         
index f67f2a7..6247034 100644 (file)
@@ -58,10 +58,6 @@ public class Xcls_LeftProps : Object
     }
 
     // userdefined functions 
-    public void finish_editing() {
-             // 
-            this.before_edit();
-        }
     public void addProp (string type, string key, string value) {
               // info includes key, val, skel, etype..
               //console.dump(info);
@@ -151,6 +147,10 @@ public class Xcls_LeftProps : Object
                     
                     _this.changed();
         }
+    public void finish_editing() {
+             // 
+            this.before_edit();
+        }
     public void load(JsRender.JsRender file, JsRender.Node? node) 
         {