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             // set gobject values
530
531             // init method 
532
533             var description =   Pango.FontDescription.from_string("monospace");
534                 description.set_size(9000);
535                 this.el.override_font(description);
536
537             // listeners 
538             this.el.key_release_event.connect( ( event) =>{
539                 if (event.keyval != 115) {
540                     return false;
541                      
542                 }
543                 if   ( (event.state & Gdk.ModifierType.CONTROL_MASK ) < 1 ) {
544                     return false;
545                 }
546                  var buf =    this.el.get_buffer();
547                 Gtk.TextIter s;
548                 Gtk.TextIter e;
549                 buf.get_start_iter(out s);
550                 buf.get_end_iter(out e);
551                 _this.project.runhtml = buf.get_text(s,e,true);
552                 
553                       
554                 _this.buttonPressed("save");
555                  
556                 return false;
557                      
558             });
559         }
560
561         // user defined functions 
562     }
563     public class Xcls_VBox19 : Object 
564     {
565         public Gtk.VBox el;
566         private Xcls_ProjectSettings  _this;
567
568
569             // my vars (def)
570
571         // ctor 
572         public Xcls_VBox19(Xcls_ProjectSettings _owner )
573         {
574             _this = _owner;
575             this.el = new Gtk.VBox( false, 0 );
576
577             // my vars (dec)
578
579             // set gobject values
580             var child_0 = new Xcls_Label20( _this );
581             child_0.ref();
582             this.el.pack_start (  child_0.el , false,false,0 );
583             var child_1 = new Xcls_database_DBTYPE( _this );
584             child_1.ref();
585             this.el.pack_start (  child_1.el , false,false,0 );
586             var child_2 = new Xcls_Label22( _this );
587             child_2.ref();
588             this.el.pack_start (  child_2.el , false,false,0 );
589             var child_3 = new Xcls_database_DBNAME( _this );
590             child_3.ref();
591             this.el.pack_start (  child_3.el , false,false,0 );
592             var child_4 = new Xcls_Label24( _this );
593             child_4.ref();
594             this.el.pack_start (  child_4.el , false,false,0 );
595             var child_5 = new Xcls_database_DBUSERNAME( _this );
596             child_5.ref();
597             this.el.pack_start (  child_5.el , false,false,0 );
598             var child_6 = new Xcls_Label26( _this );
599             child_6.ref();
600             this.el.pack_start (  child_6.el , false,false,0 );
601             var child_7 = new Xcls_database_DBPASSWORD( _this );
602             child_7.ref();
603             this.el.pack_start (  child_7.el , false,false,0 );
604             var child_8 = new Xcls_Button28( _this );
605             child_8.ref();
606             this.el.pack_start (  child_8.el , false,false,0 );
607             var child_9 = new Xcls_database_ERROR( _this );
608             child_9.ref();
609             this.el.pack_start (  child_9.el , false,false,0 );
610         }
611
612         // user defined functions 
613     }
614     public class Xcls_Label20 : Object 
615     {
616         public Gtk.Label el;
617         private Xcls_ProjectSettings  _this;
618
619
620             // my vars (def)
621
622         // ctor 
623         public Xcls_Label20(Xcls_ProjectSettings _owner )
624         {
625             _this = _owner;
626             this.el = new Gtk.Label( "Type (eg. MySQL or PostgreSQL)" );
627
628             // my vars (dec)
629
630             // set gobject values
631             this.el.xalign = 0f;
632         }
633
634         // user defined functions 
635     }
636     public class Xcls_database_DBTYPE : Object 
637     {
638         public Gtk.Entry el;
639         private Xcls_ProjectSettings  _this;
640
641
642             // my vars (def)
643
644         // ctor 
645         public Xcls_database_DBTYPE(Xcls_ProjectSettings _owner )
646         {
647             _this = _owner;
648             _this.database_DBTYPE = this;
649             this.el = new Gtk.Entry();
650
651             // my vars (dec)
652
653             // set gobject values
654
655             // listeners 
656             this.el.key_press_event.connect( (ev) => {
657             
658                 if (ev.keyval == Gdk.Key.Tab) {
659                     _this.database_DBNAME.el.grab_focus();
660                     return true;
661                 }
662             
663             
664                 return false;
665             });
666         }
667
668         // user defined functions 
669     }
670     public class Xcls_Label22 : Object 
671     {
672         public Gtk.Label el;
673         private Xcls_ProjectSettings  _this;
674
675
676             // my vars (def)
677
678         // ctor 
679         public Xcls_Label22(Xcls_ProjectSettings _owner )
680         {
681             _this = _owner;
682             this.el = new Gtk.Label( "Name" );
683
684             // my vars (dec)
685
686             // set gobject values
687             this.el.xalign = 0f;
688         }
689
690         // user defined functions 
691     }
692     public class Xcls_database_DBNAME : Object 
693     {
694         public Gtk.Entry el;
695         private Xcls_ProjectSettings  _this;
696
697
698             // my vars (def)
699
700         // ctor 
701         public Xcls_database_DBNAME(Xcls_ProjectSettings _owner )
702         {
703             _this = _owner;
704             _this.database_DBNAME = this;
705             this.el = new Gtk.Entry();
706
707             // my vars (dec)
708
709             // set gobject values
710
711             // listeners 
712             this.el.key_press_event.connect( (ev) => {
713             
714                 if (ev.keyval == Gdk.Key.Tab) {
715                     _this.database_DBUSERNAME.el.grab_focus();
716                     return true;
717                 }
718             
719             
720                 return false;
721             });
722         }
723
724         // user defined functions 
725     }
726     public class Xcls_Label24 : Object 
727     {
728         public Gtk.Label el;
729         private Xcls_ProjectSettings  _this;
730
731
732             // my vars (def)
733
734         // ctor 
735         public Xcls_Label24(Xcls_ProjectSettings _owner )
736         {
737             _this = _owner;
738             this.el = new Gtk.Label( "Username" );
739
740             // my vars (dec)
741
742             // set gobject values
743             this.el.xalign = 0f;
744         }
745
746         // user defined functions 
747     }
748     public class Xcls_database_DBUSERNAME : Object 
749     {
750         public Gtk.Entry el;
751         private Xcls_ProjectSettings  _this;
752
753
754             // my vars (def)
755
756         // ctor 
757         public Xcls_database_DBUSERNAME(Xcls_ProjectSettings _owner )
758         {
759             _this = _owner;
760             _this.database_DBUSERNAME = this;
761             this.el = new Gtk.Entry();
762
763             // my vars (dec)
764
765             // set gobject values
766
767             // listeners 
768             this.el.key_press_event.connect( (ev) => {
769             
770                 if (ev.keyval == Gdk.Key.Tab) {
771                     _this.database_DBPASSWORD.el.grab_focus();
772                     return true;
773                 }
774             
775             
776                 return false;
777             });
778         }
779
780         // user defined functions 
781     }
782     public class Xcls_Label26 : Object 
783     {
784         public Gtk.Label el;
785         private Xcls_ProjectSettings  _this;
786
787
788             // my vars (def)
789
790         // ctor 
791         public Xcls_Label26(Xcls_ProjectSettings _owner )
792         {
793             _this = _owner;
794             this.el = new Gtk.Label( "Password" );
795
796             // my vars (dec)
797
798             // set gobject values
799             this.el.xalign = 0f;
800         }
801
802         // user defined functions 
803     }
804     public class Xcls_database_DBPASSWORD : Object 
805     {
806         public Gtk.Entry el;
807         private Xcls_ProjectSettings  _this;
808
809
810             // my vars (def)
811
812         // ctor 
813         public Xcls_database_DBPASSWORD(Xcls_ProjectSettings _owner )
814         {
815             _this = _owner;
816             _this.database_DBPASSWORD = this;
817             this.el = new Gtk.Entry();
818
819             // my vars (dec)
820
821             // set gobject values
822         }
823
824         // user defined functions 
825     }
826     public class Xcls_Button28 : Object 
827     {
828         public Gtk.Button el;
829         private Xcls_ProjectSettings  _this;
830
831
832             // my vars (def)
833
834         // ctor 
835         public Xcls_Button28(Xcls_ProjectSettings _owner )
836         {
837             _this = _owner;
838             this.el = new Gtk.Button();
839
840             // my vars (dec)
841
842             // set gobject values
843             this.el.label = "Check Connection";
844
845             // listeners 
846             this.el.clicked.connect( () => {
847             
848             
849               _this.database_ERROR.el.label    = "";
850                 Gda.Connection cnc;
851                 try {
852                     // assumes localhost...
853                      cnc = Gda.Connection.open_from_string (
854                                 _this.database_DBTYPE.el.get_text(),
855                                 "DB_NAME=" + _this.database_DBNAME.el.get_text(), 
856                                 "USERNAME=" + _this.database_DBUSERNAME.el.get_text() + 
857                                 ";PASSWORD=" + _this.database_DBPASSWORD.el.get_text(),
858                                 Gda.ConnectionOptions.NONE
859                         );
860                //} catch (Gda.ConnectionError ce) { 
861                //   _this.database_ERROR.el.label = ce.message;        
862                } catch(Gda.ConnectionError ue) {
863                   _this.database_ERROR.el.label = ue.message;
864                     return;
865                }  catch(Gda.ConfigError ue) {
866                   _this.database_ERROR.el.label = ue.message;
867                     return;
868                }
869               _this.database_ERROR.el.label = "Connection Succeeded";
870                cnc.close();
871             });
872         }
873
874         // user defined functions 
875     }
876     public class Xcls_database_ERROR : Object 
877     {
878         public Gtk.Label el;
879         private Xcls_ProjectSettings  _this;
880
881
882             // my vars (def)
883
884         // ctor 
885         public Xcls_database_ERROR(Xcls_ProjectSettings _owner )
886         {
887             _this = _owner;
888             _this.database_ERROR = this;
889             this.el = new Gtk.Label( " " );
890
891             // my vars (dec)
892
893             // set gobject values
894             this.el.margin = 3;
895             this.el.xalign = 0f;
896         }
897
898         // user defined functions 
899     }
900 }