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