src/Builder4/DialogTemplateSelect.bjs
[app.Builder.js] / src / Builder4 / DialogTemplateSelect.vala
1 static DialogTemplateSelect  _DialogTemplateSelect;
2
3 public class DialogTemplateSelect : Object 
4 {
5     public Gtk.Dialog el;
6     private DialogTemplateSelect  _this;
7
8     public static DialogTemplateSelect singleton()
9     {
10         if (_DialogTemplateSelect == null) {
11             _DialogTemplateSelect= new DialogTemplateSelect();
12         }
13         return _DialogTemplateSelect;
14     }
15     public Xcls_combo combo;
16     public Xcls_cellrenderer cellrenderer;
17     public Xcls_model model;
18     public Xcls_dbcombo dbcombo;
19     public Xcls_dbcellrenderer dbcellrenderer;
20     public Xcls_dbmodel dbmodel;
21
22         // my vars (def)
23
24     // ctor 
25     public DialogTemplateSelect()
26     {
27         _this = this;
28         this.el = new Gtk.Dialog();
29
30         // my vars (dec)
31
32         // set gobject values
33         this.el.title = "Add an Object";
34         this.el.default_height = 200;
35         this.el.default_width = 400;
36         this.el.modal = true;
37         var child_0 = new Xcls_VBox2( _this );
38         child_0.ref();
39         this.el.get_content_area().add (  child_0.el  );
40         var child_1 = new Xcls_Button13( _this );
41         child_1.ref();
42         this.el.add_action_widget (  child_1.el , 0 );
43         var child_2 = new Xcls_Button14( _this );
44         child_2.ref();
45         this.el.add_action_widget (  child_2.el , 1 );
46         var child_3 = new Xcls_Button15( _this );
47         child_3.ref();
48         this.el.add_action_widget (  child_3.el , 2 );
49
50         // listeners 
51         this.el.delete_event.connect( (self, event)  =>{
52             this.el.hide();
53             return true;
54         });
55     }
56
57     // user defined functions 
58     public JsRender.Node? show (Gtk.Window pwindow, Palete.Palete pal, JsRender.Node node) {
59         
60         this.el.show_all();
61         var opts = pal.listTemplates(node);
62         if (opts.length() < 1) {
63             this.el.hide();
64             return node;
65         }
66         this.el.set_attached_to( pwindow);
67          this.el.set_transient_for( pwindow);
68         
69         //opts.unshift({ path: '' , name :'Just add Element' });
70          _this.model.loadData(opts);
71          _this.combo.el.set_active(0);
72          
73        
74         var res = this.el.run();
75         this.el.hide();    
76         //var ix = _this.combo.el.get_active();
77         if (res < 1 ) {
78             return null; // 0 = cancel.
79         }
80         if (res < 2 ) {
81             return node; // 1 = just add it..
82         }
83         
84        Gtk.TreeIter iter;
85         _this.combo.el.get_active_iter (out iter);
86         Value vfname;
87         this.model.el.get_value (iter, 0, out vfname);
88         
89         
90         return pal.loadTemplate((string)vfname);
91     
92     }
93     public class Xcls_VBox2 : Object 
94     {
95         public Gtk.VBox el;
96         private DialogTemplateSelect  _this;
97
98
99             // my vars (def)
100
101         // ctor 
102         public Xcls_VBox2(DialogTemplateSelect _owner )
103         {
104             _this = _owner;
105             this.el = new Gtk.VBox( true, 0 );
106
107             // my vars (dec)
108
109             // set gobject values
110             var child_0 = new Xcls_HBox3( _this );
111             child_0.ref();
112             this.el.pack_start (  child_0.el , false,false,0 );
113             var child_1 = new Xcls_HBox8( _this );
114             child_1.ref();
115             this.el.pack_start (  child_1.el , false,false,0 );
116         }
117
118         // user defined functions 
119     }
120     public class Xcls_HBox3 : Object 
121     {
122         public Gtk.HBox el;
123         private DialogTemplateSelect  _this;
124
125
126             // my vars (def)
127
128         // ctor 
129         public Xcls_HBox3(DialogTemplateSelect _owner )
130         {
131             _this = _owner;
132             this.el = new Gtk.HBox( true, 0 );
133
134             // my vars (dec)
135
136             // set gobject values
137             var child_0 = new Xcls_Label4( _this );
138             child_0.ref();
139             this.el.pack_start (  child_0.el , false,false );
140             var child_1 = new Xcls_combo( _this );
141             child_1.ref();
142             this.el.add (  child_1.el  );
143         }
144
145         // user defined functions 
146     }
147     public class Xcls_Label4 : Object 
148     {
149         public Gtk.Label el;
150         private DialogTemplateSelect  _this;
151
152
153             // my vars (def)
154
155         // ctor 
156         public Xcls_Label4(DialogTemplateSelect _owner )
157         {
158             _this = _owner;
159             this.el = new Gtk.Label( "Select Template : " );
160
161             // my vars (dec)
162
163             // set gobject values
164         }
165
166         // user defined functions 
167     }
168     public class Xcls_combo : Object 
169     {
170         public Gtk.ComboBox el;
171         private DialogTemplateSelect  _this;
172
173
174             // my vars (def)
175
176         // ctor 
177         public Xcls_combo(DialogTemplateSelect _owner )
178         {
179             _this = _owner;
180             _this.combo = this;
181             this.el = new Gtk.ComboBox();
182
183             // my vars (dec)
184
185             // set gobject values
186             var child_0 = new Xcls_cellrenderer( _this );
187             child_0.ref();
188             this.el.pack_start (  child_0.el , true );
189             var child_1 = new Xcls_model( _this );
190             child_1.ref();
191             this.el.set_model (  child_1.el  );
192
193             // init method 
194
195             this.el.add_attribute(_this.cellrenderer.el , "markup", 1 );
196         }
197
198         // user defined functions 
199     }
200     public class Xcls_cellrenderer : Object 
201     {
202         public Gtk.CellRendererText el;
203         private DialogTemplateSelect  _this;
204
205
206             // my vars (def)
207
208         // ctor 
209         public Xcls_cellrenderer(DialogTemplateSelect _owner )
210         {
211             _this = _owner;
212             _this.cellrenderer = this;
213             this.el = new Gtk.CellRendererText();
214
215             // my vars (dec)
216
217             // set gobject values
218         }
219
220         // user defined functions 
221     }
222     public class Xcls_model : Object 
223     {
224         public Gtk.ListStore el;
225         private DialogTemplateSelect  _this;
226
227
228             // my vars (def)
229
230         // ctor 
231         public Xcls_model(DialogTemplateSelect _owner )
232         {
233             _this = _owner;
234             _this.model = this;
235             this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
236
237             // my vars (dec)
238
239             // set gobject values
240         }
241
242         // user defined functions 
243         public void loadData (GLib.List<string> data) {
244             this.el.clear();                                    
245             Gtk.TreeIter iter;
246             var el = this.el;
247             
248            /// el.append(out iter);
249             
250              
251            // el.set_value(iter, 0, "");
252            // el.set_value(iter, 1, "aaa  - Just add Element - aaa");
253             
254             for (var i = 0; i < data.length();i++) {
255             
256         
257                 el.append(out iter);
258                 var str = data.nth_data(i);
259                 var fn = Path.get_basename (str);
260                 fn.replace(".json", "");
261                 
262                 el.set_value(iter, 0, str);
263                 el.set_value(iter, 1, fn);
264                 
265             }
266             this.el.set_sort_column_id(1, Gtk.SortType.ASCENDING);          
267                                              
268         }
269     }
270     public class Xcls_HBox8 : Object 
271     {
272         public Gtk.HBox el;
273         private DialogTemplateSelect  _this;
274
275
276             // my vars (def)
277
278         // ctor 
279         public Xcls_HBox8(DialogTemplateSelect _owner )
280         {
281             _this = _owner;
282             this.el = new Gtk.HBox( true, 0 );
283
284             // my vars (dec)
285
286             // set gobject values
287             var child_0 = new Xcls_Label9( _this );
288             child_0.ref();
289             this.el.pack_start (  child_0.el , false,false );
290             var child_1 = new Xcls_dbcombo( _this );
291             child_1.ref();
292             this.el.add (  child_1.el  );
293         }
294
295         // user defined functions 
296     }
297     public class Xcls_Label9 : Object 
298     {
299         public Gtk.Label el;
300         private DialogTemplateSelect  _this;
301
302
303             // my vars (def)
304
305         // ctor 
306         public Xcls_Label9(DialogTemplateSelect _owner )
307         {
308             _this = _owner;
309             this.el = new Gtk.Label( "Select Database Table : " );
310
311             // my vars (dec)
312
313             // set gobject values
314         }
315
316         // user defined functions 
317     }
318     public class Xcls_dbcombo : Object 
319     {
320         public Gtk.ComboBox el;
321         private DialogTemplateSelect  _this;
322
323
324             // my vars (def)
325
326         // ctor 
327         public Xcls_dbcombo(DialogTemplateSelect _owner )
328         {
329             _this = _owner;
330             _this.dbcombo = this;
331             this.el = new Gtk.ComboBox();
332
333             // my vars (dec)
334
335             // set gobject values
336             var child_0 = new Xcls_dbcellrenderer( _this );
337             child_0.ref();
338             this.el.pack_start (  child_0.el , true );
339             var child_1 = new Xcls_dbmodel( _this );
340             child_1.ref();
341             this.el.set_model (  child_1.el  );
342
343             // init method 
344
345             this.el.add_attribute(_this.dbcellrenderer.el , "markup", 1 );
346         }
347
348         // user defined functions 
349     }
350     public class Xcls_dbcellrenderer : Object 
351     {
352         public Gtk.CellRendererText el;
353         private DialogTemplateSelect  _this;
354
355
356             // my vars (def)
357
358         // ctor 
359         public Xcls_dbcellrenderer(DialogTemplateSelect _owner )
360         {
361             _this = _owner;
362             _this.dbcellrenderer = this;
363             this.el = new Gtk.CellRendererText();
364
365             // my vars (dec)
366
367             // set gobject values
368         }
369
370         // user defined functions 
371     }
372     public class Xcls_dbmodel : Object 
373     {
374         public Gtk.ListStore el;
375         private DialogTemplateSelect  _this;
376
377
378             // my vars (def)
379
380         // ctor 
381         public Xcls_dbmodel(DialogTemplateSelect _owner )
382         {
383             _this = _owner;
384             _this.dbmodel = this;
385             this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
386
387             // my vars (dec)
388
389             // set gobject values
390         }
391
392         // user defined functions 
393         public void loadData (GLib.List<string> data) {
394             this.el.clear();                                    
395             Gtk.TreeIter iter;
396             var el = this.el;
397             
398            /// el.append(out iter);
399             
400              
401            // el.set_value(iter, 0, "");
402            // el.set_value(iter, 1, "aaa  - Just add Element - aaa");
403             
404             for (var i = 0; i < data.length();i++) {
405             
406         
407                 el.append(out iter);
408                 var str = data.nth_data(i);
409                 var fn = Path.get_basename (str);
410                 fn.replace(".json", "");
411                 
412                 el.set_value(iter, 0, str);
413                 el.set_value(iter, 1, fn);
414                 
415             }
416             this.el.set_sort_column_id(1, Gtk.SortType.ASCENDING);          
417                                              
418         }
419     }
420     public class Xcls_Button13 : Object 
421     {
422         public Gtk.Button el;
423         private DialogTemplateSelect  _this;
424
425
426             // my vars (def)
427
428         // ctor 
429         public Xcls_Button13(DialogTemplateSelect _owner )
430         {
431             _this = _owner;
432             this.el = new Gtk.Button();
433
434             // my vars (dec)
435
436             // set gobject values
437             this.el.label = "Cancel";
438         }
439
440         // user defined functions 
441     }
442     public class Xcls_Button14 : Object 
443     {
444         public Gtk.Button el;
445         private DialogTemplateSelect  _this;
446
447
448             // my vars (def)
449
450         // ctor 
451         public Xcls_Button14(DialogTemplateSelect _owner )
452         {
453             _this = _owner;
454             this.el = new Gtk.Button();
455
456             // my vars (dec)
457
458             // set gobject values
459             this.el.label = "Just add it";
460         }
461
462         // user defined functions 
463     }
464     public class Xcls_Button15 : Object 
465     {
466         public Gtk.Button el;
467         private DialogTemplateSelect  _this;
468
469
470             // my vars (def)
471
472         // ctor 
473         public Xcls_Button15(DialogTemplateSelect _owner )
474         {
475             _this = _owner;
476             this.el = new Gtk.Button();
477
478             // my vars (dec)
479
480             // set gobject values
481             this.el.label = "OK";
482         }
483
484         // user defined functions 
485     }
486 }