src/Builder4/DialogTemplateSelect.bjs
[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  "items" : [
9   {
10    "listeners" : {
11     "delete_event" : "  (self, event)  =>{\n    this.el.hide();\n    return true;\n}"
12    },
13    "default_width" : 400,
14    "title" : "Add an Object",
15    "xtype" : "Dialog",
16    "default_height" : 200,
17    "$ modal" : true,
18    "$ xns" : "Gtk",
19    "| JsRender.Node? show" : " (Gtk.Window pwindow, Palete.Palete pal, JsRender.Node node) {\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( pwindow);\n     this.el.set_transient_for( pwindow);\n    \n    //opts.unshift({ path: '' , name :'Just add Element' });\n     _this.model.loadData(opts);\n     _this.combo.el.set_active(0);\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   Gtk.TreeIter iter;\n    _this.combo.el.get_active_iter (out iter);\n    Value vfname;\n    this.model.el.get_value (iter, 0, out vfname);\n    \n    \n    return pal.loadTemplate((string)vfname);\n\n}\n",
20    "items" : [
21     {
22      "xtype" : "VBox",
23      "$ pack" : "get_content_area().add ",
24      "$ xns" : "Gtk",
25      "items" : [
26       {
27        "* pack" : "pack_start,false,false,0",
28        "xtype" : "HBox",
29        "$ xns" : "Gtk",
30        "items" : [
31         {
32          "label" : "Select Template : ",
33          "xtype" : "Label",
34          "* pack" : "pack_start,false,false",
35          "$ xns" : "Gtk"
36         },
37         {
38          "id" : "combo",
39          "* init" : "this.el.add_attribute(_this.cellrenderer.el , \"markup\", 1 );",
40          "xtype" : "ComboBox",
41          "* pack" : "add",
42          "$ xns" : "Gtk",
43          "items" : [
44           {
45            "id" : "cellrenderer",
46            "xtype" : "CellRendererText",
47            "* pack" : "pack_start,true",
48            "$ xns" : "Gtk"
49           },
50           {
51            "id" : "model",
52            "* pack" : "set_model",
53            "xtype" : "ListStore",
54            "$ columns" : "typeof(string),typeof(string)",
55            "n_columns" : 2,
56            "$ xns" : "Gtk",
57            "| 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"
58           }
59          ]
60         },
61         {
62          "label" : "Select Template : ",
63          "* pack" : "pack_start,false,false",
64          "xtype" : "Label",
65          "$ xns" : "Gtk"
66         }
67        ]
68       }
69      ]
70     },
71     {
72      "label" : "Cancel",
73      "xtype" : "Button",
74      "* pack" : "add_action_widget,0",
75      "$ xns" : "Gtk"
76     },
77     {
78      "label" : "Just add it",
79      "* pack" : "add_action_widget,1",
80      "xtype" : "Button",
81      "$ xns" : "Gtk"
82     },
83     {
84      "label" : "OK",
85      "xtype" : "Button",
86      "* pack" : "add_action_widget,2",
87      "$ xns" : "Gtk"
88     }
89    ]
90   }
91  ]
92 }