FixBug.bjs
authorAlan Knowles <alan@akbkhome.com>
Wed, 30 Mar 2011 08:38:47 +0000 (16:38 +0800)
committerAlan Knowles <alan@akbkhome.com>
Wed, 30 Mar 2011 08:38:47 +0000 (16:38 +0800)
FixBug.bjs

index cc77c26..0ac3f4b 100644 (file)
@@ -4,7 +4,89 @@
     "parent": "",
     "title": false,
     "path": "/home/alan/gitlive/gitlive/FixBug.bjs",
-    "items": [],
+    "items": [
+        {
+            "|xns": "Gtk",
+            "xtype": "Dialog",
+            "default_height": 500,
+            "default_width": 600,
+            "|deletable": true,
+            "|modal": true,
+            "border_width": 3,
+            "title": "Project Properties",
+            "|show": "function(c) {\n       c = c || { name : '' , xtype : '' };\n    this.project  = c;\n    if (!this.el) {\n        this.init();\n    }\n    var _this = this;\n    [ 'xtype'  ].forEach(function(k) {\n        _this.get(k).setValue(typeof(c[k]) == 'undefined' ? '' : c[k]);\n    });\n\t// shouild set path..\n    \n    this.el.show_all();\n    this.success = c.success;\n}\n",
+            "listeners": {
+                "destroy_event": "function (self, event) {\n     this.el.hide();\n                return false;\n}",
+                "response": "function (self, id) {\n if (id < 1) {\n            this.el.hide();\n            return;\n        }\n        if (!this.get('xtype').getValue().length) {\n            this.get('/StandardErrorDialog').show(\"You have to set Project type\");             \n            return;\n        }\n        if (!this.get('dir').el.get_filename().length) {\n            this.get('/StandardErrorDialog').show(\"You have to select a folder\");             \n            return;\n        }\n\n        this.el.hide();\n        \n        \n        var fn = this.get('dir').el.get_filename();\n        \n        this.project.name  = GLib.basename(fn);\n        this.project.xtype  = this.get('xtype').getValue();\n        this.project.paths = {};\n        this.project.paths[fn] =  'dir' ;\n        \n        var pr = imports.Builder.Provider.ProjectManager.ProjectManager.update(this.project);\n        \n        this.success(pr);\n        Seed.print(id);\n}"
+            },
+            "items": [
+                {
+                    "|xns": "Gtk",
+                    "xtype": "VBox",
+                    "|pack": " function(p,e) {\n            p.el.get_content_area().add(e.el)\n        }\n",
+                    "items": [
+                        {
+                            "|xns": "Gtk",
+                            "xtype": "HBox",
+                            "pack": "pack_start,false,true,3",
+                            "items": [
+                                {
+                                    "|xns": "Gtk",
+                                    "xtype": "Label",
+                                    "pack": "pack_start,false,true,3",
+                                    "label": "Project type :"
+                                },
+                                {
+                                    "|xns": "Gtk",
+                                    "xtype": "ComboBox",
+                                    "pack": "pack_end,true,true,3",
+                                    "id": "xtype",
+                                    "|setValue": "function(v)\n                {\n                    var el = this.el;\n                    el.set_active(-1);\n                    this.get('model').data.forEach(function(n, ix) {\n                        if (v == n.xtype) {\n                            el.set_active(ix);\n                            return false;\n                        }\n                    });\n                }",
+                                    "|getValue": "function() {\n     var ix = this.el.get_active();\n            if (ix < 0 ) {\n                return '';\n            }\n            return this.get('model').data[ix].xtype;\n}\n",
+                                    "|init": "function() {\n    XObject.prototype.init.call(this);\n  this.el.add_attribute(this.items[0].el , 'markup', 1 );  \n}\n",
+                                    "items": [
+                                        {
+                                            "|xns": "Gtk",
+                                            "xtype": "CellRendererText",
+                                            "pack": "pack_start"
+                                        },
+                                        {
+                                            "|xns": "Gtk",
+                                            "xtype": "ListStore",
+                                            "pack": "set_model",
+                                            "|init": "function() {\n    XObject.prototype.init.call(this);\n\n                            this.el.set_column_types ( 2, [\n                                GObject.TYPE_STRING,  // real key\n                                GObject.TYPE_STRING // real type\n                                \n                                \n                            ] );\n                            \n                            this.data = [\n                                { xtype: 'Roo', desc : \"Roo Project\" },\n                                { xtype: 'Gtk', desc : \"Gtk Project\" },    \n                                //{ xtype: 'JS', desc : \"Javascript Class\" }\n                            ]\n                            \n                            this.loadData(this.data);\n                                \n}\n",
+                                            "|loadData": "function (data) {\n                                            \n            var iter = new Gtk.TreeIter();\n            var el = this.el;\n            data.forEach(function(p) {\n                \n                el.append(iter);\n                \n                 \n                el.set_value(iter, 0, p.xtype);\n                el.set_value(iter, 1, p.desc);\n                \n            });\n              \n                                     \n}\n",
+                                            "id": "model"
+                                        }
+                                    ]
+                                }
+                            ]
+                        },
+                        {
+                            "|xns": "Gtk",
+                            "xtype": "FileChooserWidget",
+                            "pack": "pack_end,true,true,5",
+                            "|action": "Gtk.FileChooserAction.SELECT_FOLDER",
+                            "id": "dir",
+                            "|select_multiple": false
+                        }
+                    ]
+                },
+                {
+                    "|xns": "Gtk",
+                    "xtype": "Button",
+                    "pack": "add_action_widget,1",
+                    "label": "OK"
+                },
+                {
+                    "|xns": "Gtk",
+                    "xtype": "Button",
+                    "pack": "add_action_widget,0",
+                    "label": "Cancel"
+                }
+            ]
+        }
+    ],
     "permname": "",
     "modOrder": "0"
 }
\ No newline at end of file