src/Builder4/ProjectSettings.bjs
[app.Builder.js] / src / Builder4 / ProjectSettings.vala
1 static Xcls_ProjectSettings  _ProjectSettings;
2
3 public class Xcls_ProjectSettings : Object 
4 {
5     public Gtk.VBox el;
6     private Xcls_ProjectSettings  _this;
7
8     public static Xcls_ProjectSettings singleton()
9     {
10         if (_ProjectSettings == null) {
11             _ProjectSettings= new Xcls_ProjectSettings();
12         }
13         return _ProjectSettings;
14     }
15     public Xcls_label_global label_global;
16     public Xcls_label_database label_database;
17     public Xcls_path path;
18     public Xcls_base_template base_template;
19     public Xcls_rootURL rootURL;
20     public Xcls_view view;
21     public Xcls_database_DBTYPE database_DBTYPE;
22     public Xcls_database_DBNAME database_DBNAME;
23     public Xcls_database_DBUSERNAME database_DBUSERNAME;
24     public Xcls_database_DBPASSWORD database_DBPASSWORD;
25     public Xcls_database_ERROR database_ERROR;
26
27         // my vars (def)
28     public signal void buttonPressed (string btn);
29     public Project.Project project;
30
31     // ctor 
32     public Xcls_ProjectSettings()
33     {
34         _this = this;
35         this.el = new Gtk.VBox( false, 0 );
36
37         // my vars (dec)
38
39         // set gobject values
40         this.el.border_width = 5;
41         var child_0 = new Xcls_Box2( _this );
42         child_0.ref();
43         this.el.pack_start (  child_0.el , false,false,0 );
44         var child_1 = new Xcls_Notebook5( _this );
45         child_1.ref();
46         this.el.pack_end (  child_1.el , true,true,0 );
47     }
48
49     // user defined functions 
50     public void show (Project.Project project) {
51         _this.project = project;
52         _this.path.el.label = project.firstPath();
53         // get the active project.
54          var lm = Gtk.SourceLanguageManager.get_default();
55                     
56         ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(
57         
58             lm.get_language("html"));
59       
60         //print (project.fn);
61         //project.runhtml = project.runhtml || '';
62         _this.view.el.get_buffer().set_text(project.runhtml);
63         
64            
65         _this.rootURL.el.set_text( _this.project.rootURL );
66         _this.base_template.el.set_text(_this.project.base_template);    
67          var js = _this.project;
68         _this.database_DBTYPE.el.set_text(     js.get_string_member("DBTYPE") );
69         _this.database_DBNAME.el.set_text(    js.get_string_member("DBNAME") );
70         _this.database_DBUSERNAME.el.set_text(    js.get_string_member("DBUSERNAME") );
71         _this.database_DBPASSWORD.el.set_text(    js.get_string_member("DBPASSWORD") );
72         //this.el.show_all();
73     }
74     public void save ()
75     {
76        var buf =    _this.view.el.get_buffer();
77        Gtk.TextIter s;
78          Gtk.TextIter e;
79         buf.get_start_iter(out s);
80         buf.get_end_iter(out e);
81           _this.project.runhtml = buf.get_text(s,e,true);
82           
83         _this.project.rootURL = _this.rootURL.el.get_text();
84         _this.project.base_template = _this.base_template.el.get_text();    
85         
86         var js = _this.project.json_project_data;
87         js.set_string_member("DBTYPE", _this.database_DBTYPE.el.get_text());
88        js.set_string_member("DBNAME", _this.database_DBNAME.el.get_text());
89         js.set_string_member("DBUSERNAME", _this.database_DBUSERNAME.el.get_text());
90         js.set_string_member("DBPASSWORD", _this.database_DBPASSWORD.el.get_text());
91     //    _this.project.set_string_member("DBHOST", _this.DBTYPE.el.get_text());    
92         
93         // need to re-init the database 
94         
95         _this.project.initRooDatabase();
96          
97         
98     }
99     public class Xcls_Box2 : Object 
100     {
101         public Gtk.Box el;
102         private Xcls_ProjectSettings  _this;
103
104
105             // my vars (def)
106
107         // ctor 
108         public Xcls_Box2(Xcls_ProjectSettings _owner )
109         {
110             _this = _owner;
111             this.el = new Gtk.Box( null, 0 );
112
113             // my vars (dec)
114
115             // set gobject values
116             this.el.homogeneous = true;
117             this.el.expand = false;
118             this.el.vexpand = false;
119             var child_0 = new Xcls_Button3( _this );
120             child_0.ref();
121             this.el.add (  child_0.el  );
122             var child_1 = new Xcls_Button4( _this );
123             child_1.ref();
124             this.el.add (  child_1.el  );
125         }
126
127         // user defined functions 
128     }
129     public class Xcls_Button3 : Object 
130     {
131         public Gtk.Button el;
132         private Xcls_ProjectSettings  _this;
133
134
135             // my vars (def)
136
137         // ctor 
138         public Xcls_Button3(Xcls_ProjectSettings _owner )
139         {
140             _this = _owner;
141             this.el = new Gtk.Button();
142
143             // my vars (dec)
144
145             // set gobject values
146             this.el.label = "Apply";
147
148             // listeners 
149             this.el.button_press_event.connect( () => {
150                 _this.save();
151                       
152                 _this.buttonPressed("apply");
153                     return false;
154             });
155         }
156
157         // user defined functions 
158     }
159     public class Xcls_Button4 : Object 
160     {
161         public Gtk.Button el;
162         private Xcls_ProjectSettings  _this;
163
164
165             // my vars (def)
166
167         // ctor 
168         public Xcls_Button4(Xcls_ProjectSettings _owner )
169         {
170             _this = _owner;
171             this.el = new Gtk.Button();
172
173             // my vars (dec)
174
175             // set gobject values
176             this.el.label = "Save";
177
178             // listeners 
179             this.el.button_press_event.connect( () => {
180                    _this.save();
181                       
182                 _this.buttonPressed("save");
183                     return false;
184             });
185         }
186
187         // user defined functions 
188     }
189     public class Xcls_Notebook5 : Object 
190     {
191         public Gtk.Notebook el;
192         private Xcls_ProjectSettings  _this;
193
194
195             // my vars (def)
196
197         // ctor 
198         public Xcls_Notebook5(Xcls_ProjectSettings _owner )
199         {
200             _this = _owner;
201             this.el = new Gtk.Notebook();
202
203             // my vars (dec)
204
205             // set gobject values
206             var child_0 = new Xcls_label_global( _this );
207             child_0.ref();
208             var child_1 = new Xcls_label_database( _this );
209             child_1.ref();
210             var child_2 = new Xcls_VBox8( _this );
211             child_2.ref();
212             this.el.append_page (  child_2.el , _this.label_global.el );
213             var child_3 = new Xcls_VBox19( _this );
214             child_3.ref();
215             this.el.append_page (  child_3.el , _this.label_database.el );
216         }
217
218         // user defined functions 
219     }
220     public class Xcls_label_global : Object 
221     {
222         public Gtk.Label el;
223         private Xcls_ProjectSettings  _this;
224
225
226             // my vars (def)
227
228         // ctor 
229         public Xcls_label_global(Xcls_ProjectSettings _owner )
230         {
231             _this = _owner;
232             _this.label_global = this;
233             this.el = new Gtk.Label( "Global" );
234
235             // my vars (dec)
236
237             // set gobject values
238         }
239
240         // user defined functions 
241     }
242     public class Xcls_label_database : Object 
243     {
244         public Gtk.Label el;
245         private Xcls_ProjectSettings  _this;
246
247
248             // my vars (def)
249
250         // ctor 
251         public Xcls_label_database(Xcls_ProjectSettings _owner )
252         {
253             _this = _owner;
254             _this.label_database = this;
255             this.el = new Gtk.Label( "Database" );
256
257             // my vars (dec)
258
259             // set gobject values
260         }
261
262         // user defined functions 
263     }
264     public class Xcls_VBox8 : Object 
265     {
266         public Gtk.VBox el;
267         private Xcls_ProjectSettings  _this;
268
269
270             // my vars (def)
271
272         // ctor 
273         public Xcls_VBox8(Xcls_ProjectSettings _owner )
274         {
275             _this = _owner;
276             this.el = new Gtk.VBox( false, 0 );
277
278             // my vars (dec)
279
280             // set gobject values
281             var child_0 = new Xcls_path( _this );
282             child_0.ref();
283             this.el.pack_start (  child_0.el , false,false,0 );
284             var child_1 = new Xcls_HBox10( _this );
285             child_1.ref();
286             this.el.pack_start (  child_1.el , false,false,0 );
287             var child_2 = new Xcls_HBox13( _this );
288             child_2.ref();
289             this.el.pack_start (  child_2.el , false,false,0 );
290             var child_3 = new Xcls_Label16( _this );
291             child_3.ref();
292             this.el.pack_start (  child_3.el , false,false,0 );
293             var child_4 = new Xcls_ScrolledWindow17( _this );
294             child_4.ref();
295             this.el.pack_start (  child_4.el , true,true,0 );
296         }
297
298         // user defined functions 
299     }
300     public class Xcls_path : Object 
301     {
302         public Gtk.Label el;
303         private Xcls_ProjectSettings  _this;
304
305
306             // my vars (def)
307
308         // ctor 
309         public Xcls_path(Xcls_ProjectSettings _owner )
310         {
311             _this = _owner;
312             _this.path = this;
313             this.el = new Gtk.Label( "filename" );
314
315             // my vars (dec)
316
317             // set gobject values
318             this.el.margin = 3;
319             this.el.xalign = 0f;
320         }
321
322         // user defined functions 
323     }
324     public class Xcls_HBox10 : Object 
325     {
326         public Gtk.HBox el;
327         private Xcls_ProjectSettings  _this;
328
329
330             // my vars (def)
331
332         // ctor 
333         public Xcls_HBox10(Xcls_ProjectSettings _owner )
334         {
335             _this = _owner;
336             this.el = new Gtk.HBox( false, 0 );
337
338             // my vars (dec)
339
340             // set gobject values
341             this.el.expand = false;
342             var child_0 = new Xcls_Label11( _this );
343             child_0.ref();
344             this.el.pack_start (  child_0.el , false,false,0 );
345             var child_1 = new Xcls_base_template( _this );
346             child_1.ref();
347             this.el.add (  child_1.el  );
348         }
349
350         // user defined functions 
351     }
352     public class Xcls_Label11 : Object 
353     {
354         public Gtk.Label el;
355         private Xcls_ProjectSettings  _this;
356
357
358             // my vars (def)
359
360         // ctor 
361         public Xcls_Label11(Xcls_ProjectSettings _owner )
362         {
363             _this = _owner;
364             this.el = new Gtk.Label( "HTML template file" );
365
366             // my vars (dec)
367
368             // set gobject values
369             this.el.margin = 3;
370         }
371
372         // user defined functions 
373     }
374     public class Xcls_base_template : Object 
375     {
376         public Gtk.Entry el;
377         private Xcls_ProjectSettings  _this;
378
379
380             // my vars (def)
381
382         // ctor 
383         public Xcls_base_template(Xcls_ProjectSettings _owner )
384         {
385             _this = _owner;
386             _this.base_template = this;
387             this.el = new Gtk.Entry();
388
389             // my vars (dec)
390
391             // set gobject values
392         }
393
394         // user defined functions 
395     }
396     public class Xcls_HBox13 : Object 
397     {
398         public Gtk.HBox el;
399         private Xcls_ProjectSettings  _this;
400
401
402             // my vars (def)
403
404         // ctor 
405         public Xcls_HBox13(Xcls_ProjectSettings _owner )
406         {
407             _this = _owner;
408             this.el = new Gtk.HBox( false, 0 );
409
410             // my vars (dec)
411
412             // set gobject values
413             this.el.expand = false;
414             var child_0 = new Xcls_Label14( _this );
415             child_0.ref();
416             this.el.pack_start (  child_0.el , false,false,0 );
417             var child_1 = new Xcls_rootURL( _this );
418             child_1.ref();
419             this.el.add (  child_1.el  );
420         }
421
422         // user defined functions 
423     }
424     public class Xcls_Label14 : Object 
425     {
426         public Gtk.Label el;
427         private Xcls_ProjectSettings  _this;
428
429
430             // my vars (def)
431
432         // ctor 
433         public Xcls_Label14(Xcls_ProjectSettings _owner )
434         {
435             _this = _owner;
436             this.el = new Gtk.Label( "root URL" );
437
438             // my vars (dec)
439
440             // set gobject values
441             this.el.margin = 3;
442         }
443
444         // user defined functions 
445     }
446     public class Xcls_rootURL : Object 
447     {
448         public Gtk.Entry el;
449         private Xcls_ProjectSettings  _this;
450
451
452             // my vars (def)
453
454         // ctor 
455         public Xcls_rootURL(Xcls_ProjectSettings _owner )
456         {
457             _this = _owner;
458             _this.rootURL = this;
459             this.el = new Gtk.Entry();
460
461             // my vars (dec)
462
463             // set gobject values
464         }
465
466         // user defined functions 
467     }
468     public class Xcls_Label16 : Object 
469     {
470         public Gtk.Label el;
471         private Xcls_ProjectSettings  _this;
472
473
474             // my vars (def)
475
476         // ctor 
477         public Xcls_Label16(Xcls_ProjectSettings _owner )
478         {
479             _this = _owner;
480             this.el = new Gtk.Label( "HTML To insert at end of <HEAD>" );
481
482             // my vars (dec)
483
484             // set gobject values
485         }
486
487         // user defined functions 
488     }
489     public class Xcls_ScrolledWindow17 : Object 
490     {
491         public Gtk.ScrolledWindow el;
492         private Xcls_ProjectSettings  _this;
493
494
495             // my vars (def)
496
497         // ctor 
498         public Xcls_ScrolledWindow17(Xcls_ProjectSettings _owner )
499         {
500             _this = _owner;
501             this.el = new Gtk.ScrolledWindow( null, null );
502
503             // my vars (dec)
504
505             // set gobject values
506             var child_0 = new Xcls_view( _this );
507             child_0.ref();
508             this.el.add (  child_0.el  );
509         }
510
511         // user defined functions 
512     }
513     public class Xcls_view : Object 
514     {
515         public Gtk.SourceView el;
516         private Xcls_ProjectSettings  _this;
517
518
519             // my vars (def)
520
521         // ctor 
522         public Xcls_view(Xcls_ProjectSettings _owner )
523         {
524             _this = _owner;
525             _this.view = this;
526             this.el = new Gtk.SourceView();
527
528             // my vars (dec)
529
530             // init method 
531
532             var description =   Pango.FontDescription.from_string("monospace");
533                 description.set_size(9000);
534                 this.el.override_font(description);
535
536             // listeners 
537             this.el.key_release_event.connect( ( event) =>{
538                 if (event.keyval != 115) {
539                     return false;
540                      
541                 }
542                 if   ( (event.state & Gdk.ModifierType.CONTROL_MASK ) < 1 ) {
543                     return false;
544                 }
545                  var buf =    this.el.get_buffer();
546                 Gtk.TextIter s;
547                 Gtk.TextIter e;
548                 buf.get_start_iter(out s);
549                 buf.get_end_iter(out e);
550                 _this.project.runhtml = buf.get_text(s,e,true);
551                 
552                       
553                 _this.buttonPressed("save");
554                  
555                 return false;
556                      
557             });
558         }
559
560         // user defined functions 
561     }
562     public class Xcls_VBox19 : Object 
563     {
564         public Gtk.VBox el;
565         private Xcls_ProjectSettings  _this;
566
567
568             // my vars (def)
569
570         // ctor 
571         public Xcls_VBox19(Xcls_ProjectSettings _owner )
572         {
573             _this = _owner;
574             this.el = new Gtk.VBox( false, 0 );
575
576             // my vars (dec)
577
578             // set gobject values
579             var child_0 = new Xcls_Label20( _this );
580             child_0.ref();
581             this.el.pack_start (  child_0.el , false,false,0 );
582             var child_1 = new Xcls_database_DBTYPE( _this );
583             child_1.ref();
584             this.el.pack_start (  child_1.el , false,false,0 );
585             var child_2 = new Xcls_Label22( _this );
586             child_2.ref();
587             this.el.pack_start (  child_2.el , false,false,0 );
588             var child_3 = new Xcls_database_DBNAME( _this );
589             child_3.ref();
590             this.el.pack_start (  child_3.el , false,false,0 );
591             var child_4 = new Xcls_Label24( _this );
592             child_4.ref();
593             this.el.pack_start (  child_4.el , false,false,0 );
594             var child_5 = new Xcls_database_DBUSERNAME( _this );
595             child_5.ref();
596             this.el.pack_start (  child_5.el , false,false,0 );
597             var child_6 = new Xcls_Label26( _this );
598             child_6.ref();
599             this.el.pack_start (  child_6.el , false,false,0 );
600             var child_7 = new Xcls_database_DBPASSWORD( _this );
601             child_7.ref();
602             this.el.pack_start (  child_7.el , false,false,0 );
603             var child_8 = new Xcls_Button28( _this );
604             child_8.ref();
605             this.el.pack_start (  child_8.el , false,false,0 );
606             var child_9 = new Xcls_database_ERROR( _this );
607             child_9.ref();
608             this.el.pack_start (  child_9.el , false,false,0 );
609         }
610
611         // user defined functions 
612     }
613     public class Xcls_Label20 : Object 
614     {
615         public Gtk.Label el;
616         private Xcls_ProjectSettings  _this;
617
618
619             // my vars (def)
620
621         // ctor 
622         public Xcls_Label20(Xcls_ProjectSettings _owner )
623         {
624             _this = _owner;
625             this.el = new Gtk.Label( "Type (eg. MySQL or PostgreSQL)" );
626
627             // my vars (dec)
628
629             // set gobject values
630             this.el.xalign = 0f;
631         }
632
633         // user defined functions 
634     }
635     public class Xcls_database_DBTYPE : Object 
636     {
637         public Gtk.Entry el;
638         private Xcls_ProjectSettings  _this;
639
640
641             // my vars (def)
642
643         // ctor 
644         public Xcls_database_DBTYPE(Xcls_ProjectSettings _owner )
645         {
646             _this = _owner;
647             _this.database_DBTYPE = this;
648             this.el = new Gtk.Entry();
649
650             // my vars (dec)
651
652             // set gobject values
653
654             // listeners 
655             this.el.key_press_event.connect( (ev) => {
656             
657                 if (ev.keyval == Gdk.Key.Tab) {
658                     _this.database_DBNAME.el.grab_focus();
659                     return true;
660                 }
661             
662             
663                 return false;
664             });
665         }
666
667         // user defined functions 
668     }
669     public class Xcls_Label22 : Object 
670     {
671         public Gtk.Label el;
672         private Xcls_ProjectSettings  _this;
673
674
675             // my vars (def)
676
677         // ctor 
678         public Xcls_Label22(Xcls_ProjectSettings _owner )
679         {
680             _this = _owner;
681             this.el = new Gtk.Label( "Name" );
682
683             // my vars (dec)
684
685             // set gobject values
686             this.el.xalign = 0f;
687         }
688
689         // user defined functions 
690     }
691     public class Xcls_database_DBNAME : Object 
692     {
693         public Gtk.Entry el;
694         private Xcls_ProjectSettings  _this;
695
696
697             // my vars (def)
698
699         // ctor 
700         public Xcls_database_DBNAME(Xcls_ProjectSettings _owner )
701         {
702             _this = _owner;
703             _this.database_DBNAME = this;
704             this.el = new Gtk.Entry();
705
706             // my vars (dec)
707
708             // set gobject values
709
710             // listeners 
711             this.el.key_press_event.connect( (ev) => {
712             
713                 if (ev.keyval == Gdk.Key.Tab) {
714                     _this.database_DBUSERNAME.el.grab_focus();
715                     return true;
716                 }
717             
718             
719                 return false;
720             });
721         }
722
723         // user defined functions 
724     }
725     public class Xcls_Label24 : Object 
726     {
727         public Gtk.Label el;
728         private Xcls_ProjectSettings  _this;
729
730
731             // my vars (def)
732
733         // ctor 
734         public Xcls_Label24(Xcls_ProjectSettings _owner )
735         {
736             _this = _owner;
737             this.el = new Gtk.Label( "Username" );
738
739             // my vars (dec)
740
741             // set gobject values
742             this.el.xalign = 0f;
743         }
744
745         // user defined functions 
746     }
747     public class Xcls_database_DBUSERNAME : Object 
748     {
749         public Gtk.Entry el;
750         private Xcls_ProjectSettings  _this;
751
752
753             // my vars (def)
754
755         // ctor 
756         public Xcls_database_DBUSERNAME(Xcls_ProjectSettings _owner )
757         {
758             _this = _owner;
759             _this.database_DBUSERNAME = this;
760             this.el = new Gtk.Entry();
761
762             // my vars (dec)
763
764             // set gobject values
765
766             // listeners 
767             this.el.key_press_event.connect( (ev) => {
768             
769                 if (ev.keyval == Gdk.Key.Tab) {
770                     _this.database_DBPASSWORD.el.grab_focus();
771                     return true;
772                 }
773             
774             
775                 return false;
776             });
777         }
778
779         // user defined functions 
780     }
781     public class Xcls_Label26 : Object 
782     {
783         public Gtk.Label el;
784         private Xcls_ProjectSettings  _this;
785
786
787             // my vars (def)
788
789         // ctor 
790         public Xcls_Label26(Xcls_ProjectSettings _owner )
791         {
792             _this = _owner;
793             this.el = new Gtk.Label( "Password" );
794
795             // my vars (dec)
796
797             // set gobject values
798             this.el.xalign = 0f;
799         }
800
801         // user defined functions 
802     }
803     public class Xcls_database_DBPASSWORD : Object 
804     {
805         public Gtk.Entry el;
806         private Xcls_ProjectSettings  _this;
807
808
809             // my vars (def)
810
811         // ctor 
812         public Xcls_database_DBPASSWORD(Xcls_ProjectSettings _owner )
813         {
814             _this = _owner;
815             _this.database_DBPASSWORD = this;
816             this.el = new Gtk.Entry();
817
818             // my vars (dec)
819
820             // set gobject values
821         }
822
823         // user defined functions 
824     }
825     public class Xcls_Button28 : Object 
826     {
827         public Gtk.Button el;
828         private Xcls_ProjectSettings  _this;
829
830
831             // my vars (def)
832
833         // ctor 
834         public Xcls_Button28(Xcls_ProjectSettings _owner )
835         {
836             _this = _owner;
837             this.el = new Gtk.Button();
838
839             // my vars (dec)
840
841             // set gobject values
842             this.el.label = "Check Connection";
843
844             // listeners 
845             this.el.clicked.connect( () => {
846             
847             
848               _this.database_ERROR.el.label    = "";
849                 Gda.Connection cnc;
850                 try {
851                     // assumes localhost...
852                      cnc = Gda.Connection.open_from_string (
853                                 _this.database_DBTYPE.el.get_text(),
854                                 "DB_NAME=" + _this.database_DBNAME.el.get_text(), 
855                                 "USERNAME=" + _this.database_DBUSERNAME.el.get_text() + 
856                                 ";PASSWORD=" + _this.database_DBPASSWORD.el.get_text(),
857                                 Gda.ConnectionOptions.NONE
858                         );
859                //} catch (Gda.ConnectionError ce) { 
860                //   _this.database_ERROR.el.label = ce.message;        
861                } catch(Gda.ConnectionError ue) {
862                   _this.database_ERROR.el.label = ue.message;
863                     return;
864                }  catch(Gda.ConfigError ue) {
865                   _this.database_ERROR.el.label = ue.message;
866                     return;
867                }
868               _this.database_ERROR.el.label = "Connection Succeeded";
869                cnc.close();
870             });
871         }
872
873         // user defined functions 
874     }
875     public class Xcls_database_ERROR : Object 
876     {
877         public Gtk.Label el;
878         private Xcls_ProjectSettings  _this;
879
880
881             // my vars (def)
882
883         // ctor 
884         public Xcls_database_ERROR(Xcls_ProjectSettings _owner )
885         {
886             _this = _owner;
887             _this.database_ERROR = this;
888             this.el = new Gtk.Label( " " );
889
890             // my vars (dec)
891
892             // set gobject values
893             this.el.margin = 3;
894             this.el.xalign = 0f;
895         }
896
897         // user defined functions 
898     }
899 }