resources/RooUsage.txt
[app.Builder.js] / src / Builder4 / DialogTemplateSelect.bjs
1 {
2  "name" : "DialogTemplateSelect",
3  "parent" : "",
4  "title" : "",
5  "path" : "/home/alan/gitlive/app.Builder.js/src/Builder4/DialogTemplateSelect.bjs",
6  "permname" : "",
7  "modOrder" : "",
8  "build_module" : "builder",
9  "items" : [
10   {
11    "listeners" : {
12     "delete_event" : "  (self, event)  =>{\n    this.el.hide();\n    return true;\n} "
13    },
14    "default_width" : 400,
15    "title" : "Add an Object",
16    "xtype" : "Dialog",
17    "default_height" : 200,
18    "$ modal" : true,
19    "$ xns" : "Gtk",
20    "| JsRender.Node? show" : " (Xcls_MainWindow mwindow, Palete.Palete pal, JsRender.Node node, Project.Project project) {\n    \n    this.el.show_all();\n    var opts = pal.listTemplates(node);\n    if (opts.length() < 1) {\n        this.el.hide();\n        return node;\n    }\n    this.el.set_attached_to( mwindow.el);\n    this.el.set_transient_for( mwindow.el);\n    \n    //opts.unshift({ path: '' , name :'Just add Element' });\n     _this.model.loadData(opts);\n     _this.combo.el.set_active(-1);\n     \n     \n     var db =  new Palete.RooDatabase.from_project(project);\n     _this.dbmodel.loadData(db.readTablesGee());\n     \n     var plug = mwindow.windowstate.webkit_plugin;\n     \n     _this.dbcombo.el.set_active(-1);\n     \n     \n   \n    var res = this.el.run();\n    this.el.hide();    \n    //var ix = _this.combo.el.get_active();\n    if (res < 1 ) {\n        return null; // 0 = cancel.\n    }\n    if (res < 2 ) {\n        return node; // 1 = just add it..\n    }\n    \n    // have they selected a table??\n    \n   Gtk.TreeIter iter; \n    Value vfname;   \n    if (_this.dbcombo.el.get_active_iter (out iter)) {    \n         this.dbmodel.el.get_value (iter, 0, out vfname);\n         if (((string)vfname).length > 0 && plug.has_plugin(node.fqn())) {\n            var json_str = plug.show(mwindow.el, project, node.fqn(), (string)vfname);\n            print(\"json_str = %s\\n\", json_str);\n            if (json_str.length < 1) {\n\n                return node;\n            }\n            var pa = new Json.Parser();\n            try {\n\n\t        pa.load_from_data(json_str);\n\t    } catch(Error e) {\n\t        return node;\n\t    }\n\t    var new_node = pa.get_root();\n    \n\t    if (new_node.get_node_type () != Json.NodeType.OBJECT) {\n\t\t    return node;\n\t    }\n\t    var obj = new_node.get_object ();\n\n\t    var ret = new JsRender.Node();\n\n\t    ret.loadFromJson(obj, 1);\n\t    return ret;\n         }\n        \n    }\n\n    if (!_this.combo.el.get_active_iter (out iter)) {\n\n        return node; // nothing selected...\n    }\n   \n    this.model.el.get_value (iter, 0, out vfname);\n    \n    \n    return pal.loadTemplate((string)vfname);\n\n}\n",
21    "items" : [
22     {
23      "xtype" : "Box",
24      "$ pack" : "get_content_area().add ",
25      "$ xns" : "Gtk",
26      "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
27      "items" : [
28       {
29        "* pack" : "pack_start,false,false,0",
30        "xtype" : "Box",
31        "gint margin" : 3,
32        "$ xns" : "Gtk",
33        "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
34        "items" : [
35         {
36          "label" : "Select Template : ",
37          "xtype" : "Label",
38          "* pack" : "pack_start,false,false",
39          "$ xns" : "Gtk"
40         },
41         {
42          "id" : "combo",
43          "* init" : "this.el.add_attribute(_this.cellrenderer.el , \"markup\", 1 );",
44          "xtype" : "ComboBox",
45          "* pack" : "add",
46          "$ xns" : "Gtk",
47          "items" : [
48           {
49            "id" : "cellrenderer",
50            "xtype" : "CellRendererText",
51            "* pack" : "pack_start,true",
52            "$ xns" : "Gtk"
53           },
54           {
55            "id" : "model",
56            "* pack" : "set_model",
57            "xtype" : "ListStore",
58            "$ columns" : "typeof(string),typeof(string)",
59            "n_columns" : 2,
60            "$ xns" : "Gtk",
61            "| void loadData" : "  (GLib.List<string> data) {\n    this.el.clear();                                    \n    Gtk.TreeIter iter;\n    var el = this.el;\n    \n   /// el.append(out iter);\n    \n     \n   // el.set_value(iter, 0, \"\");\n   // el.set_value(iter, 1, \"aaa  - Just add Element - aaa\");\n    \n    for (var i = 0; i < data.length();i++) {\n    \n\n        el.append(out iter);\n        var str = data.nth_data(i);\n        var fn = Path.get_basename (str);\n        fn.replace(\".json\", \"\");\n        \n        el.set_value(iter, 0, str);\n        el.set_value(iter, 1, fn);\n        \n    }\n    this.el.set_sort_column_id(1, Gtk.SortType.ASCENDING);          \n                                     \n}\n"
62           }
63          ]
64         }
65        ]
66       },
67       {
68        "* pack" : "pack_start,false,false,0",
69        "xtype" : "Box",
70        "gint margin" : 3,
71        "$ xns" : "Gtk",
72        "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
73        "items" : [
74         {
75          "label" : "Select Database Table : ",
76          "xtype" : "Label",
77          "* pack" : "pack_start,false,false",
78          "$ xns" : "Gtk"
79         },
80         {
81          "id" : "dbcombo",
82          "* init" : "this.el.add_attribute(_this.dbcellrenderer.el , \"markup\", 1 );",
83          "xtype" : "ComboBox",
84          "* pack" : "add",
85          "$ xns" : "Gtk",
86          "items" : [
87           {
88            "id" : "dbcellrenderer",
89            "xtype" : "CellRendererText",
90            "* pack" : "pack_start,true",
91            "$ xns" : "Gtk"
92           },
93           {
94            "id" : "dbmodel",
95            "* pack" : "set_model",
96            "xtype" : "ListStore",
97            "$ columns" : "typeof(string),typeof(string)",
98            "n_columns" : 2,
99            "$ xns" : "Gtk",
100            "| void loadData" : "  (Gee.ArrayList<string> data) {\n    this.el.clear();                                    \n    Gtk.TreeIter iter;\n    var el = this.el;\n    \n   /// el.append(out iter);\n    \n     \n   // el.set_value(iter, 0, \"\");\n   // el.set_value(iter, 1, \"aaa  - Just add Element - aaa\");\n\n    el.append(out iter);\n\n    \n    el.set_value(iter, 0, \"\");\n    el.set_value(iter, 1, \"-- select a table --\");\n    \n    \n    for (var i = 0; i < data.size;i++) {\n    \n\n        el.append(out iter);\n        \n        el.set_value(iter, 0, data.get(i));\n        el.set_value(iter, 1, data.get(i));\n        \n    }\n     this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          \n                                     \n}\n"
101           }
102          ]
103         }
104        ]
105       }
106      ]
107     },
108     {
109      "label" : "Cancel",
110      "xtype" : "Button",
111      "* pack" : "add_action_widget,0",
112      "$ xns" : "Gtk"
113     },
114     {
115      "label" : "Just add it",
116      "* pack" : "add_action_widget,1",
117      "xtype" : "Button",
118      "$ xns" : "Gtk"
119     },
120     {
121      "label" : "OK",
122      "xtype" : "Button",
123      "* pack" : "add_action_widget,2",
124      "$ xns" : "Gtk"
125     }
126    ]
127   }
128  ]
129 }