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_status label_status;
16 public Xcls_label_diff label_diff;
17 public Xcls_view view;
18 public Xcls_view view;
21 public signal void buttonPressed (string btn);
22 public Project.Project project;
25 public Xcls_RooProjectSettings()
28 this.el = new Gtk.Popover( null );
33 this.el.border_width = 0;
35 this.el.position = Gtk.PositionType.RIGHT;
36 var child_0 = new Xcls_Box2( _this );
38 this.el.add ( child_0.el );
41 // user defined functions
42 public void show (Gtk.Widget btn, Project.Project project) {
43 _this.project = project;
44 _this.path.el.label = project.firstPath();
45 // get the active project.
46 var lm = Gtk.SourceLanguageManager.get_default();
48 ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(
49 lm.get_language("html")
53 //project.runhtml = project.runhtml || '';
54 _this.view.el.get_buffer().set_text(project.runhtml);
58 _this.rootURL.el.set_text( _this.project.rootURL );
60 _this.html_gen_model.loadData(_this.project.html_gen);
62 _this.base_template_model.loadData();
64 var js = _this.project;
65 _this.database_DBTYPE.el.set_text( js.get_string_member("DBTYPE") );
66 _this.database_DBNAME.el.set_text( js.get_string_member("DBNAME") );
67 _this.database_DBUSERNAME.el.set_text( js.get_string_member("DBUSERNAME") );
68 _this.database_DBPASSWORD.el.set_text( js.get_string_member("DBPASSWORD") );
70 //console.log('show all');
71 this.el.set_modal(true);
72 this.el.set_relative_to(btn);
74 this.el.set_position(Gtk.PositionType.RIGHT);
77 print("SHOWALL - POPIP\n");
79 this.el.set_size_request(800,500);
80 this.view.el.grab_focus();
86 var buf = _this.view.el.get_buffer();
89 buf.get_start_iter(out s);
90 buf.get_end_iter(out e);
91 _this.project.runhtml = buf.get_text(s,e,true);
93 _this.project.rootURL = _this.rootURL.el.get_text();
98 _this.html_gen.el.get_active_iter(out iter);
99 _this.html_gen_model.el.get_value (iter, 0, out html_gen_val);
101 _this.project.html_gen = (string)html_gen_val;
103 // set by event changed...
104 //_this.project.base_template = _this.base_template.el.get_text();
106 var js = _this.project.json_project_data;
107 js.set_string_member("DBTYPE", _this.database_DBTYPE.el.get_text());
108 js.set_string_member("DBNAME", _this.database_DBNAME.el.get_text());
109 js.set_string_member("DBUSERNAME", _this.database_DBUSERNAME.el.get_text());
110 js.set_string_member("DBPASSWORD", _this.database_DBPASSWORD.el.get_text());
111 // _this.project.set_string_member("DBHOST", _this.DBTYPE.el.get_text());
113 // need to re-init the database
115 _this.project.initRooDatabase();
119 public class Xcls_Box2 : Object
122 private Xcls_RooProjectSettings _this;
128 public Xcls_Box2(Xcls_RooProjectSettings _owner )
131 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
135 // set gobject values
136 this.el.homogeneous = false;
137 this.el.border_width = 5;
138 var child_0 = new Xcls_Notebook3( _this );
140 this.el.pack_start ( child_0.el , true,true,0 );
141 var child_1 = new Xcls_Box12( _this );
143 this.el.pack_end ( child_1.el , false,false,0 );
146 // user defined functions
148 public class Xcls_Notebook3 : Object
150 public Gtk.Notebook el;
151 private Xcls_RooProjectSettings _this;
157 public Xcls_Notebook3(Xcls_RooProjectSettings _owner )
160 this.el = new Gtk.Notebook();
164 // set gobject values
165 var child_0 = new Xcls_label_status( _this );
167 var child_1 = new Xcls_label_diff( _this );
169 var child_2 = new Xcls_Box6( _this );
171 this.el.append_page ( child_2.el , _this.label_status.el );
172 var child_3 = new Xcls_Box9( _this );
174 this.el.append_page ( child_3.el , _this.label_diff.el );
177 // user defined functions
179 public class Xcls_label_status : Object
182 private Xcls_RooProjectSettings _this;
188 public Xcls_label_status(Xcls_RooProjectSettings _owner )
191 _this.label_status = this;
192 this.el = new Gtk.Label( "Status" );
196 // set gobject values
199 // user defined functions
202 public class Xcls_label_diff : Object
205 private Xcls_RooProjectSettings _this;
211 public Xcls_label_diff(Xcls_RooProjectSettings _owner )
214 _this.label_diff = this;
215 this.el = new Gtk.Label( "Diff" );
219 // set gobject values
222 // user defined functions
225 public class Xcls_Box6 : Object
228 private Xcls_RooProjectSettings _this;
234 public Xcls_Box6(Xcls_RooProjectSettings _owner )
237 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
241 // set gobject values
242 this.el.homogeneous = false;
243 var child_0 = new Xcls_ScrolledWindow7( _this );
245 this.el.pack_start ( child_0.el , true,true,0 );
248 // user defined functions
250 public class Xcls_ScrolledWindow7 : Object
252 public Gtk.ScrolledWindow el;
253 private Xcls_RooProjectSettings _this;
259 public Xcls_ScrolledWindow7(Xcls_RooProjectSettings _owner )
262 this.el = new Gtk.ScrolledWindow( null, null );
266 // set gobject values
267 var child_0 = new Xcls_view( _this );
269 this.el.add ( child_0.el );
272 // user defined functions
274 public class Xcls_view : Object
276 public Gtk.SourceView el;
277 private Xcls_RooProjectSettings _this;
283 public Xcls_view(Xcls_RooProjectSettings _owner )
287 this.el = new Gtk.SourceView();
293 var description = Pango.FontDescription.from_string("monospace");
294 description.set_size(9000);
295 this.el.override_font(description);
298 this.el.key_release_event.connect( ( event) =>{
299 if (event.keyval != 115) {
303 if ( (event.state & Gdk.ModifierType.CONTROL_MASK ) < 1 ) {
306 var buf = this.el.get_buffer();
309 buf.get_start_iter(out s);
310 buf.get_end_iter(out e);
311 _this.project.runhtml = buf.get_text(s,e,true);
314 _this.buttonPressed("save");
321 // user defined functions
326 public class Xcls_Box9 : Object
329 private Xcls_RooProjectSettings _this;
335 public Xcls_Box9(Xcls_RooProjectSettings _owner )
338 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
342 // set gobject values
343 this.el.homogeneous = false;
344 var child_0 = new Xcls_ScrolledWindow10( _this );
346 this.el.pack_start ( child_0.el , true,true,0 );
349 // user defined functions
351 public class Xcls_ScrolledWindow10 : Object
353 public Gtk.ScrolledWindow el;
354 private Xcls_RooProjectSettings _this;
360 public Xcls_ScrolledWindow10(Xcls_RooProjectSettings _owner )
363 this.el = new Gtk.ScrolledWindow( null, null );
367 // set gobject values
368 var child_0 = new Xcls_view( _this );
370 this.el.add ( child_0.el );
373 // user defined functions
375 public class Xcls_view : Object
377 public Gtk.SourceView el;
378 private Xcls_RooProjectSettings _this;
384 public Xcls_view(Xcls_RooProjectSettings _owner )
388 this.el = new Gtk.SourceView();
394 var description = Pango.FontDescription.from_string("monospace");
395 description.set_size(9000);
396 this.el.override_font(description);
399 this.el.key_release_event.connect( ( event) =>{
400 if (event.keyval != 115) {
404 if ( (event.state & Gdk.ModifierType.CONTROL_MASK ) < 1 ) {
407 var buf = this.el.get_buffer();
410 buf.get_start_iter(out s);
411 buf.get_end_iter(out e);
412 _this.project.runhtml = buf.get_text(s,e,true);
415 _this.buttonPressed("save");
422 // user defined functions
428 public class Xcls_Box12 : Object
431 private Xcls_RooProjectSettings _this;
437 public Xcls_Box12(Xcls_RooProjectSettings _owner )
440 this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
444 // set gobject values
445 this.el.homogeneous = true;
446 this.el.expand = false;
447 this.el.vexpand = false;
448 var child_0 = new Xcls_Button13( _this );
450 this.el.add ( child_0.el );
451 var child_1 = new Xcls_Button14( _this );
453 this.el.add ( child_1.el );
454 var child_2 = new Xcls_Button15( _this );
456 this.el.add ( child_2.el );
459 // user defined functions
461 public class Xcls_Button13 : Object
463 public Gtk.Button el;
464 private Xcls_RooProjectSettings _this;
470 public Xcls_Button13(Xcls_RooProjectSettings _owner )
473 this.el = new Gtk.Button();
477 // set gobject values
478 this.el.label = "Stash Changes";
481 this.el.button_press_event.connect( () => {
484 _this.buttonPressed("apply");
489 // user defined functions
492 public class Xcls_Button14 : Object
494 public Gtk.Button el;
495 private Xcls_RooProjectSettings _this;
501 public Xcls_Button14(Xcls_RooProjectSettings _owner )
504 this.el = new Gtk.Button();
508 // set gobject values
509 this.el.label = "Commit Changes";
512 this.el.button_press_event.connect( () => {
515 _this.buttonPressed("save");
520 // user defined functions
523 public class Xcls_Button15 : Object
525 public Gtk.Button el;
526 private Xcls_RooProjectSettings _this;
532 public Xcls_Button15(Xcls_RooProjectSettings _owner )
535 this.el = new Gtk.Button();
539 // set gobject values
540 this.el.label = "Commit Changes";
543 this.el.button_press_event.connect( () => {
546 _this.buttonPressed("save");
551 // user defined functions