resources/RooUsage.txt
[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_Box2( _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 (Xcls_MainWindow mwindow, Palete.Palete pal, JsRender.Node node, Project.Project project) {
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( mwindow.el);
67         this.el.set_transient_for( mwindow.el);
68         
69         //opts.unshift({ path: '' , name :'Just add Element' });
70          _this.model.loadData(opts);
71          _this.combo.el.set_active(-1);
72          
73          
74          var db =  new Palete.RooDatabase.from_project(project);
75          _this.dbmodel.loadData(db.readTablesGee());
76          
77          var plug = mwindow.windowstate.webkit_plugin;
78          
79          _this.dbcombo.el.set_active(-1);
80          
81          
82        
83         var res = this.el.run();
84         this.el.hide();    
85         //var ix = _this.combo.el.get_active();
86         if (res < 1 ) {
87             return null; // 0 = cancel.
88         }
89         if (res < 2 ) {
90             return node; // 1 = just add it..
91         }
92         
93         // have they selected a table??
94         
95        Gtk.TreeIter iter; 
96         Value vfname;   
97         if (_this.dbcombo.el.get_active_iter (out iter)) {    
98              this.dbmodel.el.get_value (iter, 0, out vfname);
99              if (((string)vfname).length > 0 && plug.has_plugin(node.fqn())) {
100                 var json_str = plug.show(mwindow.el, project, node.fqn(), (string)vfname);
101                 print("json_str = %s\n", json_str);
102                 if (json_str.length < 1) {
103     
104                     return node;
105                 }
106                 var pa = new Json.Parser();
107                 try {
108     
109                 pa.load_from_data(json_str);
110             } catch(Error e) {
111                 return node;
112             }
113             var new_node = pa.get_root();
114         
115             if (new_node.get_node_type () != Json.NodeType.OBJECT) {
116                     return node;
117             }
118             var obj = new_node.get_object ();
119     
120             var ret = new JsRender.Node();
121     
122             ret.loadFromJson(obj, 1);
123             return ret;
124              }
125             
126         }
127     
128         if (!_this.combo.el.get_active_iter (out iter)) {
129     
130             return node; // nothing selected...
131         }
132        
133         this.model.el.get_value (iter, 0, out vfname);
134         
135         
136         return pal.loadTemplate((string)vfname);
137     
138     }
139     public class Xcls_Box2 : Object
140     {
141         public Gtk.Box el;
142         private DialogTemplateSelect  _this;
143
144
145             // my vars (def)
146
147         // ctor
148         public Xcls_Box2(DialogTemplateSelect _owner )
149         {
150             _this = _owner;
151             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
152
153             // my vars (dec)
154
155             // set gobject values
156             var child_0 = new Xcls_Box3( _this );
157             child_0.ref();
158             this.el.pack_start (  child_0.el , false,false,0 );
159             var child_1 = new Xcls_Box8( _this );
160             child_1.ref();
161             this.el.pack_start (  child_1.el , false,false,0 );
162         }
163
164         // user defined functions
165     }
166     public class Xcls_Box3 : Object
167     {
168         public Gtk.Box el;
169         private DialogTemplateSelect  _this;
170
171
172             // my vars (def)
173
174         // ctor
175         public Xcls_Box3(DialogTemplateSelect _owner )
176         {
177             _this = _owner;
178             this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
179
180             // my vars (dec)
181
182             // set gobject values
183             this.el.margin = 3;
184             var child_0 = new Xcls_Label4( _this );
185             child_0.ref();
186             this.el.pack_start (  child_0.el , false,false );
187             var child_1 = new Xcls_combo( _this );
188             child_1.ref();
189             this.el.add (  child_1.el  );
190         }
191
192         // user defined functions
193     }
194     public class Xcls_Label4 : Object
195     {
196         public Gtk.Label el;
197         private DialogTemplateSelect  _this;
198
199
200             // my vars (def)
201
202         // ctor
203         public Xcls_Label4(DialogTemplateSelect _owner )
204         {
205             _this = _owner;
206             this.el = new Gtk.Label( "Select Template : " );
207
208             // my vars (dec)
209
210             // set gobject values
211         }
212
213         // user defined functions
214     }
215
216     public class Xcls_combo : Object
217     {
218         public Gtk.ComboBox el;
219         private DialogTemplateSelect  _this;
220
221
222             // my vars (def)
223
224         // ctor
225         public Xcls_combo(DialogTemplateSelect _owner )
226         {
227             _this = _owner;
228             _this.combo = this;
229             this.el = new Gtk.ComboBox();
230
231             // my vars (dec)
232
233             // set gobject values
234             var child_0 = new Xcls_cellrenderer( _this );
235             child_0.ref();
236             this.el.pack_start (  child_0.el , true );
237             var child_1 = new Xcls_model( _this );
238             child_1.ref();
239             this.el.set_model (  child_1.el  );
240
241             // init method
242
243             this.el.add_attribute(_this.cellrenderer.el , "markup", 1 );
244         }
245
246         // user defined functions
247     }
248     public class Xcls_cellrenderer : Object
249     {
250         public Gtk.CellRendererText el;
251         private DialogTemplateSelect  _this;
252
253
254             // my vars (def)
255
256         // ctor
257         public Xcls_cellrenderer(DialogTemplateSelect _owner )
258         {
259             _this = _owner;
260             _this.cellrenderer = this;
261             this.el = new Gtk.CellRendererText();
262
263             // my vars (dec)
264
265             // set gobject values
266         }
267
268         // user defined functions
269     }
270
271     public class Xcls_model : Object
272     {
273         public Gtk.ListStore el;
274         private DialogTemplateSelect  _this;
275
276
277             // my vars (def)
278
279         // ctor
280         public Xcls_model(DialogTemplateSelect _owner )
281         {
282             _this = _owner;
283             _this.model = this;
284             this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
285
286             // my vars (dec)
287
288             // set gobject values
289         }
290
291         // user defined functions
292         public void loadData (GLib.List<string> data) {
293             this.el.clear();                                    
294             Gtk.TreeIter iter;
295             var el = this.el;
296             
297            /// el.append(out iter);
298             
299              
300            // el.set_value(iter, 0, "");
301            // el.set_value(iter, 1, "aaa  - Just add Element - aaa");
302             
303             for (var i = 0; i < data.length();i++) {
304             
305         
306                 el.append(out iter);
307                 var str = data.nth_data(i);
308                 var fn = Path.get_basename (str);
309                 fn.replace(".json", "");
310                 
311                 el.set_value(iter, 0, str);
312                 el.set_value(iter, 1, fn);
313                 
314             }
315             this.el.set_sort_column_id(1, Gtk.SortType.ASCENDING);          
316                                              
317         }
318     }
319
320
321
322     public class Xcls_Box8 : Object
323     {
324         public Gtk.Box el;
325         private DialogTemplateSelect  _this;
326
327
328             // my vars (def)
329
330         // ctor
331         public Xcls_Box8(DialogTemplateSelect _owner )
332         {
333             _this = _owner;
334             this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
335
336             // my vars (dec)
337
338             // set gobject values
339             this.el.margin = 3;
340             var child_0 = new Xcls_Label9( _this );
341             child_0.ref();
342             this.el.pack_start (  child_0.el , false,false );
343             var child_1 = new Xcls_dbcombo( _this );
344             child_1.ref();
345             this.el.add (  child_1.el  );
346         }
347
348         // user defined functions
349     }
350     public class Xcls_Label9 : Object
351     {
352         public Gtk.Label el;
353         private DialogTemplateSelect  _this;
354
355
356             // my vars (def)
357
358         // ctor
359         public Xcls_Label9(DialogTemplateSelect _owner )
360         {
361             _this = _owner;
362             this.el = new Gtk.Label( "Select Database Table : " );
363
364             // my vars (dec)
365
366             // set gobject values
367         }
368
369         // user defined functions
370     }
371
372     public class Xcls_dbcombo : Object
373     {
374         public Gtk.ComboBox el;
375         private DialogTemplateSelect  _this;
376
377
378             // my vars (def)
379
380         // ctor
381         public Xcls_dbcombo(DialogTemplateSelect _owner )
382         {
383             _this = _owner;
384             _this.dbcombo = this;
385             this.el = new Gtk.ComboBox();
386
387             // my vars (dec)
388
389             // set gobject values
390             var child_0 = new Xcls_dbcellrenderer( _this );
391             child_0.ref();
392             this.el.pack_start (  child_0.el , true );
393             var child_1 = new Xcls_dbmodel( _this );
394             child_1.ref();
395             this.el.set_model (  child_1.el  );
396
397             // init method
398
399             this.el.add_attribute(_this.dbcellrenderer.el , "markup", 1 );
400         }
401
402         // user defined functions
403     }
404     public class Xcls_dbcellrenderer : Object
405     {
406         public Gtk.CellRendererText el;
407         private DialogTemplateSelect  _this;
408
409
410             // my vars (def)
411
412         // ctor
413         public Xcls_dbcellrenderer(DialogTemplateSelect _owner )
414         {
415             _this = _owner;
416             _this.dbcellrenderer = this;
417             this.el = new Gtk.CellRendererText();
418
419             // my vars (dec)
420
421             // set gobject values
422         }
423
424         // user defined functions
425     }
426
427     public class Xcls_dbmodel : Object
428     {
429         public Gtk.ListStore el;
430         private DialogTemplateSelect  _this;
431
432
433             // my vars (def)
434
435         // ctor
436         public Xcls_dbmodel(DialogTemplateSelect _owner )
437         {
438             _this = _owner;
439             _this.dbmodel = this;
440             this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
441
442             // my vars (dec)
443
444             // set gobject values
445         }
446
447         // user defined functions
448         public void loadData (Gee.ArrayList<string> data) {
449             this.el.clear();                                    
450             Gtk.TreeIter iter;
451             var el = this.el;
452             
453            /// el.append(out iter);
454             
455              
456            // el.set_value(iter, 0, "");
457            // el.set_value(iter, 1, "aaa  - Just add Element - aaa");
458         
459             el.append(out iter);
460         
461             
462             el.set_value(iter, 0, "");
463             el.set_value(iter, 1, "-- select a table --");
464             
465             
466             for (var i = 0; i < data.size;i++) {
467             
468         
469                 el.append(out iter);
470                 
471                 el.set_value(iter, 0, data.get(i));
472                 el.set_value(iter, 1, data.get(i));
473                 
474             }
475              this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          
476                                              
477         }
478     }
479
480
481
482
483     public class Xcls_Button13 : Object
484     {
485         public Gtk.Button el;
486         private DialogTemplateSelect  _this;
487
488
489             // my vars (def)
490
491         // ctor
492         public Xcls_Button13(DialogTemplateSelect _owner )
493         {
494             _this = _owner;
495             this.el = new Gtk.Button();
496
497             // my vars (dec)
498
499             // set gobject values
500             this.el.label = "Cancel";
501         }
502
503         // user defined functions
504     }
505
506     public class Xcls_Button14 : Object
507     {
508         public Gtk.Button el;
509         private DialogTemplateSelect  _this;
510
511
512             // my vars (def)
513
514         // ctor
515         public Xcls_Button14(DialogTemplateSelect _owner )
516         {
517             _this = _owner;
518             this.el = new Gtk.Button();
519
520             // my vars (dec)
521
522             // set gobject values
523             this.el.label = "Just add it";
524         }
525
526         // user defined functions
527     }
528
529     public class Xcls_Button15 : Object
530     {
531         public Gtk.Button el;
532         private DialogTemplateSelect  _this;
533
534
535             // my vars (def)
536
537         // ctor
538         public Xcls_Button15(DialogTemplateSelect _owner )
539         {
540             _this = _owner;
541             this.el = new Gtk.Button();
542
543             // my vars (dec)
544
545             // set gobject values
546             this.el.label = "OK";
547         }
548
549         // user defined functions
550     }
551
552 }