1 static Xcls_RooProjectSettings _RooProjectSettings;
3 public class Xcls_RooProjectSettings : Object
6 private Xcls_RooProjectSettings _this;
8 public static Xcls_RooProjectSettings singleton()
10 if (_RooProjectSettings == null) {
11 _RooProjectSettings= new Xcls_RooProjectSettings();
13 return _RooProjectSettings;
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_RooProjectSettings()
35 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
40 this.el.homogeneous = false;
41 this.el.border_width = 5;
42 var child_0 = new Xcls_Box2( _this );
44 this.el.pack_start ( child_0.el , false,false,0 );
45 var child_1 = new Xcls_Notebook5( _this );
47 this.el.pack_end ( child_1.el , true,true,0 );
50 // user defined functions
51 public void show (Project.Project project) {
52 _this.project = project;
53 _this.path.el.label = project.firstPath();
54 // get the active project.
55 var lm = Gtk.SourceLanguageManager.get_default();
57 ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(
59 lm.get_language("html"));
62 //project.runhtml = project.runhtml || '';
63 _this.view.el.get_buffer().set_text(project.runhtml);
66 _this.rootURL.el.set_text( _this.project.rootURL );
67 _this.base_template.el.set_text(_this.project.base_template);
68 var js = _this.project;
69 _this.database_DBTYPE.el.set_text( js.get_string_member("DBTYPE") );
70 _this.database_DBNAME.el.set_text( js.get_string_member("DBNAME") );
71 _this.database_DBUSERNAME.el.set_text( js.get_string_member("DBUSERNAME") );
72 _this.database_DBPASSWORD.el.set_text( js.get_string_member("DBPASSWORD") );
77 var buf = _this.view.el.get_buffer();
80 buf.get_start_iter(out s);
81 buf.get_end_iter(out e);
82 _this.project.runhtml = buf.get_text(s,e,true);
84 _this.project.rootURL = _this.rootURL.el.get_text();
85 _this.project.base_template = _this.base_template.el.get_text();
87 var js = _this.project.json_project_data;
88 js.set_string_member("DBTYPE", _this.database_DBTYPE.el.get_text());
89 js.set_string_member("DBNAME", _this.database_DBNAME.el.get_text());
90 js.set_string_member("DBUSERNAME", _this.database_DBUSERNAME.el.get_text());
91 js.set_string_member("DBPASSWORD", _this.database_DBPASSWORD.el.get_text());
92 // _this.project.set_string_member("DBHOST", _this.DBTYPE.el.get_text());
94 // need to re-init the database
96 _this.project.initRooDatabase();
99 public class Xcls_Box2 : Object
102 private Xcls_RooProjectSettings _this;
108 public Xcls_Box2(Xcls_RooProjectSettings _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_RooProjectSettings _this;
138 public Xcls_Button3(Xcls_RooProjectSettings _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
160 public class Xcls_Button4 : Object
162 public Gtk.Button el;
163 private Xcls_RooProjectSettings _this;
169 public Xcls_Button4(Xcls_RooProjectSettings _owner )
172 this.el = new Gtk.Button();
176 // set gobject values
177 this.el.label = "Save";
180 this.el.button_press_event.connect( () => {
183 _this.buttonPressed("save");
188 // user defined functions
192 public class Xcls_Notebook5 : Object
194 public Gtk.Notebook el;
195 private Xcls_RooProjectSettings _this;
201 public Xcls_Notebook5(Xcls_RooProjectSettings _owner )
204 this.el = new Gtk.Notebook();
208 // set gobject values
209 var child_0 = new Xcls_label_global( _this );
211 var child_1 = new Xcls_label_database( _this );
213 var child_2 = new Xcls_Box8( _this );
215 this.el.append_page ( child_2.el , _this.label_global.el );
216 var child_3 = new Xcls_Box19( _this );
218 this.el.append_page ( child_3.el , _this.label_database.el );
221 // user defined functions
223 public class Xcls_label_global : Object
226 private Xcls_RooProjectSettings _this;
232 public Xcls_label_global(Xcls_RooProjectSettings _owner )
235 _this.label_global = this;
236 this.el = new Gtk.Label( "Global" );
240 // set gobject values
243 // user defined functions
246 public class Xcls_label_database : Object
249 private Xcls_RooProjectSettings _this;
255 public Xcls_label_database(Xcls_RooProjectSettings _owner )
258 _this.label_database = this;
259 this.el = new Gtk.Label( "Database" );
263 // set gobject values
266 // user defined functions
269 public class Xcls_Box8 : Object
272 private Xcls_RooProjectSettings _this;
278 public Xcls_Box8(Xcls_RooProjectSettings _owner )
281 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
285 // set gobject values
286 this.el.homogeneous = false;
287 var child_0 = new Xcls_path( _this );
289 this.el.pack_start ( child_0.el , false,false,0 );
290 var child_1 = new Xcls_Box10( _this );
292 this.el.pack_start ( child_1.el , false,false,0 );
293 var child_2 = new Xcls_Box13( _this );
295 this.el.pack_start ( child_2.el , false,false,0 );
296 var child_3 = new Xcls_Label16( _this );
298 this.el.pack_start ( child_3.el , false,false,0 );
299 var child_4 = new Xcls_ScrolledWindow17( _this );
301 this.el.pack_start ( child_4.el , true,true,0 );
304 // user defined functions
306 public class Xcls_path : Object
309 private Xcls_RooProjectSettings _this;
315 public Xcls_path(Xcls_RooProjectSettings _owner )
319 this.el = new Gtk.Label( "filename" );
323 // set gobject values
328 // user defined functions
331 public class Xcls_Box10 : Object
334 private Xcls_RooProjectSettings _this;
340 public Xcls_Box10(Xcls_RooProjectSettings _owner )
343 this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
347 // set gobject values
348 this.el.homogeneous = false;
349 this.el.expand = false;
350 var child_0 = new Xcls_Label11( _this );
352 this.el.pack_start ( child_0.el , false,false,0 );
353 var child_1 = new Xcls_base_template( _this );
355 this.el.add ( child_1.el );
358 // user defined functions
360 public class Xcls_Label11 : Object
363 private Xcls_RooProjectSettings _this;
369 public Xcls_Label11(Xcls_RooProjectSettings _owner )
372 this.el = new Gtk.Label( "HTML template file" );
376 // set gobject values
380 // user defined functions
383 public class Xcls_base_template : Object
386 private Xcls_RooProjectSettings _this;
392 public Xcls_base_template(Xcls_RooProjectSettings _owner )
395 _this.base_template = this;
396 this.el = new Gtk.Entry();
400 // set gobject values
403 // user defined functions
407 public class Xcls_Box13 : Object
410 private Xcls_RooProjectSettings _this;
416 public Xcls_Box13(Xcls_RooProjectSettings _owner )
419 this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
423 // set gobject values
424 this.el.homogeneous = false;
425 this.el.expand = false;
426 var child_0 = new Xcls_Label14( _this );
428 this.el.pack_start ( child_0.el , false,false,0 );
429 var child_1 = new Xcls_rootURL( _this );
431 this.el.add ( child_1.el );
434 // user defined functions
436 public class Xcls_Label14 : Object
439 private Xcls_RooProjectSettings _this;
445 public Xcls_Label14(Xcls_RooProjectSettings _owner )
448 this.el = new Gtk.Label( "root URL" );
452 // set gobject values
456 // user defined functions
459 public class Xcls_rootURL : Object
462 private Xcls_RooProjectSettings _this;
468 public Xcls_rootURL(Xcls_RooProjectSettings _owner )
471 _this.rootURL = this;
472 this.el = new Gtk.Entry();
476 // set gobject values
479 // user defined functions
483 public class Xcls_Label16 : Object
486 private Xcls_RooProjectSettings _this;
492 public Xcls_Label16(Xcls_RooProjectSettings _owner )
495 this.el = new Gtk.Label( "HTML To insert at end of <HEAD>" );
499 // set gobject values
502 // user defined functions
505 public class Xcls_ScrolledWindow17 : Object
507 public Gtk.ScrolledWindow el;
508 private Xcls_RooProjectSettings _this;
514 public Xcls_ScrolledWindow17(Xcls_RooProjectSettings _owner )
517 this.el = new Gtk.ScrolledWindow( null, null );
521 // set gobject values
522 var child_0 = new Xcls_view( _this );
524 this.el.add ( child_0.el );
527 // user defined functions
529 public class Xcls_view : Object
531 public Gtk.SourceView el;
532 private Xcls_RooProjectSettings _this;
538 public Xcls_view(Xcls_RooProjectSettings _owner )
542 this.el = new Gtk.SourceView();
548 var description = Pango.FontDescription.from_string("monospace");
549 description.set_size(9000);
550 this.el.override_font(description);
553 this.el.key_release_event.connect( ( event) =>{
554 if (event.keyval != 115) {
558 if ( (event.state & Gdk.ModifierType.CONTROL_MASK ) < 1 ) {
561 var buf = this.el.get_buffer();
564 buf.get_start_iter(out s);
565 buf.get_end_iter(out e);
566 _this.project.runhtml = buf.get_text(s,e,true);
569 _this.buttonPressed("save");
576 // user defined functions
581 public class Xcls_Box19 : Object
584 private Xcls_RooProjectSettings _this;
590 public Xcls_Box19(Xcls_RooProjectSettings _owner )
593 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
597 // set gobject values
598 this.el.homogeneous = false;
599 var child_0 = new Xcls_Label20( _this );
601 this.el.pack_start ( child_0.el , false,false,0 );
602 var child_1 = new Xcls_database_DBTYPE( _this );
604 this.el.pack_start ( child_1.el , false,false,0 );
605 var child_2 = new Xcls_Label22( _this );
607 this.el.pack_start ( child_2.el , false,false,0 );
608 var child_3 = new Xcls_database_DBNAME( _this );
610 this.el.pack_start ( child_3.el , false,false,0 );
611 var child_4 = new Xcls_Label24( _this );
613 this.el.pack_start ( child_4.el , false,false,0 );
614 var child_5 = new Xcls_database_DBUSERNAME( _this );
616 this.el.pack_start ( child_5.el , false,false,0 );
617 var child_6 = new Xcls_Label26( _this );
619 this.el.pack_start ( child_6.el , false,false,0 );
620 var child_7 = new Xcls_database_DBPASSWORD( _this );
622 this.el.pack_start ( child_7.el , false,false,0 );
623 var child_8 = new Xcls_Button28( _this );
625 this.el.pack_start ( child_8.el , false,false,0 );
626 var child_9 = new Xcls_database_ERROR( _this );
628 this.el.pack_start ( child_9.el , false,false,0 );
631 // user defined functions
633 public class Xcls_Label20 : Object
636 private Xcls_RooProjectSettings _this;
642 public Xcls_Label20(Xcls_RooProjectSettings _owner )
645 this.el = new Gtk.Label( "Type (eg. MySQL or PostgreSQL)" );
649 // set gobject values
653 // user defined functions
656 public class Xcls_database_DBTYPE : Object
659 private Xcls_RooProjectSettings _this;
665 public Xcls_database_DBTYPE(Xcls_RooProjectSettings _owner )
668 _this.database_DBTYPE = this;
669 this.el = new Gtk.Entry();
673 // set gobject values
676 this.el.key_press_event.connect( (ev) => {
678 if (ev.keyval == Gdk.Key.Tab) {
679 _this.database_DBNAME.el.grab_focus();
688 // user defined functions
691 public class Xcls_Label22 : Object
694 private Xcls_RooProjectSettings _this;
700 public Xcls_Label22(Xcls_RooProjectSettings _owner )
703 this.el = new Gtk.Label( "Name" );
707 // set gobject values
711 // user defined functions
714 public class Xcls_database_DBNAME : Object
717 private Xcls_RooProjectSettings _this;
723 public Xcls_database_DBNAME(Xcls_RooProjectSettings _owner )
726 _this.database_DBNAME = this;
727 this.el = new Gtk.Entry();
731 // set gobject values
734 this.el.key_press_event.connect( (ev) => {
736 if (ev.keyval == Gdk.Key.Tab) {
737 _this.database_DBUSERNAME.el.grab_focus();
746 // user defined functions
749 public class Xcls_Label24 : Object
752 private Xcls_RooProjectSettings _this;
758 public Xcls_Label24(Xcls_RooProjectSettings _owner )
761 this.el = new Gtk.Label( "Username" );
765 // set gobject values
769 // user defined functions
772 public class Xcls_database_DBUSERNAME : Object
775 private Xcls_RooProjectSettings _this;
781 public Xcls_database_DBUSERNAME(Xcls_RooProjectSettings _owner )
784 _this.database_DBUSERNAME = this;
785 this.el = new Gtk.Entry();
789 // set gobject values
792 this.el.key_press_event.connect( (ev) => {
794 if (ev.keyval == Gdk.Key.Tab) {
795 _this.database_DBPASSWORD.el.grab_focus();
804 // user defined functions
807 public class Xcls_Label26 : Object
810 private Xcls_RooProjectSettings _this;
816 public Xcls_Label26(Xcls_RooProjectSettings _owner )
819 this.el = new Gtk.Label( "Password" );
823 // set gobject values
827 // user defined functions
830 public class Xcls_database_DBPASSWORD : Object
833 private Xcls_RooProjectSettings _this;
839 public Xcls_database_DBPASSWORD(Xcls_RooProjectSettings _owner )
842 _this.database_DBPASSWORD = this;
843 this.el = new Gtk.Entry();
847 // set gobject values
850 // user defined functions
853 public class Xcls_Button28 : Object
855 public Gtk.Button el;
856 private Xcls_RooProjectSettings _this;
862 public Xcls_Button28(Xcls_RooProjectSettings _owner )
865 this.el = new Gtk.Button();
869 // set gobject values
870 this.el.label = "Check Connection";
873 this.el.clicked.connect( () => {
876 _this.database_ERROR.el.label = "";
879 // assumes localhost...
880 cnc = Gda.Connection.open_from_string (
881 _this.database_DBTYPE.el.get_text(),
882 "DB_NAME=" + _this.database_DBNAME.el.get_text(),
883 "USERNAME=" + _this.database_DBUSERNAME.el.get_text() +
884 ";PASSWORD=" + _this.database_DBPASSWORD.el.get_text(),
885 Gda.ConnectionOptions.NONE
887 //} catch (Gda.ConnectionError ce) {
888 // _this.database_ERROR.el.label = ce.message;
889 } catch(Gda.ConnectionError ue) {
890 _this.database_ERROR.el.label = ue.message;
892 } catch(Gda.ConfigError ue) {
893 _this.database_ERROR.el.label = ue.message;
896 _this.database_ERROR.el.label = "Connection Succeeded";
901 // user defined functions
904 public class Xcls_database_ERROR : Object
907 private Xcls_RooProjectSettings _this;
913 public Xcls_database_ERROR(Xcls_RooProjectSettings _owner )
916 _this.database_ERROR = this;
917 this.el = new Gtk.Label( " " );
921 // set gobject values
926 // user defined functions