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_Box2( _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_Box2 : Object
102 private Xcls_ProjectSettings _this;
108 public Xcls_Box2(Xcls_ProjectSettings _owner )
111 this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
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 );
121 this.el.add ( child_0.el );
122 var child_1 = new Xcls_Button4( _this );
124 this.el.add ( child_1.el );
127 // user defined functions
129 public class Xcls_Button3 : Object
131 public Gtk.Button el;
132 private Xcls_ProjectSettings _this;
138 public Xcls_Button3(Xcls_ProjectSettings _owner )
141 this.el = new Gtk.Button();
145 // set gobject values
146 this.el.label = "Apply";
149 this.el.button_press_event.connect( () => {
152 _this.buttonPressed("apply");
157 // user defined functions
159 public class Xcls_Button4 : Object
161 public Gtk.Button el;
162 private Xcls_ProjectSettings _this;
168 public Xcls_Button4(Xcls_ProjectSettings _owner )
171 this.el = new Gtk.Button();
175 // set gobject values
176 this.el.label = "Save";
179 this.el.button_press_event.connect( () => {
182 _this.buttonPressed("save");
187 // user defined functions
189 public class Xcls_Notebook5 : Object
191 public Gtk.Notebook el;
192 private Xcls_ProjectSettings _this;
198 public Xcls_Notebook5(Xcls_ProjectSettings _owner )
201 this.el = new Gtk.Notebook();
205 // set gobject values
206 var child_0 = new Xcls_label_global( _this );
208 var child_1 = new Xcls_label_database( _this );
210 var child_2 = new Xcls_Box8( _this );
212 this.el.append_page ( child_2.el , _this.label_global.el );
213 var child_3 = new Xcls_Box19( _this );
215 this.el.append_page ( child_3.el , _this.label_database.el );
218 // user defined functions
220 public class Xcls_label_global : Object
223 private Xcls_ProjectSettings _this;
229 public Xcls_label_global(Xcls_ProjectSettings _owner )
232 _this.label_global = this;
233 this.el = new Gtk.Label( "Global" );
237 // set gobject values
240 // user defined functions
242 public class Xcls_label_database : Object
245 private Xcls_ProjectSettings _this;
251 public Xcls_label_database(Xcls_ProjectSettings _owner )
254 _this.label_database = this;
255 this.el = new Gtk.Label( "Database" );
259 // set gobject values
262 // user defined functions
264 public class Xcls_Box8 : Object
267 private Xcls_ProjectSettings _this;
273 public Xcls_Box8(Xcls_ProjectSettings _owner )
276 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
280 // set gobject values
281 this.el.homogeneous = false;
282 var child_0 = new Xcls_path( _this );
284 this.el.pack_start ( child_0.el , false,false,0 );
285 var child_1 = new Xcls_Box10( _this );
287 this.el.pack_start ( child_1.el , false,false,0 );
288 var child_2 = new Xcls_Box13( _this );
290 this.el.pack_start ( child_2.el , false,false,0 );
291 var child_3 = new Xcls_Label16( _this );
293 this.el.pack_start ( child_3.el , false,false,0 );
294 var child_4 = new Xcls_ScrolledWindow17( _this );
296 this.el.pack_start ( child_4.el , true,true,0 );
299 // user defined functions
301 public class Xcls_path : Object
304 private Xcls_ProjectSettings _this;
310 public Xcls_path(Xcls_ProjectSettings _owner )
314 this.el = new Gtk.Label( "filename" );
318 // set gobject values
323 // user defined functions
325 public class Xcls_Box10 : Object
328 private Xcls_ProjectSettings _this;
334 public Xcls_Box10(Xcls_ProjectSettings _owner )
337 this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
341 // set gobject values
342 this.el.homogeneous = false;
343 this.el.expand = false;
344 var child_0 = new Xcls_Label11( _this );
346 this.el.pack_start ( child_0.el , false,false,0 );
347 var child_1 = new Xcls_base_template( _this );
349 this.el.add ( child_1.el );
352 // user defined functions
354 public class Xcls_Label11 : Object
357 private Xcls_ProjectSettings _this;
363 public Xcls_Label11(Xcls_ProjectSettings _owner )
366 this.el = new Gtk.Label( "HTML template file" );
370 // set gobject values
374 // user defined functions
376 public class Xcls_base_template : Object
379 private Xcls_ProjectSettings _this;
385 public Xcls_base_template(Xcls_ProjectSettings _owner )
388 _this.base_template = this;
389 this.el = new Gtk.Entry();
393 // set gobject values
396 // user defined functions
398 public class Xcls_Box13 : Object
401 private Xcls_ProjectSettings _this;
407 public Xcls_Box13(Xcls_ProjectSettings _owner )
410 this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
414 // set gobject values
415 this.el.homogeneous = false;
416 this.el.expand = false;
417 var child_0 = new Xcls_Label14( _this );
419 this.el.pack_start ( child_0.el , false,false,0 );
420 var child_1 = new Xcls_rootURL( _this );
422 this.el.add ( child_1.el );
425 // user defined functions
427 public class Xcls_Label14 : Object
430 private Xcls_ProjectSettings _this;
436 public Xcls_Label14(Xcls_ProjectSettings _owner )
439 this.el = new Gtk.Label( "root URL" );
443 // set gobject values
447 // user defined functions
449 public class Xcls_rootURL : Object
452 private Xcls_ProjectSettings _this;
458 public Xcls_rootURL(Xcls_ProjectSettings _owner )
461 _this.rootURL = this;
462 this.el = new Gtk.Entry();
466 // set gobject values
469 // user defined functions
471 public class Xcls_Label16 : Object
474 private Xcls_ProjectSettings _this;
480 public Xcls_Label16(Xcls_ProjectSettings _owner )
483 this.el = new Gtk.Label( "HTML To insert at end of <HEAD>" );
487 // set gobject values
490 // user defined functions
492 public class Xcls_ScrolledWindow17 : Object
494 public Gtk.ScrolledWindow el;
495 private Xcls_ProjectSettings _this;
501 public Xcls_ScrolledWindow17(Xcls_ProjectSettings _owner )
504 this.el = new Gtk.ScrolledWindow( null, null );
508 // set gobject values
509 var child_0 = new Xcls_view( _this );
511 this.el.add ( child_0.el );
514 // user defined functions
516 public class Xcls_view : Object
518 public Gtk.SourceView el;
519 private Xcls_ProjectSettings _this;
525 public Xcls_view(Xcls_ProjectSettings _owner )
529 this.el = new Gtk.SourceView();
535 var description = Pango.FontDescription.from_string("monospace");
536 description.set_size(9000);
537 this.el.override_font(description);
540 this.el.key_release_event.connect( ( event) =>{
541 if (event.keyval != 115) {
545 if ( (event.state & Gdk.ModifierType.CONTROL_MASK ) < 1 ) {
548 var buf = this.el.get_buffer();
551 buf.get_start_iter(out s);
552 buf.get_end_iter(out e);
553 _this.project.runhtml = buf.get_text(s,e,true);
556 _this.buttonPressed("save");
563 // user defined functions
565 public class Xcls_Box19 : Object
568 private Xcls_ProjectSettings _this;
574 public Xcls_Box19(Xcls_ProjectSettings _owner )
577 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
581 // set gobject values
582 this.el.homogeneous = false;
583 var child_0 = new Xcls_Label20( _this );
585 this.el.pack_start ( child_0.el , false,false,0 );
586 var child_1 = new Xcls_database_DBTYPE( _this );
588 this.el.pack_start ( child_1.el , false,false,0 );
589 var child_2 = new Xcls_Label22( _this );
591 this.el.pack_start ( child_2.el , false,false,0 );
592 var child_3 = new Xcls_database_DBNAME( _this );
594 this.el.pack_start ( child_3.el , false,false,0 );
595 var child_4 = new Xcls_Label24( _this );
597 this.el.pack_start ( child_4.el , false,false,0 );
598 var child_5 = new Xcls_database_DBUSERNAME( _this );
600 this.el.pack_start ( child_5.el , false,false,0 );
601 var child_6 = new Xcls_Label26( _this );
603 this.el.pack_start ( child_6.el , false,false,0 );
604 var child_7 = new Xcls_database_DBPASSWORD( _this );
606 this.el.pack_start ( child_7.el , false,false,0 );
607 var child_8 = new Xcls_Button28( _this );
609 this.el.pack_start ( child_8.el , false,false,0 );
610 var child_9 = new Xcls_database_ERROR( _this );
612 this.el.pack_start ( child_9.el , false,false,0 );
615 // user defined functions
617 public class Xcls_Label20 : Object
620 private Xcls_ProjectSettings _this;
626 public Xcls_Label20(Xcls_ProjectSettings _owner )
629 this.el = new Gtk.Label( "Type (eg. MySQL or PostgreSQL)" );
633 // set gobject values
637 // user defined functions
639 public class Xcls_database_DBTYPE : Object
642 private Xcls_ProjectSettings _this;
648 public Xcls_database_DBTYPE(Xcls_ProjectSettings _owner )
651 _this.database_DBTYPE = this;
652 this.el = new Gtk.Entry();
656 // set gobject values
659 this.el.key_press_event.connect( (ev) => {
661 if (ev.keyval == Gdk.Key.Tab) {
662 _this.database_DBNAME.el.grab_focus();
671 // user defined functions
673 public class Xcls_Label22 : Object
676 private Xcls_ProjectSettings _this;
682 public Xcls_Label22(Xcls_ProjectSettings _owner )
685 this.el = new Gtk.Label( "Name" );
689 // set gobject values
693 // user defined functions
695 public class Xcls_database_DBNAME : Object
698 private Xcls_ProjectSettings _this;
704 public Xcls_database_DBNAME(Xcls_ProjectSettings _owner )
707 _this.database_DBNAME = this;
708 this.el = new Gtk.Entry();
712 // set gobject values
715 this.el.key_press_event.connect( (ev) => {
717 if (ev.keyval == Gdk.Key.Tab) {
718 _this.database_DBUSERNAME.el.grab_focus();
727 // user defined functions
729 public class Xcls_Label24 : Object
732 private Xcls_ProjectSettings _this;
738 public Xcls_Label24(Xcls_ProjectSettings _owner )
741 this.el = new Gtk.Label( "Username" );
745 // set gobject values
749 // user defined functions
751 public class Xcls_database_DBUSERNAME : Object
754 private Xcls_ProjectSettings _this;
760 public Xcls_database_DBUSERNAME(Xcls_ProjectSettings _owner )
763 _this.database_DBUSERNAME = this;
764 this.el = new Gtk.Entry();
768 // set gobject values
771 this.el.key_press_event.connect( (ev) => {
773 if (ev.keyval == Gdk.Key.Tab) {
774 _this.database_DBPASSWORD.el.grab_focus();
783 // user defined functions
785 public class Xcls_Label26 : Object
788 private Xcls_ProjectSettings _this;
794 public Xcls_Label26(Xcls_ProjectSettings _owner )
797 this.el = new Gtk.Label( "Password" );
801 // set gobject values
805 // user defined functions
807 public class Xcls_database_DBPASSWORD : Object
810 private Xcls_ProjectSettings _this;
816 public Xcls_database_DBPASSWORD(Xcls_ProjectSettings _owner )
819 _this.database_DBPASSWORD = this;
820 this.el = new Gtk.Entry();
824 // set gobject values
827 // user defined functions
829 public class Xcls_Button28 : Object
831 public Gtk.Button el;
832 private Xcls_ProjectSettings _this;
838 public Xcls_Button28(Xcls_ProjectSettings _owner )
841 this.el = new Gtk.Button();
845 // set gobject values
846 this.el.label = "Check Connection";
849 this.el.clicked.connect( () => {
852 _this.database_ERROR.el.label = "";
855 // assumes localhost...
856 cnc = Gda.Connection.open_from_string (
857 _this.database_DBTYPE.el.get_text(),
858 "DB_NAME=" + _this.database_DBNAME.el.get_text(),
859 "USERNAME=" + _this.database_DBUSERNAME.el.get_text() +
860 ";PASSWORD=" + _this.database_DBPASSWORD.el.get_text(),
861 Gda.ConnectionOptions.NONE
863 //} catch (Gda.ConnectionError ce) {
864 // _this.database_ERROR.el.label = ce.message;
865 } catch(Gda.ConnectionError ue) {
866 _this.database_ERROR.el.label = ue.message;
868 } catch(Gda.ConfigError ue) {
869 _this.database_ERROR.el.label = ue.message;
872 _this.database_ERROR.el.label = "Connection Succeeded";
877 // user defined functions
879 public class Xcls_database_ERROR : Object
882 private Xcls_ProjectSettings _this;
888 public Xcls_database_ERROR(Xcls_ProjectSettings _owner )
891 _this.database_ERROR = this;
892 this.el = new Gtk.Label( " " );
896 // set gobject values
901 // user defined functions