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);
68 _this.database_DBTYPE.el.set_text( _this.project.get_string_member("DBTYPE") );
69 _this.database_DBNAME.el.set_text( _this.project.get_string_member("DBNAME") );
70 _this.database_DBUSERNAME.el.set_text( _this.project.get_string_member("DBUSERNAME") );
71 _this.database_DBPASSWORD.el.set_text( _this.project.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());
96 public class Xcls_HBox2 : Object
99 private Xcls_ProjectSettings _this;
105 public Xcls_HBox2(Xcls_ProjectSettings _owner )
108 this.el = new Gtk.HBox( true, 0 );
112 // set gobject values
113 this.el.expand = false;
114 this.el.vexpand = false;
115 var child_0 = new Xcls_Button3( _this );
117 this.el.add ( child_0.el );
118 var child_1 = new Xcls_Button4( _this );
120 this.el.add ( child_1.el );
123 // user defined functions
125 public class Xcls_Button3 : Object
127 public Gtk.Button el;
128 private Xcls_ProjectSettings _this;
134 public Xcls_Button3(Xcls_ProjectSettings _owner )
137 this.el = new Gtk.Button();
141 // set gobject values
142 this.el.label = "Apply";
145 this.el.button_press_event.connect( () => {
148 _this.buttonPressed("apply");
153 // user defined functions
155 public class Xcls_Button4 : Object
157 public Gtk.Button el;
158 private Xcls_ProjectSettings _this;
164 public Xcls_Button4(Xcls_ProjectSettings _owner )
167 this.el = new Gtk.Button();
171 // set gobject values
172 this.el.label = "Save";
175 this.el.button_press_event.connect( () => {
178 _this.buttonPressed("save");
183 // user defined functions
185 public class Xcls_Notebook5 : Object
187 public Gtk.Notebook el;
188 private Xcls_ProjectSettings _this;
194 public Xcls_Notebook5(Xcls_ProjectSettings _owner )
197 this.el = new Gtk.Notebook();
201 // set gobject values
202 var child_0 = new Xcls_label_global( _this );
204 var child_1 = new Xcls_label_database( _this );
206 var child_2 = new Xcls_VBox8( _this );
208 this.el.append_page ( child_2.el , _this.label_global.el );
209 var child_3 = new Xcls_VBox19( _this );
211 this.el.append_page ( child_3.el , _this.label_database.el );
214 // user defined functions
216 public class Xcls_label_global : Object
219 private Xcls_ProjectSettings _this;
225 public Xcls_label_global(Xcls_ProjectSettings _owner )
228 _this.label_global = this;
229 this.el = new Gtk.Label( "Global" );
233 // set gobject values
236 // user defined functions
238 public class Xcls_label_database : Object
241 private Xcls_ProjectSettings _this;
247 public Xcls_label_database(Xcls_ProjectSettings _owner )
250 _this.label_database = this;
251 this.el = new Gtk.Label( "Database" );
255 // set gobject values
258 // user defined functions
260 public class Xcls_VBox8 : Object
263 private Xcls_ProjectSettings _this;
269 public Xcls_VBox8(Xcls_ProjectSettings _owner )
272 this.el = new Gtk.VBox( false, 0 );
276 // set gobject values
277 var child_0 = new Xcls_path( _this );
279 this.el.pack_start ( child_0.el , false,false,0 );
280 var child_1 = new Xcls_HBox10( _this );
282 this.el.pack_start ( child_1.el , false,false,0 );
283 var child_2 = new Xcls_HBox13( _this );
285 this.el.pack_start ( child_2.el , false,false,0 );
286 var child_3 = new Xcls_Label16( _this );
288 this.el.pack_start ( child_3.el , false,false,0 );
289 var child_4 = new Xcls_ScrolledWindow17( _this );
291 this.el.pack_start ( child_4.el , true,true,0 );
294 // user defined functions
296 public class Xcls_path : Object
299 private Xcls_ProjectSettings _this;
305 public Xcls_path(Xcls_ProjectSettings _owner )
309 this.el = new Gtk.Label( "filename" );
313 // set gobject values
318 // user defined functions
320 public class Xcls_HBox10 : Object
323 private Xcls_ProjectSettings _this;
329 public Xcls_HBox10(Xcls_ProjectSettings _owner )
332 this.el = new Gtk.HBox( false, 0 );
336 // set gobject values
337 this.el.expand = false;
338 var child_0 = new Xcls_Label11( _this );
340 this.el.pack_start ( child_0.el , false,false,0 );
341 var child_1 = new Xcls_base_template( _this );
343 this.el.add ( child_1.el );
346 // user defined functions
348 public class Xcls_Label11 : Object
351 private Xcls_ProjectSettings _this;
357 public Xcls_Label11(Xcls_ProjectSettings _owner )
360 this.el = new Gtk.Label( "HTML template file" );
364 // set gobject values
368 // user defined functions
370 public class Xcls_base_template : Object
373 private Xcls_ProjectSettings _this;
379 public Xcls_base_template(Xcls_ProjectSettings _owner )
382 _this.base_template = this;
383 this.el = new Gtk.Entry();
387 // set gobject values
390 // user defined functions
392 public class Xcls_HBox13 : Object
395 private Xcls_ProjectSettings _this;
401 public Xcls_HBox13(Xcls_ProjectSettings _owner )
404 this.el = new Gtk.HBox( false, 0 );
408 // set gobject values
409 this.el.expand = false;
410 var child_0 = new Xcls_Label14( _this );
412 this.el.pack_start ( child_0.el , false,false,0 );
413 var child_1 = new Xcls_rootURL( _this );
415 this.el.add ( child_1.el );
418 // user defined functions
420 public class Xcls_Label14 : Object
423 private Xcls_ProjectSettings _this;
429 public Xcls_Label14(Xcls_ProjectSettings _owner )
432 this.el = new Gtk.Label( "root URL" );
436 // set gobject values
440 // user defined functions
442 public class Xcls_rootURL : Object
445 private Xcls_ProjectSettings _this;
451 public Xcls_rootURL(Xcls_ProjectSettings _owner )
454 _this.rootURL = this;
455 this.el = new Gtk.Entry();
459 // set gobject values
462 // user defined functions
464 public class Xcls_Label16 : Object
467 private Xcls_ProjectSettings _this;
473 public Xcls_Label16(Xcls_ProjectSettings _owner )
476 this.el = new Gtk.Label( "HTML To insert at end of <HEAD>" );
480 // set gobject values
483 // user defined functions
485 public class Xcls_ScrolledWindow17 : Object
487 public Gtk.ScrolledWindow el;
488 private Xcls_ProjectSettings _this;
494 public Xcls_ScrolledWindow17(Xcls_ProjectSettings _owner )
497 this.el = new Gtk.ScrolledWindow( null, null );
501 // set gobject values
502 var child_0 = new Xcls_view( _this );
504 this.el.add ( child_0.el );
507 // user defined functions
509 public class Xcls_view : Object
511 public Gtk.SourceView el;
512 private Xcls_ProjectSettings _this;
518 public Xcls_view(Xcls_ProjectSettings _owner )
522 this.el = new Gtk.SourceView();
526 // set gobject values
530 var description = Pango.FontDescription.from_string("monospace");
531 description.set_size(9000);
532 this.el.override_font(description);
535 this.el.key_release_event.connect( ( event) =>{
536 if (event.keyval != 115) {
540 if ( (event.state & Gdk.ModifierType.CONTROL_MASK ) < 1 ) {
543 var buf = this.el.get_buffer();
546 buf.get_start_iter(out s);
547 buf.get_end_iter(out e);
548 _this.project.runhtml = buf.get_text(s,e,true);
551 _this.buttonPressed("save");
558 // user defined functions
560 public class Xcls_VBox19 : Object
563 private Xcls_ProjectSettings _this;
569 public Xcls_VBox19(Xcls_ProjectSettings _owner )
572 this.el = new Gtk.VBox( false, 0 );
576 // set gobject values
577 var child_0 = new Xcls_Label20( _this );
579 this.el.pack_start ( child_0.el , false,false,0 );
580 var child_1 = new Xcls_database_DBTYPE( _this );
582 this.el.pack_start ( child_1.el , false,false,0 );
583 var child_2 = new Xcls_Label22( _this );
585 this.el.pack_start ( child_2.el , false,false,0 );
586 var child_3 = new Xcls_database_DBNAME( _this );
588 this.el.pack_start ( child_3.el , false,false,0 );
589 var child_4 = new Xcls_Label24( _this );
591 this.el.pack_start ( child_4.el , false,false,0 );
592 var child_5 = new Xcls_database_DBUSERNAME( _this );
594 this.el.pack_start ( child_5.el , false,false,0 );
595 var child_6 = new Xcls_Label26( _this );
597 this.el.pack_start ( child_6.el , false,false,0 );
598 var child_7 = new Xcls_database_DBPASSWORD( _this );
600 this.el.pack_start ( child_7.el , false,false,0 );
601 var child_8 = new Xcls_Button28( _this );
603 this.el.pack_start ( child_8.el , false,false,0 );
604 var child_9 = new Xcls_database_ERROR( _this );
606 this.el.pack_start ( child_9.el , false,false,0 );
609 // user defined functions
611 public class Xcls_Label20 : Object
614 private Xcls_ProjectSettings _this;
620 public Xcls_Label20(Xcls_ProjectSettings _owner )
623 this.el = new Gtk.Label( "Type (eg. MySQL or PostgreSQL)" );
627 // set gobject values
631 // user defined functions
633 public class Xcls_database_DBTYPE : Object
636 private Xcls_ProjectSettings _this;
642 public Xcls_database_DBTYPE(Xcls_ProjectSettings _owner )
645 _this.database_DBTYPE = this;
646 this.el = new Gtk.Entry();
650 // set gobject values
653 // user defined functions
655 public class Xcls_Label22 : Object
658 private Xcls_ProjectSettings _this;
664 public Xcls_Label22(Xcls_ProjectSettings _owner )
667 this.el = new Gtk.Label( "Name" );
671 // set gobject values
675 // user defined functions
677 public class Xcls_database_DBNAME : Object
680 private Xcls_ProjectSettings _this;
686 public Xcls_database_DBNAME(Xcls_ProjectSettings _owner )
689 _this.database_DBNAME = this;
690 this.el = new Gtk.Entry();
694 // set gobject values
697 // user defined functions
699 public class Xcls_Label24 : Object
702 private Xcls_ProjectSettings _this;
708 public Xcls_Label24(Xcls_ProjectSettings _owner )
711 this.el = new Gtk.Label( "Username" );
715 // set gobject values
719 // user defined functions
721 public class Xcls_database_DBUSERNAME : Object
724 private Xcls_ProjectSettings _this;
730 public Xcls_database_DBUSERNAME(Xcls_ProjectSettings _owner )
733 _this.database_DBUSERNAME = this;
734 this.el = new Gtk.Entry();
738 // set gobject values
741 // user defined functions
743 public class Xcls_Label26 : Object
746 private Xcls_ProjectSettings _this;
752 public Xcls_Label26(Xcls_ProjectSettings _owner )
755 this.el = new Gtk.Label( "Password" );
759 // set gobject values
763 // user defined functions
765 public class Xcls_database_DBPASSWORD : Object
768 private Xcls_ProjectSettings _this;
774 public Xcls_database_DBPASSWORD(Xcls_ProjectSettings _owner )
777 _this.database_DBPASSWORD = this;
778 this.el = new Gtk.Entry();
782 // set gobject values
785 // user defined functions
787 public class Xcls_Button28 : Object
789 public Gtk.Button el;
790 private Xcls_ProjectSettings _this;
796 public Xcls_Button28(Xcls_ProjectSettings _owner )
799 this.el = new Gtk.Button();
803 // set gobject values
804 this.el.label = "Check Connection";
807 this.el.clicked.connect( () => {
810 _this.database_ERROR.el.label = "";
813 // assumes localhost...
814 cnc = Gda.Connection.open_from_string (
815 _this.database_DBTYPE.el.get_text(),
816 "DB_NAME=" + _this.database_DBNAME.el.get_text(),
817 "USERNAME=" + _this.database_DBUSERNAME.el.get_text() +
818 ";PASSWORD=" + _this.database_DBPASSWORD.el.get_text(),
819 Gda.ConnectionOptions.NONE
821 //} catch (Gda.ConnectionError ce) {
822 // _this.database_ERROR.el.label = ce.message;
824 _this.database_ERROR.el.label = ue.message;
827 _this.database_ERROR.el.label = "Connection Succeeded";
832 // user defined functions
834 public class Xcls_database_ERROR : Object
837 private Xcls_ProjectSettings _this;
843 public Xcls_database_ERROR(Xcls_ProjectSettings _owner )
846 _this.database_ERROR = this;
847 this.el = new Gtk.Label( " " );
851 // set gobject values
856 // user defined functions