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_ProjectSettings ProjectSettings;
16 public Xcls_label_global label_global;
17 public Xcls_label_database label_database;
18 public Xcls_path path;
19 public Xcls_base_template base_template;
20 public Xcls_rootURL rootURL;
21 public Xcls_view view;
22 public Xcls_database_DBTYPE database_DBTYPE;
23 public Xcls_database_DBNAME database_DBNAME;
24 public Xcls_database_DBUSERNAME database_DBUSERNAME;
25 public Xcls_database_DBPASSWORD database_DBPASSWORD;
26 public Xcls_database_ERROR database_ERROR;
31 public Xcls_ProjectSettings()
34 this.el = new Gtk.Popover( null );
39 var child_0 = new Xcls_ProjectSettings( _this );
43 // user defined functions
44 public void show (Project.Project project) {
45 _this.project = project;
46 _this.path.el.label = project.firstPath();
47 // get the active project.
48 var lm = Gtk.SourceLanguageManager.get_default();
50 ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(
52 lm.get_language("html"));
55 //project.runhtml = project.runhtml || '';
56 _this.view.el.get_buffer().set_text(project.runhtml);
59 _this.rootURL.el.set_text( _this.project.rootURL );
60 _this.base_template.el.set_text(_this.project.base_template);
61 var js = _this.project;
62 _this.database_DBTYPE.el.set_text( js.get_string_member("DBTYPE") );
63 _this.database_DBNAME.el.set_text( js.get_string_member("DBNAME") );
64 _this.database_DBUSERNAME.el.set_text( js.get_string_member("DBUSERNAME") );
65 _this.database_DBPASSWORD.el.set_text( js.get_string_member("DBPASSWORD") );
69 var buf = _this.view.el.get_buffer();
72 buf.get_start_iter(out s);
73 buf.get_end_iter(out e);
74 _this.project.runhtml = buf.get_text(s,e,true);
76 _this.project.rootURL = _this.rootURL.el.get_text();
77 _this.project.base_template = _this.base_template.el.get_text();
79 var js = _this.project.json_project_data;
80 js.set_string_member("DBTYPE", _this.database_DBTYPE.el.get_text());
81 js.set_string_member("DBNAME", _this.database_DBNAME.el.get_text());
82 js.set_string_member("DBUSERNAME", _this.database_DBUSERNAME.el.get_text());
83 js.set_string_member("DBPASSWORD", _this.database_DBPASSWORD.el.get_text());
84 // _this.project.set_string_member("DBHOST", _this.DBTYPE.el.get_text());
86 // need to re-init the database
88 _this.project.initRooDatabase();
92 public class Xcls_ProjectSettings : Object
95 private Xcls_ProjectSettings _this;
99 public signal void buttonPressed (string btn);
100 public Project.Project project;
103 public Xcls_ProjectSettings(Xcls_ProjectSettings _owner )
106 _this.ProjectSettings = this;
107 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
111 // set gobject values
112 this.el.homogeneous = false;
113 this.el.border_width = 5;
114 var child_0 = new Xcls_Box3( _this );
116 this.el.pack_start ( child_0.el , false,false,0 );
117 var child_1 = new Xcls_Notebook6( _this );
119 this.el.pack_end ( child_1.el , true,true,0 );
122 // user defined functions
123 public void show (Project.Project project) {
124 _this.project = project;
125 _this.path.el.label = project.firstPath();
126 // get the active project.
127 var lm = Gtk.SourceLanguageManager.get_default();
129 ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(
131 lm.get_language("html"));
133 //print (project.fn);
134 //project.runhtml = project.runhtml || '';
135 _this.view.el.get_buffer().set_text(project.runhtml);
138 _this.rootURL.el.set_text( _this.project.rootURL );
139 _this.base_template.el.set_text(_this.project.base_template);
140 var js = _this.project;
141 _this.database_DBTYPE.el.set_text( js.get_string_member("DBTYPE") );
142 _this.database_DBNAME.el.set_text( js.get_string_member("DBNAME") );
143 _this.database_DBUSERNAME.el.set_text( js.get_string_member("DBUSERNAME") );
144 _this.database_DBPASSWORD.el.set_text( js.get_string_member("DBPASSWORD") );
145 //this.el.show_all();
147 public void save () {
148 var buf = _this.view.el.get_buffer();
151 buf.get_start_iter(out s);
152 buf.get_end_iter(out e);
153 _this.project.runhtml = buf.get_text(s,e,true);
155 _this.project.rootURL = _this.rootURL.el.get_text();
156 _this.project.base_template = _this.base_template.el.get_text();
158 var js = _this.project.json_project_data;
159 js.set_string_member("DBTYPE", _this.database_DBTYPE.el.get_text());
160 js.set_string_member("DBNAME", _this.database_DBNAME.el.get_text());
161 js.set_string_member("DBUSERNAME", _this.database_DBUSERNAME.el.get_text());
162 js.set_string_member("DBPASSWORD", _this.database_DBPASSWORD.el.get_text());
163 // _this.project.set_string_member("DBHOST", _this.DBTYPE.el.get_text());
165 // need to re-init the database
167 _this.project.initRooDatabase();
172 public class Xcls_Box3 : Object
175 private Xcls_ProjectSettings _this;
181 public Xcls_Box3(Xcls_ProjectSettings _owner )
184 this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
188 // set gobject values
189 this.el.homogeneous = true;
190 this.el.expand = false;
191 this.el.vexpand = false;
192 var child_0 = new Xcls_Button4( _this );
194 this.el.add ( child_0.el );
195 var child_1 = new Xcls_Button5( _this );
197 this.el.add ( child_1.el );
200 // user defined functions
202 public class Xcls_Button4 : Object
204 public Gtk.Button el;
205 private Xcls_ProjectSettings _this;
211 public Xcls_Button4(Xcls_ProjectSettings _owner )
214 this.el = new Gtk.Button();
218 // set gobject values
219 this.el.label = "Apply";
222 this.el.button_press_event.connect( () => {
225 _this.buttonPressed("apply");
230 // user defined functions
233 public class Xcls_Button5 : Object
235 public Gtk.Button el;
236 private Xcls_ProjectSettings _this;
242 public Xcls_Button5(Xcls_ProjectSettings _owner )
245 this.el = new Gtk.Button();
249 // set gobject values
250 this.el.label = "Save";
253 this.el.button_press_event.connect( () => {
256 _this.buttonPressed("save");
261 // user defined functions
265 public class Xcls_Notebook6 : Object
267 public Gtk.Notebook el;
268 private Xcls_ProjectSettings _this;
274 public Xcls_Notebook6(Xcls_ProjectSettings _owner )
277 this.el = new Gtk.Notebook();
281 // set gobject values
282 var child_0 = new Xcls_label_global( _this );
284 var child_1 = new Xcls_label_database( _this );
286 var child_2 = new Xcls_Box9( _this );
288 this.el.append_page ( child_2.el , _this.label_global.el );
289 var child_3 = new Xcls_Box20( _this );
291 this.el.append_page ( child_3.el , _this.label_database.el );
294 // user defined functions
296 public class Xcls_label_global : Object
299 private Xcls_ProjectSettings _this;
305 public Xcls_label_global(Xcls_ProjectSettings _owner )
308 _this.label_global = this;
309 this.el = new Gtk.Label( "Global" );
313 // set gobject values
316 // user defined functions
319 public class Xcls_label_database : Object
322 private Xcls_ProjectSettings _this;
328 public Xcls_label_database(Xcls_ProjectSettings _owner )
331 _this.label_database = this;
332 this.el = new Gtk.Label( "Database" );
336 // set gobject values
339 // user defined functions
342 public class Xcls_Box9 : Object
345 private Xcls_ProjectSettings _this;
351 public Xcls_Box9(Xcls_ProjectSettings _owner )
354 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
358 // set gobject values
359 this.el.homogeneous = false;
360 var child_0 = new Xcls_path( _this );
362 this.el.pack_start ( child_0.el , false,false,0 );
363 var child_1 = new Xcls_Box11( _this );
365 this.el.pack_start ( child_1.el , false,false,0 );
366 var child_2 = new Xcls_Box14( _this );
368 this.el.pack_start ( child_2.el , false,false,0 );
369 var child_3 = new Xcls_Label17( _this );
371 this.el.pack_start ( child_3.el , false,false,0 );
372 var child_4 = new Xcls_ScrolledWindow18( _this );
374 this.el.pack_start ( child_4.el , true,true,0 );
377 // user defined functions
379 public class Xcls_path : Object
382 private Xcls_ProjectSettings _this;
388 public Xcls_path(Xcls_ProjectSettings _owner )
392 this.el = new Gtk.Label( "filename" );
396 // set gobject values
401 // user defined functions
404 public class Xcls_Box11 : Object
407 private Xcls_ProjectSettings _this;
413 public Xcls_Box11(Xcls_ProjectSettings _owner )
416 this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
420 // set gobject values
421 this.el.homogeneous = false;
422 this.el.expand = false;
423 var child_0 = new Xcls_Label12( _this );
425 this.el.pack_start ( child_0.el , false,false,0 );
426 var child_1 = new Xcls_base_template( _this );
428 this.el.add ( child_1.el );
431 // user defined functions
433 public class Xcls_Label12 : Object
436 private Xcls_ProjectSettings _this;
442 public Xcls_Label12(Xcls_ProjectSettings _owner )
445 this.el = new Gtk.Label( "HTML template file" );
449 // set gobject values
453 // user defined functions
456 public class Xcls_base_template : Object
459 private Xcls_ProjectSettings _this;
465 public Xcls_base_template(Xcls_ProjectSettings _owner )
468 _this.base_template = this;
469 this.el = new Gtk.Entry();
473 // set gobject values
476 // user defined functions
480 public class Xcls_Box14 : Object
483 private Xcls_ProjectSettings _this;
489 public Xcls_Box14(Xcls_ProjectSettings _owner )
492 this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
496 // set gobject values
497 this.el.homogeneous = false;
498 this.el.expand = false;
499 var child_0 = new Xcls_Label15( _this );
501 this.el.pack_start ( child_0.el , false,false,0 );
502 var child_1 = new Xcls_rootURL( _this );
504 this.el.add ( child_1.el );
507 // user defined functions
509 public class Xcls_Label15 : Object
512 private Xcls_ProjectSettings _this;
518 public Xcls_Label15(Xcls_ProjectSettings _owner )
521 this.el = new Gtk.Label( "root URL" );
525 // set gobject values
529 // user defined functions
532 public class Xcls_rootURL : Object
535 private Xcls_ProjectSettings _this;
541 public Xcls_rootURL(Xcls_ProjectSettings _owner )
544 _this.rootURL = this;
545 this.el = new Gtk.Entry();
549 // set gobject values
552 // user defined functions
556 public class Xcls_Label17 : Object
559 private Xcls_ProjectSettings _this;
565 public Xcls_Label17(Xcls_ProjectSettings _owner )
568 this.el = new Gtk.Label( "HTML To insert at end of <HEAD>" );
572 // set gobject values
575 // user defined functions
578 public class Xcls_ScrolledWindow18 : Object
580 public Gtk.ScrolledWindow el;
581 private Xcls_ProjectSettings _this;
587 public Xcls_ScrolledWindow18(Xcls_ProjectSettings _owner )
590 this.el = new Gtk.ScrolledWindow( null, null );
594 // set gobject values
595 var child_0 = new Xcls_view( _this );
597 this.el.add ( child_0.el );
600 // user defined functions
602 public class Xcls_view : Object
604 public Gtk.SourceView el;
605 private Xcls_ProjectSettings _this;
611 public Xcls_view(Xcls_ProjectSettings _owner )
615 this.el = new Gtk.SourceView();
621 var description = Pango.FontDescription.from_string("monospace");
622 description.set_size(9000);
623 this.el.override_font(description);
626 this.el.key_release_event.connect( ( event) =>{
627 if (event.keyval != 115) {
631 if ( (event.state & Gdk.ModifierType.CONTROL_MASK ) < 1 ) {
634 var buf = this.el.get_buffer();
637 buf.get_start_iter(out s);
638 buf.get_end_iter(out e);
639 _this.project.runhtml = buf.get_text(s,e,true);
642 _this.buttonPressed("save");
649 // user defined functions
654 public class Xcls_Box20 : Object
657 private Xcls_ProjectSettings _this;
663 public Xcls_Box20(Xcls_ProjectSettings _owner )
666 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
670 // set gobject values
671 this.el.homogeneous = false;
672 var child_0 = new Xcls_Label21( _this );
674 this.el.pack_start ( child_0.el , false,false,0 );
675 var child_1 = new Xcls_database_DBTYPE( _this );
677 this.el.pack_start ( child_1.el , false,false,0 );
678 var child_2 = new Xcls_Label23( _this );
680 this.el.pack_start ( child_2.el , false,false,0 );
681 var child_3 = new Xcls_database_DBNAME( _this );
683 this.el.pack_start ( child_3.el , false,false,0 );
684 var child_4 = new Xcls_Label25( _this );
686 this.el.pack_start ( child_4.el , false,false,0 );
687 var child_5 = new Xcls_database_DBUSERNAME( _this );
689 this.el.pack_start ( child_5.el , false,false,0 );
690 var child_6 = new Xcls_Label27( _this );
692 this.el.pack_start ( child_6.el , false,false,0 );
693 var child_7 = new Xcls_database_DBPASSWORD( _this );
695 this.el.pack_start ( child_7.el , false,false,0 );
696 var child_8 = new Xcls_Button29( _this );
698 this.el.pack_start ( child_8.el , false,false,0 );
699 var child_9 = new Xcls_database_ERROR( _this );
701 this.el.pack_start ( child_9.el , false,false,0 );
704 // user defined functions
706 public class Xcls_Label21 : Object
709 private Xcls_ProjectSettings _this;
715 public Xcls_Label21(Xcls_ProjectSettings _owner )
718 this.el = new Gtk.Label( "Type (eg. MySQL or PostgreSQL)" );
722 // set gobject values
726 // user defined functions
729 public class Xcls_database_DBTYPE : Object
732 private Xcls_ProjectSettings _this;
738 public Xcls_database_DBTYPE(Xcls_ProjectSettings _owner )
741 _this.database_DBTYPE = this;
742 this.el = new Gtk.Entry();
746 // set gobject values
749 this.el.key_press_event.connect( (ev) => {
751 if (ev.keyval == Gdk.Key.Tab) {
752 _this.database_DBNAME.el.grab_focus();
761 // user defined functions
764 public class Xcls_Label23 : Object
767 private Xcls_ProjectSettings _this;
773 public Xcls_Label23(Xcls_ProjectSettings _owner )
776 this.el = new Gtk.Label( "Name" );
780 // set gobject values
784 // user defined functions
787 public class Xcls_database_DBNAME : Object
790 private Xcls_ProjectSettings _this;
796 public Xcls_database_DBNAME(Xcls_ProjectSettings _owner )
799 _this.database_DBNAME = this;
800 this.el = new Gtk.Entry();
804 // set gobject values
807 this.el.key_press_event.connect( (ev) => {
809 if (ev.keyval == Gdk.Key.Tab) {
810 _this.database_DBUSERNAME.el.grab_focus();
819 // user defined functions
822 public class Xcls_Label25 : Object
825 private Xcls_ProjectSettings _this;
831 public Xcls_Label25(Xcls_ProjectSettings _owner )
834 this.el = new Gtk.Label( "Username" );
838 // set gobject values
842 // user defined functions
845 public class Xcls_database_DBUSERNAME : Object
848 private Xcls_ProjectSettings _this;
854 public Xcls_database_DBUSERNAME(Xcls_ProjectSettings _owner )
857 _this.database_DBUSERNAME = this;
858 this.el = new Gtk.Entry();
862 // set gobject values
865 this.el.key_press_event.connect( (ev) => {
867 if (ev.keyval == Gdk.Key.Tab) {
868 _this.database_DBPASSWORD.el.grab_focus();
877 // user defined functions
880 public class Xcls_Label27 : Object
883 private Xcls_ProjectSettings _this;
889 public Xcls_Label27(Xcls_ProjectSettings _owner )
892 this.el = new Gtk.Label( "Password" );
896 // set gobject values
900 // user defined functions
903 public class Xcls_database_DBPASSWORD : Object
906 private Xcls_ProjectSettings _this;
912 public Xcls_database_DBPASSWORD(Xcls_ProjectSettings _owner )
915 _this.database_DBPASSWORD = this;
916 this.el = new Gtk.Entry();
920 // set gobject values
923 // user defined functions
926 public class Xcls_Button29 : Object
928 public Gtk.Button el;
929 private Xcls_ProjectSettings _this;
935 public Xcls_Button29(Xcls_ProjectSettings _owner )
938 this.el = new Gtk.Button();
942 // set gobject values
943 this.el.label = "Check Connection";
946 this.el.clicked.connect( () => {
949 _this.database_ERROR.el.label = "";
952 // assumes localhost...
953 cnc = Gda.Connection.open_from_string (
954 _this.database_DBTYPE.el.get_text(),
955 "DB_NAME=" + _this.database_DBNAME.el.get_text(),
956 "USERNAME=" + _this.database_DBUSERNAME.el.get_text() +
957 ";PASSWORD=" + _this.database_DBPASSWORD.el.get_text(),
958 Gda.ConnectionOptions.NONE
960 //} catch (Gda.ConnectionError ce) {
961 // _this.database_ERROR.el.label = ce.message;
962 } catch(Gda.ConnectionError ue) {
963 _this.database_ERROR.el.label = ue.message;
965 } catch(Gda.ConfigError ue) {
966 _this.database_ERROR.el.label = ue.message;
969 _this.database_ERROR.el.label = "Connection Succeeded";
974 // user defined functions
977 public class Xcls_database_ERROR : Object
980 private Xcls_ProjectSettings _this;
986 public Xcls_database_ERROR(Xcls_ProjectSettings _owner )
989 _this.database_ERROR = this;
990 this.el = new Gtk.Label( " " );
994 // set gobject values
999 // user defined functions