src/Builder4/RooProjectSettings.bjs
[roobuilder] / src / Builder4 / RooProjectSettings.vala
1 static Xcls_RooProjectSettings  _RooProjectSettings;
2
3 public class Xcls_RooProjectSettings : Object
4 {
5     public Gtk.Popover el;
6     private Xcls_RooProjectSettings  _this;
7
8     public static Xcls_RooProjectSettings singleton()
9     {
10         if (_RooProjectSettings == null) {
11             _RooProjectSettings= new Xcls_RooProjectSettings();
12         }
13         return _RooProjectSettings;
14     }
15     public Xcls_label_global label_global;
16     public Xcls_label_database label_database;
17     public Xcls_base_template base_template;
18     public Xcls_base_template_cellrenderer base_template_cellrenderer;
19     public Xcls_base_template_model base_template_model;
20     public Xcls_rootURL rootURL;
21     public Xcls_grid grid;
22     public Xcls_filetypelbl filetypelbl;
23     public Xcls_filetype filetype;
24     public Xcls_ftdbcellrenderer ftdbcellrenderer;
25     public Xcls_ftdbmodel ftdbmodel;
26     public Xcls_dir dir;
27     public Xcls_dircellrenderer dircellrenderer;
28     public Xcls_dirmodel dirmodel;
29     public Xcls_path path;
30     public Xcls_base_template base_template;
31     public Xcls_base_template_cellrenderer base_template_cellrenderer;
32     public Xcls_base_template_model base_template_model;
33     public Xcls_view view;
34     public Xcls_database_DBTYPE database_DBTYPE;
35     public Xcls_database_DBNAME database_DBNAME;
36     public Xcls_database_DBUSERNAME database_DBUSERNAME;
37     public Xcls_database_DBPASSWORD database_DBPASSWORD;
38     public Xcls_database_ERROR database_ERROR;
39
40         // my vars (def)
41     public signal void buttonPressed (string btn);
42     public Project.Project project;
43
44     // ctor
45     public Xcls_RooProjectSettings()
46     {
47         _this = this;
48         this.el = new Gtk.Popover( null );
49
50         // my vars (dec)
51
52         // set gobject values
53         this.el.border_width = 0;
54         this.el.modal = true;
55         this.el.position = Gtk.PositionType.RIGHT;
56         var child_0 = new Xcls_Box2( _this );
57         child_0.ref();
58         this.el.add (  child_0.el  );
59     }
60
61     // user defined functions
62     public void show (Gtk.Widget btn, Project.Project project) {
63         _this.project = project;
64         _this.path.el.label = project.firstPath();
65         // get the active project.
66          var lm = Gtk.SourceLanguageManager.get_default();
67                     
68         ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(
69             lm.get_language("html")
70         );
71       
72         //print (project.fn);
73         //project.runhtml = project.runhtml || '';
74         _this.view.el.get_buffer().set_text(project.runhtml);
75         
76            
77         _this.rootURL.el.set_text( _this.project.rootURL );
78         
79     
80         _this.base_template_model.loadData();
81         
82          var js = _this.project;
83         _this.database_DBTYPE.el.set_text(     js.get_string_member("DBTYPE") );
84         _this.database_DBNAME.el.set_text(    js.get_string_member("DBNAME") );
85         _this.database_DBUSERNAME.el.set_text(    js.get_string_member("DBUSERNAME") );
86         _this.database_DBPASSWORD.el.set_text(    js.get_string_member("DBPASSWORD") );
87         
88                 //console.log('show all');
89         this.el.set_modal(true);
90         this.el.set_relative_to(btn);
91     
92         this.el.set_position(Gtk.PositionType.RIGHT);
93     
94         // window + header?
95          print("SHOWALL - POPIP\n");
96         this.el.show_all();
97         this.el.set_size_request(800,500);
98         this.view.el.grab_focus();
99         
100         
101         //this.el.show_all();
102     }
103     public void save () {
104        var buf =    _this.view.el.get_buffer();
105        Gtk.TextIter s;
106          Gtk.TextIter e;
107         buf.get_start_iter(out s);
108         buf.get_end_iter(out e);
109           _this.project.runhtml = buf.get_text(s,e,true);
110           
111         _this.project.rootURL = _this.rootURL.el.get_text();
112         // set by event changed...
113         //_this.project.base_template = _this.base_template.el.get_text();    
114         
115         var js = _this.project.json_project_data;
116         js.set_string_member("DBTYPE", _this.database_DBTYPE.el.get_text());
117        js.set_string_member("DBNAME", _this.database_DBNAME.el.get_text());
118         js.set_string_member("DBUSERNAME", _this.database_DBUSERNAME.el.get_text());
119         js.set_string_member("DBPASSWORD", _this.database_DBPASSWORD.el.get_text());
120     //    _this.project.set_string_member("DBHOST", _this.DBTYPE.el.get_text());    
121         
122         // need to re-init the database 
123         
124         _this.project.initRooDatabase();
125          
126         
127     }
128     public class Xcls_Box2 : Object
129     {
130         public Gtk.Box el;
131         private Xcls_RooProjectSettings  _this;
132
133
134             // my vars (def)
135
136         // ctor
137         public Xcls_Box2(Xcls_RooProjectSettings _owner )
138         {
139             _this = _owner;
140             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
141
142             // my vars (dec)
143
144             // set gobject values
145             this.el.homogeneous = false;
146             this.el.border_width = 5;
147             var child_0 = new Xcls_Notebook3( _this );
148             child_0.ref();
149             this.el.pack_start (  child_0.el , true,true,0 );
150             var child_1 = new Xcls_Box44( _this );
151             child_1.ref();
152             this.el.pack_end (  child_1.el , false,false,0 );
153         }
154
155         // user defined functions
156     }
157     public class Xcls_Notebook3 : Object
158     {
159         public Gtk.Notebook el;
160         private Xcls_RooProjectSettings  _this;
161
162
163             // my vars (def)
164
165         // ctor
166         public Xcls_Notebook3(Xcls_RooProjectSettings _owner )
167         {
168             _this = _owner;
169             this.el = new Gtk.Notebook();
170
171             // my vars (dec)
172
173             // set gobject values
174             var child_0 = new Xcls_label_global( _this );
175             child_0.ref();
176             var child_1 = new Xcls_label_database( _this );
177             child_1.ref();
178             var child_2 = new Xcls_Box6( _this );
179             child_2.ref();
180             this.el.append_page (  child_2.el , _this.label_global.el );
181             var child_3 = new Xcls_Box33( _this );
182             child_3.ref();
183             this.el.append_page (  child_3.el , _this.label_database.el );
184         }
185
186         // user defined functions
187     }
188     public class Xcls_label_global : Object
189     {
190         public Gtk.Label el;
191         private Xcls_RooProjectSettings  _this;
192
193
194             // my vars (def)
195
196         // ctor
197         public Xcls_label_global(Xcls_RooProjectSettings _owner )
198         {
199             _this = _owner;
200             _this.label_global = this;
201             this.el = new Gtk.Label( "Global" );
202
203             // my vars (dec)
204
205             // set gobject values
206         }
207
208         // user defined functions
209     }
210
211     public class Xcls_label_database : Object
212     {
213         public Gtk.Label el;
214         private Xcls_RooProjectSettings  _this;
215
216
217             // my vars (def)
218
219         // ctor
220         public Xcls_label_database(Xcls_RooProjectSettings _owner )
221         {
222             _this = _owner;
223             _this.label_database = this;
224             this.el = new Gtk.Label( "Database" );
225
226             // my vars (dec)
227
228             // set gobject values
229         }
230
231         // user defined functions
232     }
233
234     public class Xcls_Box6 : Object
235     {
236         public Gtk.Box el;
237         private Xcls_RooProjectSettings  _this;
238
239
240             // my vars (def)
241
242         // ctor
243         public Xcls_Box6(Xcls_RooProjectSettings _owner )
244         {
245             _this = _owner;
246             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
247
248             // my vars (dec)
249
250             // set gobject values
251             this.el.homogeneous = false;
252             var child_0 = new Xcls_Box7( _this );
253             child_0.ref();
254             this.el.pack_start (  child_0.el , false,false,0 );
255             var child_1 = new Xcls_Box12( _this );
256             child_1.ref();
257             this.el.pack_start (  child_1.el , false,false,0 );
258             var child_2 = new Xcls_Label15( _this );
259             child_2.ref();
260             this.el.pack_start (  child_2.el , false,false,0 );
261             var child_3 = new Xcls_grid( _this );
262             child_3.ref();
263             this.el.pack_start (  child_3.el , false,false,4 );
264             var child_4 = new Xcls_ScrolledWindow31( _this );
265             child_4.ref();
266             this.el.pack_start (  child_4.el , true,true,0 );
267         }
268
269         // user defined functions
270     }
271     public class Xcls_Box7 : Object
272     {
273         public Gtk.Box el;
274         private Xcls_RooProjectSettings  _this;
275
276
277             // my vars (def)
278
279         // ctor
280         public Xcls_Box7(Xcls_RooProjectSettings _owner )
281         {
282             _this = _owner;
283             this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
284
285             // my vars (dec)
286
287             // set gobject values
288             this.el.homogeneous = false;
289             this.el.expand = false;
290             var child_0 = new Xcls_Label8( _this );
291             child_0.ref();
292             this.el.pack_start (  child_0.el , false,false,0 );
293             var child_1 = new Xcls_base_template( _this );
294             child_1.ref();
295             this.el.add (  child_1.el  );
296         }
297
298         // user defined functions
299     }
300     public class Xcls_Label8 : Object
301     {
302         public Gtk.Label el;
303         private Xcls_RooProjectSettings  _this;
304
305
306             // my vars (def)
307
308         // ctor
309         public Xcls_Label8(Xcls_RooProjectSettings _owner )
310         {
311             _this = _owner;
312             this.el = new Gtk.Label( "HTML template file" );
313
314             // my vars (dec)
315
316             // set gobject values
317             this.el.margin = 3;
318         }
319
320         // user defined functions
321     }
322
323     public class Xcls_base_template : Object
324     {
325         public Gtk.ComboBox el;
326         private Xcls_RooProjectSettings  _this;
327
328
329             // my vars (def)
330         public bool loading;
331
332         // ctor
333         public Xcls_base_template(Xcls_RooProjectSettings _owner )
334         {
335             _this = _owner;
336             _this.base_template = this;
337             this.el = new Gtk.ComboBox();
338
339             // my vars (dec)
340             this.loading = false;
341
342             // set gobject values
343             var child_0 = new Xcls_base_template_cellrenderer( _this );
344             child_0.ref();
345             this.el.pack_start (  child_0.el , true );
346             var child_1 = new Xcls_base_template_model( _this );
347             child_1.ref();
348             this.el.set_model (  child_1.el  );
349
350             // init method
351
352             this.el.add_attribute(_this.base_template_cellrenderer.el , "markup", 0 );
353
354             //listeners
355             this.el.changed.connect( () => {
356                 Gtk.TreeIter iter;
357              
358                 // this get's called when we are filling in the data... ???
359                 if (this.loading) {
360                         return;
361                 }
362                 
363              
364                 if (this.el.get_active_iter(out iter)) {
365                         Value vfname;
366                         _this.base_template_model.el.get_value (iter, 0, out vfname);
367                         _this.project.base_template = ((string)vfname) ;
368                         
369                          print("\nSET base template to %s\n", _this.project.base_template );
370                         // is_bjs = ((string)vfname) == "bjs";
371                 }
372                 
373               
374                 // directory is only available for non-bjs 
375              
376             
377             
378             });
379         }
380
381         // user defined functions
382     }
383     public class Xcls_base_template_cellrenderer : Object
384     {
385         public Gtk.CellRendererText el;
386         private Xcls_RooProjectSettings  _this;
387
388
389             // my vars (def)
390
391         // ctor
392         public Xcls_base_template_cellrenderer(Xcls_RooProjectSettings _owner )
393         {
394             _this = _owner;
395             _this.base_template_cellrenderer = this;
396             this.el = new Gtk.CellRendererText();
397
398             // my vars (dec)
399
400             // set gobject values
401         }
402
403         // user defined functions
404     }
405
406     public class Xcls_base_template_model : Object
407     {
408         public Gtk.ListStore el;
409         private Xcls_RooProjectSettings  _this;
410
411
412             // my vars (def)
413
414         // ctor
415         public Xcls_base_template_model(Xcls_RooProjectSettings _owner )
416         {
417             _this = _owner;
418             _this.base_template_model = this;
419             this.el = new Gtk.ListStore( 1, typeof(string) );
420
421             // my vars (dec)
422
423             // set gobject values
424         }
425
426         // user defined functions
427         public void loadData () {
428                 _this.base_template.loading = true;
429           
430             this.el.clear();                                    
431             Gtk.TreeIter iter;
432             var el = this.el;
433             
434            /// el.append(out iter);
435             
436            
437             el.append(out iter);
438             el.set_value(iter, 0, "roo.builder.html");
439             _this.base_template.el.set_active_iter(iter);
440                 if (_this.project.base_template == "roo.builder.html") {
441                    _this.base_template.el.set_active_iter(iter);
442             }
443         
444             el.append(out iter);
445             el.set_value(iter, 0, "bootstrap.builder.html");
446          
447                 print("\ncur template = %s\n", _this.project.base_template);
448          
449             if (_this.project.base_template == "bootstrap.builder.html") {
450                    _this.base_template.el.set_active_iter(iter);
451             }
452         
453                 el.append(out iter);
454             el.set_value(iter, 0, "mailer.builder.html");
455         
456                 if (_this.project.base_template == "mailer.builder.html") {
457                     _this.base_template.el.set_active_iter(iter);
458             }
459                 _this.base_template.loading = false;
460                                              
461         }
462     }
463
464
465
466     public class Xcls_Box12 : Object
467     {
468         public Gtk.Box el;
469         private Xcls_RooProjectSettings  _this;
470
471
472             // my vars (def)
473
474         // ctor
475         public Xcls_Box12(Xcls_RooProjectSettings _owner )
476         {
477             _this = _owner;
478             this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
479
480             // my vars (dec)
481
482             // set gobject values
483             this.el.homogeneous = false;
484             this.el.expand = false;
485             var child_0 = new Xcls_Label13( _this );
486             child_0.ref();
487             this.el.pack_start (  child_0.el , false,false,0 );
488             var child_1 = new Xcls_rootURL( _this );
489             child_1.ref();
490             this.el.add (  child_1.el  );
491         }
492
493         // user defined functions
494     }
495     public class Xcls_Label13 : Object
496     {
497         public Gtk.Label el;
498         private Xcls_RooProjectSettings  _this;
499
500
501             // my vars (def)
502
503         // ctor
504         public Xcls_Label13(Xcls_RooProjectSettings _owner )
505         {
506             _this = _owner;
507             this.el = new Gtk.Label( "root URL" );
508
509             // my vars (dec)
510
511             // set gobject values
512             this.el.margin = 3;
513         }
514
515         // user defined functions
516     }
517
518     public class Xcls_rootURL : Object
519     {
520         public Gtk.Entry el;
521         private Xcls_RooProjectSettings  _this;
522
523
524             // my vars (def)
525
526         // ctor
527         public Xcls_rootURL(Xcls_RooProjectSettings _owner )
528         {
529             _this = _owner;
530             _this.rootURL = this;
531             this.el = new Gtk.Entry();
532
533             // my vars (dec)
534
535             // set gobject values
536         }
537
538         // user defined functions
539     }
540
541
542     public class Xcls_Label15 : Object
543     {
544         public Gtk.Label el;
545         private Xcls_RooProjectSettings  _this;
546
547
548             // my vars (def)
549
550         // ctor
551         public Xcls_Label15(Xcls_RooProjectSettings _owner )
552         {
553             _this = _owner;
554             this.el = new Gtk.Label( "HTML To insert at end of <HEAD>" );
555
556             // my vars (dec)
557
558             // set gobject values
559         }
560
561         // user defined functions
562     }
563
564     public class Xcls_grid : Object
565     {
566         public Gtk.Grid el;
567         private Xcls_RooProjectSettings  _this;
568
569
570             // my vars (def)
571
572         // ctor
573         public Xcls_grid(Xcls_RooProjectSettings _owner )
574         {
575             _this = _owner;
576             _this.grid = this;
577             this.el = new Gtk.Grid();
578
579             // my vars (dec)
580
581             // set gobject values
582             this.el.margin_right = 4;
583             this.el.margin_left = 4;
584             this.el.row_spacing = 2;
585             var child_0 = new Xcls_filetypelbl( _this );
586             child_0.ref();
587             this.el.attach (  child_0.el , 0,0,1,1 );
588             var child_1 = new Xcls_filetype( _this );
589             child_1.ref();
590             this.el.attach (  child_1.el , 1,0,1,1 );
591             var child_2 = new Xcls_Label21( _this );
592             child_2.ref();
593             this.el.attach (  child_2.el , 0,8,1,1 );
594             var child_3 = new Xcls_dir( _this );
595             child_3.ref();
596             this.el.attach (  child_3.el , 1,8,1,1 );
597             var child_4 = new Xcls_Label25( _this );
598             child_4.ref();
599             this.el.attach (  child_4.el , 0,0,1,1 );
600             var child_5 = new Xcls_path( _this );
601             child_5.ref();
602             this.el.attach (  child_5.el , 1,0,1,1 );
603             var child_6 = new Xcls_Label27( _this );
604             child_6.ref();
605             this.el.attach (  child_6.el , 0,1,1,1 );
606             var child_7 = new Xcls_base_template( _this );
607             child_7.ref();
608             this.el.attach (  child_7.el , 1,1,1,1 );
609         }
610
611         // user defined functions
612     }
613     public class Xcls_filetypelbl : Object
614     {
615         public Gtk.Label el;
616         private Xcls_RooProjectSettings  _this;
617
618
619             // my vars (def)
620
621         // ctor
622         public Xcls_filetypelbl(Xcls_RooProjectSettings _owner )
623         {
624             _this = _owner;
625             _this.filetypelbl = this;
626             this.el = new Gtk.Label( "File type" );
627
628             // my vars (dec)
629
630             // set gobject values
631             this.el.justify = Gtk.Justification.RIGHT;
632             this.el.xalign = 0.900000f;
633         }
634
635         // user defined functions
636     }
637
638     public class Xcls_filetype : Object
639     {
640         public Gtk.ComboBox el;
641         private Xcls_RooProjectSettings  _this;
642
643
644             // my vars (def)
645
646         // ctor
647         public Xcls_filetype(Xcls_RooProjectSettings _owner )
648         {
649             _this = _owner;
650             _this.filetype = this;
651             this.el = new Gtk.ComboBox();
652
653             // my vars (dec)
654
655             // set gobject values
656             var child_0 = new Xcls_ftdbcellrenderer( _this );
657             child_0.ref();
658             this.el.pack_start (  child_0.el , true );
659             var child_1 = new Xcls_ftdbmodel( _this );
660             child_1.ref();
661             this.el.set_model (  child_1.el  );
662
663             // init method
664
665             this.el.add_attribute(_this.ftdbcellrenderer.el , "markup", 1 );
666
667             //listeners
668             this.el.changed.connect( () => {
669                 Gtk.TreeIter iter;
670                 bool is_bjs = true;
671                 if (this.el.get_active_iter(out iter)) {
672                         Value vfname;
673                         _this.ftdbmodel.el.get_value (iter, 0, out vfname);
674                          is_bjs = ((string)vfname) == "bjs";
675                 }
676                 
677               
678                 // directory is only available for non-bjs 
679                 this.showhide(is_bjs);
680             
681             
682             });
683         }
684
685         // user defined functions
686         public void showhide (bool is_bjs) {
687                 for (var i = 2; i < 9;i++) {
688                         var el = _this.grid.el.get_child_at(0,i);
689                         
690                         var showhide= is_bjs;
691                         if (i> 7) {
692                                 showhide = !showhide;
693                         }
694                         
695                         if (showhide) {
696                            el.show();
697                         } else {
698                                 el.hide();
699                         }
700                          el = _this.grid.el.get_child_at(1,i);
701                         if (showhide) {
702                            el.show();
703                         } else {
704                                 el.hide();
705                         }     
706             }
707             // load up the directories
708             //??? why can we not create bjs files in other directories??
709                 if (!is_bjs && _this.file.path.length < 1) {
710                         _this.dirmodel.loadData();
711                         
712                         
713                 }
714            
715             
716         }
717     }
718     public class Xcls_ftdbcellrenderer : Object
719     {
720         public Gtk.CellRendererText el;
721         private Xcls_RooProjectSettings  _this;
722
723
724             // my vars (def)
725
726         // ctor
727         public Xcls_ftdbcellrenderer(Xcls_RooProjectSettings _owner )
728         {
729             _this = _owner;
730             _this.ftdbcellrenderer = this;
731             this.el = new Gtk.CellRendererText();
732
733             // my vars (dec)
734
735             // set gobject values
736         }
737
738         // user defined functions
739     }
740
741     public class Xcls_ftdbmodel : Object
742     {
743         public Gtk.ListStore el;
744         private Xcls_RooProjectSettings  _this;
745
746
747             // my vars (def)
748
749         // ctor
750         public Xcls_ftdbmodel(Xcls_RooProjectSettings _owner )
751         {
752             _this = _owner;
753             _this.ftdbmodel = this;
754             this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
755
756             // my vars (dec)
757
758             // set gobject values
759         }
760
761         // user defined functions
762         public void loadData (string cur) {
763             this.el.clear();                                    
764             Gtk.TreeIter iter;
765             var el = this.el;
766             
767            /// el.append(out iter);
768             
769              
770            // el.set_value(iter, 0, "");
771            // el.set_value(iter, 1, "aaa  - Just add Element - aaa");
772         
773             el.append(out iter);
774         
775             
776             el.set_value(iter, 0, "bjs");
777             el.set_value(iter, 1, "User Interface File (bjs)");
778             _this.filetype.el.set_active_iter(iter);
779         
780             el.append(out iter);
781             
782             el.set_value(iter, 0, "vala");
783             el.set_value(iter, 1, "Vala");
784                 if (cur == "vala") {
785                     _this.filetype.el.set_active_iter(iter);
786             }
787         
788         
789         
790             el.append(out iter);
791             
792             el.set_value(iter, 0, "js");
793             el.set_value(iter, 1, "Javascript");
794         
795                 if (cur == "js") {
796                     _this.filetype.el.set_active_iter(iter);
797             }
798         
799             el.append(out iter);
800             
801             el.set_value(iter, 0, "css");
802             el.set_value(iter, 1, "CSS");
803         
804                 if (cur == "css") {
805                     _this.filetype.el.set_active_iter(iter);
806             }
807                                              
808         }
809     }
810
811
812     public class Xcls_Label21 : Object
813     {
814         public Gtk.Label el;
815         private Xcls_RooProjectSettings  _this;
816
817
818             // my vars (def)
819
820         // ctor
821         public Xcls_Label21(Xcls_RooProjectSettings _owner )
822         {
823             _this = _owner;
824             this.el = new Gtk.Label( "Directory" );
825
826             // my vars (dec)
827
828             // set gobject values
829             this.el.justify = Gtk.Justification.RIGHT;
830             this.el.xalign = 0.900000f;
831             this.el.visible = true;
832         }
833
834         // user defined functions
835     }
836
837     public class Xcls_dir : Object
838     {
839         public Gtk.ComboBox el;
840         private Xcls_RooProjectSettings  _this;
841
842
843             // my vars (def)
844
845         // ctor
846         public Xcls_dir(Xcls_RooProjectSettings _owner )
847         {
848             _this = _owner;
849             _this.dir = this;
850             this.el = new Gtk.ComboBox();
851
852             // my vars (dec)
853
854             // set gobject values
855             var child_0 = new Xcls_dircellrenderer( _this );
856             child_0.ref();
857             this.el.pack_start (  child_0.el , true );
858             var child_1 = new Xcls_dirmodel( _this );
859             child_1.ref();
860             this.el.set_model (  child_1.el  );
861
862             // init method
863
864             this.el.add_attribute(_this.dircellrenderer.el , "markup", 1 );
865         }
866
867         // user defined functions
868     }
869     public class Xcls_dircellrenderer : Object
870     {
871         public Gtk.CellRendererText el;
872         private Xcls_RooProjectSettings  _this;
873
874
875             // my vars (def)
876
877         // ctor
878         public Xcls_dircellrenderer(Xcls_RooProjectSettings _owner )
879         {
880             _this = _owner;
881             _this.dircellrenderer = this;
882             this.el = new Gtk.CellRendererText();
883
884             // my vars (dec)
885
886             // set gobject values
887         }
888
889         // user defined functions
890     }
891
892     public class Xcls_dirmodel : Object
893     {
894         public Gtk.ListStore el;
895         private Xcls_RooProjectSettings  _this;
896
897
898             // my vars (def)
899
900         // ctor
901         public Xcls_dirmodel(Xcls_RooProjectSettings _owner )
902         {
903             _this = _owner;
904             _this.dirmodel = this;
905             this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
906
907             // my vars (dec)
908
909             // set gobject values
910         }
911
912         // user defined functions
913         public void loadData () {
914                 
915                 
916           
917             this.el.clear();                                    
918             
919             if (!(_this.project is Project.Gtk)) {
920                         return;
921                 }
922             var sd = ((Project.Gtk)_this.project).sourcedirs();
923             
924             Gtk.TreeIter iter;
925             var el = this.el;
926             
927            /// el.append(out iter);
928             
929              
930            // el.set_value(iter, 0, "");
931            // el.set_value(iter, 1, "aaa  - Just add Element - aaa");
932         
933         //    el.append(out iter);
934         
935             
936         //    el.set_value(iter, 0, "");
937           //  el.set_value(iter, 1, "-- select a directoyr --");
938             //_this.build_module.el.set_active_iter(iter);
939             
940             for (var i = 0; i < sd.length;i++) {
941             
942         
943                 el.append(out iter);
944                 
945                 el.set_value(iter, 0, sd[i]);
946                 el.set_value(iter, 1, sd[i]);
947                 
948                 //if (data.get(i) == cur) {
949                 //    _this.build_module.el.set_active_iter(iter);
950                // }
951                 
952             }
953           //  this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          
954                                              
955         }
956     }
957
958
959     public class Xcls_Label25 : Object
960     {
961         public Gtk.Label el;
962         private Xcls_RooProjectSettings  _this;
963
964
965             // my vars (def)
966
967         // ctor
968         public Xcls_Label25(Xcls_RooProjectSettings _owner )
969         {
970             _this = _owner;
971             this.el = new Gtk.Label( "Filename" );
972
973             // my vars (dec)
974
975             // set gobject values
976             this.el.margin = 3;
977             this.el.xalign = 0f;
978         }
979
980         // user defined functions
981     }
982
983     public class Xcls_path : Object
984     {
985         public Gtk.Label el;
986         private Xcls_RooProjectSettings  _this;
987
988
989             // my vars (def)
990
991         // ctor
992         public Xcls_path(Xcls_RooProjectSettings _owner )
993         {
994             _this = _owner;
995             _this.path = this;
996             this.el = new Gtk.Label( "filename" );
997
998             // my vars (dec)
999
1000             // set gobject values
1001             this.el.margin = 3;
1002             this.el.xalign = 0f;
1003         }
1004
1005         // user defined functions
1006     }
1007
1008     public class Xcls_Label27 : Object
1009     {
1010         public Gtk.Label el;
1011         private Xcls_RooProjectSettings  _this;
1012
1013
1014             // my vars (def)
1015
1016         // ctor
1017         public Xcls_Label27(Xcls_RooProjectSettings _owner )
1018         {
1019             _this = _owner;
1020             this.el = new Gtk.Label( "HTML template file" );
1021
1022             // my vars (dec)
1023
1024             // set gobject values
1025             this.el.margin = 3;
1026         }
1027
1028         // user defined functions
1029     }
1030
1031     public class Xcls_base_template : Object
1032     {
1033         public Gtk.ComboBox el;
1034         private Xcls_RooProjectSettings  _this;
1035
1036
1037             // my vars (def)
1038         public bool loading;
1039
1040         // ctor
1041         public Xcls_base_template(Xcls_RooProjectSettings _owner )
1042         {
1043             _this = _owner;
1044             _this.base_template = this;
1045             this.el = new Gtk.ComboBox();
1046
1047             // my vars (dec)
1048             this.loading = false;
1049
1050             // set gobject values
1051             var child_0 = new Xcls_base_template_cellrenderer( _this );
1052             child_0.ref();
1053             this.el.pack_start (  child_0.el , true );
1054             var child_1 = new Xcls_base_template_model( _this );
1055             child_1.ref();
1056             this.el.set_model (  child_1.el  );
1057
1058             // init method
1059
1060             this.el.add_attribute(_this.base_template_cellrenderer.el , "markup", 0 );
1061
1062             //listeners
1063             this.el.changed.connect( () => {
1064                 Gtk.TreeIter iter;
1065              
1066                 // this get's called when we are filling in the data... ???
1067                 if (this.loading) {
1068                         return;
1069                 }
1070                 
1071              
1072                 if (this.el.get_active_iter(out iter)) {
1073                         Value vfname;
1074                         _this.base_template_model.el.get_value (iter, 0, out vfname);
1075                         _this.project.base_template = ((string)vfname) ;
1076                         
1077                          print("\nSET base template to %s\n", _this.project.base_template );
1078                         // is_bjs = ((string)vfname) == "bjs";
1079                 }
1080                 
1081               
1082                 // directory is only available for non-bjs 
1083              
1084             
1085             
1086             });
1087         }
1088
1089         // user defined functions
1090     }
1091     public class Xcls_base_template_cellrenderer : Object
1092     {
1093         public Gtk.CellRendererText el;
1094         private Xcls_RooProjectSettings  _this;
1095
1096
1097             // my vars (def)
1098
1099         // ctor
1100         public Xcls_base_template_cellrenderer(Xcls_RooProjectSettings _owner )
1101         {
1102             _this = _owner;
1103             _this.base_template_cellrenderer = this;
1104             this.el = new Gtk.CellRendererText();
1105
1106             // my vars (dec)
1107
1108             // set gobject values
1109         }
1110
1111         // user defined functions
1112     }
1113
1114     public class Xcls_base_template_model : Object
1115     {
1116         public Gtk.ListStore el;
1117         private Xcls_RooProjectSettings  _this;
1118
1119
1120             // my vars (def)
1121
1122         // ctor
1123         public Xcls_base_template_model(Xcls_RooProjectSettings _owner )
1124         {
1125             _this = _owner;
1126             _this.base_template_model = this;
1127             this.el = new Gtk.ListStore( 1, typeof(string) );
1128
1129             // my vars (dec)
1130
1131             // set gobject values
1132         }
1133
1134         // user defined functions
1135         public void loadData () {
1136                 _this.base_template.loading = true;
1137           
1138             this.el.clear();                                    
1139             Gtk.TreeIter iter;
1140             var el = this.el;
1141             
1142            /// el.append(out iter);
1143             
1144            
1145             el.append(out iter);
1146             el.set_value(iter, 0, "roo.builder.html");
1147             _this.base_template.el.set_active_iter(iter);
1148                 if (_this.project.base_template == "roo.builder.html") {
1149                    _this.base_template.el.set_active_iter(iter);
1150             }
1151         
1152             el.append(out iter);
1153             el.set_value(iter, 0, "bootstrap.builder.html");
1154          
1155                 print("\ncur template = %s\n", _this.project.base_template);
1156          
1157             if (_this.project.base_template == "bootstrap.builder.html") {
1158                    _this.base_template.el.set_active_iter(iter);
1159             }
1160         
1161                 el.append(out iter);
1162             el.set_value(iter, 0, "mailer.builder.html");
1163         
1164                 if (_this.project.base_template == "mailer.builder.html") {
1165                     _this.base_template.el.set_active_iter(iter);
1166             }
1167                 _this.base_template.loading = false;
1168                                              
1169         }
1170     }
1171
1172
1173
1174     public class Xcls_ScrolledWindow31 : Object
1175     {
1176         public Gtk.ScrolledWindow el;
1177         private Xcls_RooProjectSettings  _this;
1178
1179
1180             // my vars (def)
1181
1182         // ctor
1183         public Xcls_ScrolledWindow31(Xcls_RooProjectSettings _owner )
1184         {
1185             _this = _owner;
1186             this.el = new Gtk.ScrolledWindow( null, null );
1187
1188             // my vars (dec)
1189
1190             // set gobject values
1191             var child_0 = new Xcls_view( _this );
1192             child_0.ref();
1193             this.el.add (  child_0.el  );
1194         }
1195
1196         // user defined functions
1197     }
1198     public class Xcls_view : Object
1199     {
1200         public Gtk.SourceView el;
1201         private Xcls_RooProjectSettings  _this;
1202
1203
1204             // my vars (def)
1205
1206         // ctor
1207         public Xcls_view(Xcls_RooProjectSettings _owner )
1208         {
1209             _this = _owner;
1210             _this.view = this;
1211             this.el = new Gtk.SourceView();
1212
1213             // my vars (dec)
1214
1215             // init method
1216
1217             var description =   Pango.FontDescription.from_string("monospace");
1218                 description.set_size(9000);
1219                 this.el.override_font(description);
1220
1221             //listeners
1222             this.el.key_release_event.connect( ( event) =>{
1223                 if (event.keyval != 115) {
1224                     return false;
1225                      
1226                 }
1227                 if   ( (event.state & Gdk.ModifierType.CONTROL_MASK ) < 1 ) {
1228                     return false;
1229                 }
1230                  var buf =    this.el.get_buffer();
1231                 Gtk.TextIter s;
1232                 Gtk.TextIter e;
1233                 buf.get_start_iter(out s);
1234                 buf.get_end_iter(out e);
1235                 _this.project.runhtml = buf.get_text(s,e,true);
1236                 
1237                       
1238                 _this.buttonPressed("save");
1239                  
1240                 return false;
1241                      
1242             });
1243         }
1244
1245         // user defined functions
1246     }
1247
1248
1249
1250     public class Xcls_Box33 : Object
1251     {
1252         public Gtk.Box el;
1253         private Xcls_RooProjectSettings  _this;
1254
1255
1256             // my vars (def)
1257
1258         // ctor
1259         public Xcls_Box33(Xcls_RooProjectSettings _owner )
1260         {
1261             _this = _owner;
1262             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
1263
1264             // my vars (dec)
1265
1266             // set gobject values
1267             this.el.homogeneous = false;
1268             var child_0 = new Xcls_Label34( _this );
1269             child_0.ref();
1270             this.el.pack_start (  child_0.el , false,false,0 );
1271             var child_1 = new Xcls_database_DBTYPE( _this );
1272             child_1.ref();
1273             this.el.pack_start (  child_1.el , false,false,0 );
1274             var child_2 = new Xcls_Label36( _this );
1275             child_2.ref();
1276             this.el.pack_start (  child_2.el , false,false,0 );
1277             var child_3 = new Xcls_database_DBNAME( _this );
1278             child_3.ref();
1279             this.el.pack_start (  child_3.el , false,false,0 );
1280             var child_4 = new Xcls_Label38( _this );
1281             child_4.ref();
1282             this.el.pack_start (  child_4.el , false,false,0 );
1283             var child_5 = new Xcls_database_DBUSERNAME( _this );
1284             child_5.ref();
1285             this.el.pack_start (  child_5.el , false,false,0 );
1286             var child_6 = new Xcls_Label40( _this );
1287             child_6.ref();
1288             this.el.pack_start (  child_6.el , false,false,0 );
1289             var child_7 = new Xcls_database_DBPASSWORD( _this );
1290             child_7.ref();
1291             this.el.pack_start (  child_7.el , false,false,0 );
1292             var child_8 = new Xcls_Button42( _this );
1293             child_8.ref();
1294             this.el.pack_start (  child_8.el , false,false,0 );
1295             var child_9 = new Xcls_database_ERROR( _this );
1296             child_9.ref();
1297             this.el.pack_start (  child_9.el , false,false,0 );
1298         }
1299
1300         // user defined functions
1301     }
1302     public class Xcls_Label34 : Object
1303     {
1304         public Gtk.Label el;
1305         private Xcls_RooProjectSettings  _this;
1306
1307
1308             // my vars (def)
1309
1310         // ctor
1311         public Xcls_Label34(Xcls_RooProjectSettings _owner )
1312         {
1313             _this = _owner;
1314             this.el = new Gtk.Label( "Type (eg. MySQL or PostgreSQL)" );
1315
1316             // my vars (dec)
1317
1318             // set gobject values
1319             this.el.xalign = 0f;
1320         }
1321
1322         // user defined functions
1323     }
1324
1325     public class Xcls_database_DBTYPE : Object
1326     {
1327         public Gtk.Entry el;
1328         private Xcls_RooProjectSettings  _this;
1329
1330
1331             // my vars (def)
1332
1333         // ctor
1334         public Xcls_database_DBTYPE(Xcls_RooProjectSettings _owner )
1335         {
1336             _this = _owner;
1337             _this.database_DBTYPE = this;
1338             this.el = new Gtk.Entry();
1339
1340             // my vars (dec)
1341
1342             // set gobject values
1343
1344             //listeners
1345             this.el.key_press_event.connect( (ev) => {
1346             
1347                 if (ev.keyval == Gdk.Key.Tab) {
1348                     _this.database_DBNAME.el.grab_focus();
1349                     return true;
1350                 }
1351             
1352             
1353                 return false;
1354             });
1355         }
1356
1357         // user defined functions
1358     }
1359
1360     public class Xcls_Label36 : Object
1361     {
1362         public Gtk.Label el;
1363         private Xcls_RooProjectSettings  _this;
1364
1365
1366             // my vars (def)
1367
1368         // ctor
1369         public Xcls_Label36(Xcls_RooProjectSettings _owner )
1370         {
1371             _this = _owner;
1372             this.el = new Gtk.Label( "Name" );
1373
1374             // my vars (dec)
1375
1376             // set gobject values
1377             this.el.xalign = 0f;
1378         }
1379
1380         // user defined functions
1381     }
1382
1383     public class Xcls_database_DBNAME : Object
1384     {
1385         public Gtk.Entry el;
1386         private Xcls_RooProjectSettings  _this;
1387
1388
1389             // my vars (def)
1390
1391         // ctor
1392         public Xcls_database_DBNAME(Xcls_RooProjectSettings _owner )
1393         {
1394             _this = _owner;
1395             _this.database_DBNAME = this;
1396             this.el = new Gtk.Entry();
1397
1398             // my vars (dec)
1399
1400             // set gobject values
1401
1402             //listeners
1403             this.el.key_press_event.connect( (ev) => {
1404             
1405                 if (ev.keyval == Gdk.Key.Tab) {
1406                     _this.database_DBUSERNAME.el.grab_focus();
1407                     return true;
1408                 }
1409             
1410             
1411                 return false;
1412             });
1413         }
1414
1415         // user defined functions
1416     }
1417
1418     public class Xcls_Label38 : Object
1419     {
1420         public Gtk.Label el;
1421         private Xcls_RooProjectSettings  _this;
1422
1423
1424             // my vars (def)
1425
1426         // ctor
1427         public Xcls_Label38(Xcls_RooProjectSettings _owner )
1428         {
1429             _this = _owner;
1430             this.el = new Gtk.Label( "Username" );
1431
1432             // my vars (dec)
1433
1434             // set gobject values
1435             this.el.xalign = 0f;
1436         }
1437
1438         // user defined functions
1439     }
1440
1441     public class Xcls_database_DBUSERNAME : Object
1442     {
1443         public Gtk.Entry el;
1444         private Xcls_RooProjectSettings  _this;
1445
1446
1447             // my vars (def)
1448
1449         // ctor
1450         public Xcls_database_DBUSERNAME(Xcls_RooProjectSettings _owner )
1451         {
1452             _this = _owner;
1453             _this.database_DBUSERNAME = this;
1454             this.el = new Gtk.Entry();
1455
1456             // my vars (dec)
1457
1458             // set gobject values
1459
1460             //listeners
1461             this.el.key_press_event.connect( (ev) => {
1462             
1463                 if (ev.keyval == Gdk.Key.Tab) {
1464                     _this.database_DBPASSWORD.el.grab_focus();
1465                     return true;
1466                 }
1467             
1468             
1469                 return false;
1470             });
1471         }
1472
1473         // user defined functions
1474     }
1475
1476     public class Xcls_Label40 : Object
1477     {
1478         public Gtk.Label el;
1479         private Xcls_RooProjectSettings  _this;
1480
1481
1482             // my vars (def)
1483
1484         // ctor
1485         public Xcls_Label40(Xcls_RooProjectSettings _owner )
1486         {
1487             _this = _owner;
1488             this.el = new Gtk.Label( "Password" );
1489
1490             // my vars (dec)
1491
1492             // set gobject values
1493             this.el.xalign = 0f;
1494         }
1495
1496         // user defined functions
1497     }
1498
1499     public class Xcls_database_DBPASSWORD : Object
1500     {
1501         public Gtk.Entry el;
1502         private Xcls_RooProjectSettings  _this;
1503
1504
1505             // my vars (def)
1506
1507         // ctor
1508         public Xcls_database_DBPASSWORD(Xcls_RooProjectSettings _owner )
1509         {
1510             _this = _owner;
1511             _this.database_DBPASSWORD = this;
1512             this.el = new Gtk.Entry();
1513
1514             // my vars (dec)
1515
1516             // set gobject values
1517         }
1518
1519         // user defined functions
1520     }
1521
1522     public class Xcls_Button42 : Object
1523     {
1524         public Gtk.Button el;
1525         private Xcls_RooProjectSettings  _this;
1526
1527
1528             // my vars (def)
1529
1530         // ctor
1531         public Xcls_Button42(Xcls_RooProjectSettings _owner )
1532         {
1533             _this = _owner;
1534             this.el = new Gtk.Button();
1535
1536             // my vars (dec)
1537
1538             // set gobject values
1539             this.el.label = "Check Connection";
1540
1541             //listeners
1542             this.el.clicked.connect( () => {
1543             
1544             
1545               _this.database_ERROR.el.label    = "";
1546                 Gda.Connection cnc;
1547                 try {
1548                     // assumes localhost...
1549                      cnc = Gda.Connection.open_from_string (
1550                                 _this.database_DBTYPE.el.get_text(),
1551                                 "DB_NAME=" + _this.database_DBNAME.el.get_text(), 
1552                                 "USERNAME=" + _this.database_DBUSERNAME.el.get_text() + 
1553                                 ";PASSWORD=" + _this.database_DBPASSWORD.el.get_text(),
1554                                 Gda.ConnectionOptions.NONE
1555                         );
1556                //} catch (Gda.ConnectionError ce) { 
1557                //   _this.database_ERROR.el.label = ce.message;        
1558                } catch(Gda.ConnectionError ue) {
1559                   _this.database_ERROR.el.label = ue.message;
1560                     return;
1561                }  catch(Gda.ConfigError ue) {
1562                   _this.database_ERROR.el.label = ue.message;
1563                     return;
1564                }
1565               _this.database_ERROR.el.label = "Connection Succeeded";
1566                cnc.close();
1567             });
1568         }
1569
1570         // user defined functions
1571     }
1572
1573     public class Xcls_database_ERROR : Object
1574     {
1575         public Gtk.Label el;
1576         private Xcls_RooProjectSettings  _this;
1577
1578
1579             // my vars (def)
1580
1581         // ctor
1582         public Xcls_database_ERROR(Xcls_RooProjectSettings _owner )
1583         {
1584             _this = _owner;
1585             _this.database_ERROR = this;
1586             this.el = new Gtk.Label( " " );
1587
1588             // my vars (dec)
1589
1590             // set gobject values
1591             this.el.margin = 3;
1592             this.el.xalign = 0f;
1593         }
1594
1595         // user defined functions
1596     }
1597
1598
1599
1600     public class Xcls_Box44 : Object
1601     {
1602         public Gtk.Box el;
1603         private Xcls_RooProjectSettings  _this;
1604
1605
1606             // my vars (def)
1607
1608         // ctor
1609         public Xcls_Box44(Xcls_RooProjectSettings _owner )
1610         {
1611             _this = _owner;
1612             this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
1613
1614             // my vars (dec)
1615
1616             // set gobject values
1617             this.el.homogeneous = true;
1618             this.el.expand = false;
1619             this.el.vexpand = false;
1620             var child_0 = new Xcls_Button45( _this );
1621             child_0.ref();
1622             this.el.add (  child_0.el  );
1623             var child_1 = new Xcls_Button46( _this );
1624             child_1.ref();
1625             this.el.add (  child_1.el  );
1626         }
1627
1628         // user defined functions
1629     }
1630     public class Xcls_Button45 : Object
1631     {
1632         public Gtk.Button el;
1633         private Xcls_RooProjectSettings  _this;
1634
1635
1636             // my vars (def)
1637
1638         // ctor
1639         public Xcls_Button45(Xcls_RooProjectSettings _owner )
1640         {
1641             _this = _owner;
1642             this.el = new Gtk.Button();
1643
1644             // my vars (dec)
1645
1646             // set gobject values
1647             this.el.label = "Apply";
1648
1649             //listeners
1650             this.el.button_press_event.connect( () => {
1651                 _this.save();
1652                       
1653                 _this.buttonPressed("apply");
1654                     return false;
1655             });
1656         }
1657
1658         // user defined functions
1659     }
1660
1661     public class Xcls_Button46 : Object
1662     {
1663         public Gtk.Button el;
1664         private Xcls_RooProjectSettings  _this;
1665
1666
1667             // my vars (def)
1668
1669         // ctor
1670         public Xcls_Button46(Xcls_RooProjectSettings _owner )
1671         {
1672             _this = _owner;
1673             this.el = new Gtk.Button();
1674
1675             // my vars (dec)
1676
1677             // set gobject values
1678             this.el.label = "Save";
1679
1680             //listeners
1681             this.el.button_press_event.connect( () => {
1682                    _this.save();
1683                       
1684                 _this.buttonPressed("save");
1685                     return false;
1686             });
1687         }
1688
1689         // user defined functions
1690     }
1691
1692
1693
1694 }