1 static Xcls_ProjectSettings _ProjectSettings;
3 public class Xcls_ProjectSettings : Object
6 private Xcls_ProjectSettings _this;
8 public static Xcls_ProjectSettings singleton()
10 if (_ProjectSettings == null) {
11 _ProjectSettings= new Xcls_ProjectSettings();
13 return _ProjectSettings;
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;
28 public signal void buttonPressed (string btn);
29 public Project.Project project;
32 public Xcls_ProjectSettings()
35 this.el = new Gtk.VBox( false, 0 );
40 this.el.border_width = 5;
41 var child_0 = new Xcls_HBox2( _this );
43 this.el.pack_start ( child_0.el , false,false,0 );
44 var child_1 = new Xcls_Notebook5( _this );
46 this.el.pack_end ( child_1.el , true,true,0 );
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();
56 ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(
58 lm.get_language("html"));
61 //project.runhtml = project.runhtml || '';
62 _this.view.el.get_buffer().set_text(project.runhtml);
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") );
76 var buf = _this.view.el.get_buffer();
79 buf.get_start_iter(out s);
80 buf.get_end_iter(out e);
81 _this.project.runhtml = buf.get_text(s,e,true);
83 _this.project.rootURL = _this.rootURL.el.get_text();
84 _this.project.base_template = _this.base_template.el.get_text();
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());
93 // need to re-init the database
95 _this.project.initRooDatabase();
99 public class Xcls_HBox2 : Object
102 private Xcls_ProjectSettings _this;
108 public Xcls_HBox2(Xcls_ProjectSettings _owner )
111 this.el = new Gtk.HBox( true, 0 );
115 // set gobject values
116 this.el.expand = false;
117 this.el.vexpand = false;
118 var child_0 = new Xcls_Button3( _this );
120 this.el.add ( child_0.el );
121 var child_1 = new Xcls_Button4( _this );
123 this.el.add ( child_1.el );
126 // user defined functions
128 public class Xcls_Button3 : Object
130 public Gtk.Button el;
131 private Xcls_ProjectSettings _this;
137 public Xcls_Button3(Xcls_ProjectSettings _owner )
140 this.el = new Gtk.Button();
144 // set gobject values
145 this.el.label = "Apply";
148 this.el.button_press_event.connect( () => {
151 _this.buttonPressed("apply");
156 // user defined functions
158 public class Xcls_Button4 : Object
160 public Gtk.Button el;
161 private Xcls_ProjectSettings _this;
167 public Xcls_Button4(Xcls_ProjectSettings _owner )
170 this.el = new Gtk.Button();
174 // set gobject values
175 this.el.label = "Save";
178 this.el.button_press_event.connect( () => {
181 _this.buttonPressed("save");
186 // user defined functions
188 public class Xcls_Notebook5 : Object
190 public Gtk.Notebook el;
191 private Xcls_ProjectSettings _this;
197 public Xcls_Notebook5(Xcls_ProjectSettings _owner )
200 this.el = new Gtk.Notebook();
204 // set gobject values
205 var child_0 = new Xcls_label_global( _this );
207 var child_1 = new Xcls_label_database( _this );
209 var child_2 = new Xcls_VBox8( _this );
211 this.el.append_page ( child_2.el , _this.label_global.el );
212 var child_3 = new Xcls_VBox19( _this );
214 this.el.append_page ( child_3.el , _this.label_database.el );
217 // user defined functions
219 public class Xcls_label_global : Object
222 private Xcls_ProjectSettings _this;
228 public Xcls_label_global(Xcls_ProjectSettings _owner )
231 _this.label_global = this;
232 this.el = new Gtk.Label( "Global" );
236 // set gobject values
239 // user defined functions
241 public class Xcls_label_database : Object
244 private Xcls_ProjectSettings _this;
250 public Xcls_label_database(Xcls_ProjectSettings _owner )
253 _this.label_database = this;
254 this.el = new Gtk.Label( "Database" );
258 // set gobject values
261 // user defined functions
263 public class Xcls_VBox8 : Object
266 private Xcls_ProjectSettings _this;
272 public Xcls_VBox8(Xcls_ProjectSettings _owner )
275 this.el = new Gtk.VBox( false, 0 );
279 // set gobject values
280 var child_0 = new Xcls_path( _this );
282 this.el.pack_start ( child_0.el , false,false,0 );
283 var child_1 = new Xcls_HBox10( _this );
285 this.el.pack_start ( child_1.el , false,false,0 );
286 var child_2 = new Xcls_HBox13( _this );
288 this.el.pack_start ( child_2.el , false,false,0 );
289 var child_3 = new Xcls_Label16( _this );
291 this.el.pack_start ( child_3.el , false,false,0 );
292 var child_4 = new Xcls_ScrolledWindow17( _this );
294 this.el.pack_start ( child_4.el , true,true,0 );
297 // user defined functions
299 public class Xcls_path : Object
302 private Xcls_ProjectSettings _this;
308 public Xcls_path(Xcls_ProjectSettings _owner )
312 this.el = new Gtk.Label( "filename" );
316 // set gobject values
321 // user defined functions
323 public class Xcls_HBox10 : Object
326 private Xcls_ProjectSettings _this;
332 public Xcls_HBox10(Xcls_ProjectSettings _owner )
335 this.el = new Gtk.HBox( false, 0 );
339 // set gobject values
340 this.el.expand = false;
341 var child_0 = new Xcls_Label11( _this );
343 this.el.pack_start ( child_0.el , false,false,0 );
344 var child_1 = new Xcls_base_template( _this );
346 this.el.add ( child_1.el );
349 // user defined functions
351 public class Xcls_Label11 : Object
354 private Xcls_ProjectSettings _this;
360 public Xcls_Label11(Xcls_ProjectSettings _owner )
363 this.el = new Gtk.Label( "HTML template file" );
367 // set gobject values
371 // user defined functions
373 public class Xcls_base_template : Object
376 private Xcls_ProjectSettings _this;
382 public Xcls_base_template(Xcls_ProjectSettings _owner )
385 _this.base_template = this;
386 this.el = new Gtk.Entry();
390 // set gobject values
393 // user defined functions
395 public class Xcls_HBox13 : Object
398 private Xcls_ProjectSettings _this;
404 public Xcls_HBox13(Xcls_ProjectSettings _owner )
407 this.el = new Gtk.HBox( false, 0 );
411 // set gobject values
412 this.el.expand = false;
413 var child_0 = new Xcls_Label14( _this );
415 this.el.pack_start ( child_0.el , false,false,0 );
416 var child_1 = new Xcls_rootURL( _this );
418 this.el.add ( child_1.el );
421 // user defined functions
423 public class Xcls_Label14 : Object
426 private Xcls_ProjectSettings _this;
432 public Xcls_Label14(Xcls_ProjectSettings _owner )
435 this.el = new Gtk.Label( "root URL" );
439 // set gobject values
443 // user defined functions
445 public class Xcls_rootURL : Object
448 private Xcls_ProjectSettings _this;
454 public Xcls_rootURL(Xcls_ProjectSettings _owner )
457 _this.rootURL = this;
458 this.el = new Gtk.Entry();
462 // set gobject values
465 // user defined functions
467 public class Xcls_Label16 : Object
470 private Xcls_ProjectSettings _this;
476 public Xcls_Label16(Xcls_ProjectSettings _owner )
479 this.el = new Gtk.Label( "HTML To insert at end of <HEAD>" );
483 // set gobject values
486 // user defined functions
488 public class Xcls_ScrolledWindow17 : Object
490 public Gtk.ScrolledWindow el;
491 private Xcls_ProjectSettings _this;
497 public Xcls_ScrolledWindow17(Xcls_ProjectSettings _owner )
500 this.el = new Gtk.ScrolledWindow( null, null );
504 // set gobject values
505 var child_0 = new Xcls_view( _this );
507 this.el.add ( child_0.el );
510 // user defined functions
512 public class Xcls_view : Object
514 public Gtk.SourceView el;
515 private Xcls_ProjectSettings _this;
521 public Xcls_view(Xcls_ProjectSettings _owner )
525 this.el = new Gtk.SourceView();
531 var description = Pango.FontDescription.from_string("monospace");
532 description.set_size(9000);
533 this.el.override_font(description);
536 this.el.key_release_event.connect( ( event) =>{
537 if (event.keyval != 115) {
541 if ( (event.state & Gdk.ModifierType.CONTROL_MASK ) < 1 ) {
544 var buf = this.el.get_buffer();
547 buf.get_start_iter(out s);
548 buf.get_end_iter(out e);
549 _this.project.runhtml = buf.get_text(s,e,true);
552 _this.buttonPressed("save");
559 // user defined functions
561 public class Xcls_VBox19 : Object
564 private Xcls_ProjectSettings _this;
570 public Xcls_VBox19(Xcls_ProjectSettings _owner )
573 this.el = new Gtk.VBox( false, 0 );
577 // set gobject values
578 var child_0 = new Xcls_Label20( _this );
580 this.el.pack_start ( child_0.el , false,false,0 );
581 var child_1 = new Xcls_database_DBTYPE( _this );
583 this.el.pack_start ( child_1.el , false,false,0 );
584 var child_2 = new Xcls_Label22( _this );
586 this.el.pack_start ( child_2.el , false,false,0 );
587 var child_3 = new Xcls_database_DBNAME( _this );
589 this.el.pack_start ( child_3.el , false,false,0 );
590 var child_4 = new Xcls_Label24( _this );
592 this.el.pack_start ( child_4.el , false,false,0 );
593 var child_5 = new Xcls_database_DBUSERNAME( _this );
595 this.el.pack_start ( child_5.el , false,false,0 );
596 var child_6 = new Xcls_Label26( _this );
598 this.el.pack_start ( child_6.el , false,false,0 );
599 var child_7 = new Xcls_database_DBPASSWORD( _this );
601 this.el.pack_start ( child_7.el , false,false,0 );
602 var child_8 = new Xcls_Button28( _this );
604 this.el.pack_start ( child_8.el , false,false,0 );
605 var child_9 = new Xcls_database_ERROR( _this );
607 this.el.pack_start ( child_9.el , false,false,0 );
610 // user defined functions
612 public class Xcls_Label20 : Object
615 private Xcls_ProjectSettings _this;
621 public Xcls_Label20(Xcls_ProjectSettings _owner )
624 this.el = new Gtk.Label( "Type (eg. MySQL or PostgreSQL)" );
628 // set gobject values
632 // user defined functions
634 public class Xcls_database_DBTYPE : Object
637 private Xcls_ProjectSettings _this;
643 public Xcls_database_DBTYPE(Xcls_ProjectSettings _owner )
646 _this.database_DBTYPE = this;
647 this.el = new Gtk.Entry();
651 // set gobject values
654 this.el.key_press_event.connect( (ev) => {
656 if (ev.keyval == Gdk.Key.Tab) {
657 _this.database_DBNAME.el.grab_focus();
666 // user defined functions
668 public class Xcls_Label22 : Object
671 private Xcls_ProjectSettings _this;
677 public Xcls_Label22(Xcls_ProjectSettings _owner )
680 this.el = new Gtk.Label( "Name" );
684 // set gobject values
688 // user defined functions
690 public class Xcls_database_DBNAME : Object
693 private Xcls_ProjectSettings _this;
699 public Xcls_database_DBNAME(Xcls_ProjectSettings _owner )
702 _this.database_DBNAME = this;
703 this.el = new Gtk.Entry();
707 // set gobject values
710 this.el.key_press_event.connect( (ev) => {
712 if (ev.keyval == Gdk.Key.Tab) {
713 _this.database_DBUSERNAME.el.grab_focus();
722 // user defined functions
724 public class Xcls_Label24 : Object
727 private Xcls_ProjectSettings _this;
733 public Xcls_Label24(Xcls_ProjectSettings _owner )
736 this.el = new Gtk.Label( "Username" );
740 // set gobject values
744 // user defined functions
746 public class Xcls_database_DBUSERNAME : Object
749 private Xcls_ProjectSettings _this;
755 public Xcls_database_DBUSERNAME(Xcls_ProjectSettings _owner )
758 _this.database_DBUSERNAME = this;
759 this.el = new Gtk.Entry();
763 // set gobject values
766 this.el.key_press_event.connect( (ev) => {
768 if (ev.keyval == Gdk.Key.Tab) {
769 _this.database_DBPASSWORD.el.grab_focus();
778 // user defined functions
780 public class Xcls_Label26 : Object
783 private Xcls_ProjectSettings _this;
789 public Xcls_Label26(Xcls_ProjectSettings _owner )
792 this.el = new Gtk.Label( "Password" );
796 // set gobject values
800 // user defined functions
802 public class Xcls_database_DBPASSWORD : Object
805 private Xcls_ProjectSettings _this;
811 public Xcls_database_DBPASSWORD(Xcls_ProjectSettings _owner )
814 _this.database_DBPASSWORD = this;
815 this.el = new Gtk.Entry();
819 // set gobject values
822 // user defined functions
824 public class Xcls_Button28 : Object
826 public Gtk.Button el;
827 private Xcls_ProjectSettings _this;
833 public Xcls_Button28(Xcls_ProjectSettings _owner )
836 this.el = new Gtk.Button();
840 // set gobject values
841 this.el.label = "Check Connection";
844 this.el.clicked.connect( () => {
847 _this.database_ERROR.el.label = "";
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
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;
863 } catch(Gda.ConfigError ue) {
864 _this.database_ERROR.el.label = ue.message;
867 _this.database_ERROR.el.label = "Connection Succeeded";
872 // user defined functions
874 public class Xcls_database_ERROR : Object
877 private Xcls_ProjectSettings _this;
883 public Xcls_database_ERROR(Xcls_ProjectSettings _owner )
886 _this.database_ERROR = this;
887 this.el = new Gtk.Label( " " );
891 // set gobject values
896 // user defined functions