1 static Xcls_ValaProjectSettingsPopover _ValaProjectSettingsPopover;
3 public class Xcls_ValaProjectSettingsPopover : Object
6 private Xcls_ValaProjectSettingsPopover _this;
8 public static Xcls_ValaProjectSettingsPopover singleton()
10 if (_ValaProjectSettingsPopover == null) {
11 _ValaProjectSettingsPopover= new Xcls_ValaProjectSettingsPopover();
13 return _ValaProjectSettingsPopover;
15 public Xcls_label_global label_global;
16 public Xcls_label_targets label_targets;
17 public Xcls_compile_flags compile_flags;
18 public Xcls_default_packages_tree_store default_packages_tree_store;
19 public Xcls_packages_render packages_render;
20 public Xcls_packages_render_use packages_render_use;
21 public Xcls_default_directory_tree default_directory_tree;
22 public Xcls_default_directory_tree_store default_directory_tree_store;
23 public Xcls_directory_render directory_render;
24 public Xcls_default_directory_menu default_directory_menu;
25 public Xcls_targets_tree_menu targets_tree_menu;
26 public Xcls_targets_tree targets_tree;
27 public Xcls_targets_tree_store targets_tree_store;
28 public Xcls_targets_render targets_render;
29 public Xcls_set_vbox set_vbox;
30 public Xcls_build_pack_target build_pack_target;
31 public Xcls_build_compile_flags build_compile_flags;
32 public Xcls_build_execute_args build_execute_args;
33 public Xcls_files_tree_store files_tree_store;
34 public Xcls_files_render files_render;
35 public Xcls_files_render_use files_render_use;
38 public Xcls_MainWindow window;
39 public Project.Gtk project;
42 public Xcls_ValaProjectSettingsPopover()
45 this.el = new Gtk.Popover( null );
52 this.el.border_width = 0;
54 this.el.position = Gtk.PositionType.RIGHT;
55 var child_0 = new Xcls_Box2( _this );
57 this.el.add ( child_0.el );
60 this.el.hide.connect( () => {
61 _this.project.writeConfig();
66 // user defined functions
67 public void show (Gtk.Widget btn, Project.Gtk project) {
69 //print("ValaProjectSettings show\n");
71 this.project= project;
73 this.compile_flags.el.text = _this.project.compilegroups.get("_default_").compile_flags;
75 this.default_directory_tree_store.load();
76 this.default_packages_tree_store.load();
77 this.targets_tree_store.load();
78 this.files_tree_store.load();
81 this.el.set_modal(true);
82 this.el.set_relative_to(btn);
84 this.el.set_position(Gtk.PositionType.RIGHT);
87 // print("SHOWALL - POPIP\n");
88 this.el.set_size_request(800,500);
90 //this.view.el.grab_focus();
94 this.project.writeConfig();
96 public class Xcls_Box2 : Object
99 private Xcls_ValaProjectSettingsPopover _this;
105 public Xcls_Box2(Xcls_ValaProjectSettingsPopover _owner )
108 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
112 // set gobject values
113 this.el.hexpand = true;
114 var child_0 = new Xcls_Notebook3( _this );
116 this.el.pack_start ( child_0.el , true,true,0 );
119 // user defined functions
121 public class Xcls_Notebook3 : Object
123 public Gtk.Notebook el;
124 private Xcls_ValaProjectSettingsPopover _this;
130 public Xcls_Notebook3(Xcls_ValaProjectSettingsPopover _owner )
133 this.el = new Gtk.Notebook();
137 // set gobject values
138 var child_0 = new Xcls_label_global( _this );
140 var child_1 = new Xcls_label_targets( _this );
142 var child_2 = new Xcls_Box6( _this );
144 this.el.append_page ( child_2.el , _this.label_global.el );
145 var child_3 = new Xcls_Paned27( _this );
147 this.el.append_page ( child_3.el , _this.label_targets.el );
150 // user defined functions
152 public class Xcls_label_global : Object
155 private Xcls_ValaProjectSettingsPopover _this;
161 public Xcls_label_global(Xcls_ValaProjectSettingsPopover _owner )
164 _this.label_global = this;
165 this.el = new Gtk.Label( "Global" );
169 // set gobject values
172 // user defined functions
175 public class Xcls_label_targets : Object
178 private Xcls_ValaProjectSettingsPopover _this;
184 public Xcls_label_targets(Xcls_ValaProjectSettingsPopover _owner )
187 _this.label_targets = this;
188 this.el = new Gtk.Label( "Targets" );
192 // set gobject values
195 // user defined functions
198 public class Xcls_Box6 : Object
201 private Xcls_ValaProjectSettingsPopover _this;
207 public Xcls_Box6(Xcls_ValaProjectSettingsPopover _owner )
210 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
214 // set gobject values
215 this.el.homogeneous = false;
216 var child_0 = new Xcls_Label7( _this );
218 this.el.pack_start ( child_0.el , false,false,0 );
219 var child_1 = new Xcls_compile_flags( _this );
221 this.el.pack_start ( child_1.el , false,false,0 );
222 var child_2 = new Xcls_Paned9( _this );
224 this.el.pack_start ( child_2.el , true,true,0 );
227 // user defined functions
229 public class Xcls_Label7 : Object
232 private Xcls_ValaProjectSettingsPopover _this;
238 public Xcls_Label7(Xcls_ValaProjectSettingsPopover _owner )
241 this.el = new Gtk.Label( "compile flags" );
245 // set gobject values
248 // user defined functions
251 public class Xcls_compile_flags : Object
254 private Xcls_ValaProjectSettingsPopover _this;
260 public Xcls_compile_flags(Xcls_ValaProjectSettingsPopover _owner )
263 _this.compile_flags = this;
264 this.el = new Gtk.Entry();
268 // set gobject values
269 this.el.placeholder_text = "eg. -g --valasrc $BASEDIR ";
272 this.el.changed.connect( () => {
274 _this.project.compilegroups.get("_default_").compile_flags = this.el.text;
275 _this.project.writeConfig();
276 // _this.project.save();
281 // user defined functions
284 public class Xcls_Paned9 : Object
287 private Xcls_ValaProjectSettingsPopover _this;
293 public Xcls_Paned9(Xcls_ValaProjectSettingsPopover _owner )
296 this.el = new Gtk.Paned( Gtk.Orientation.HORIZONTAL );
300 // set gobject values
301 this.el.position = 300;
302 var child_0 = new Xcls_ScrolledWindow10( _this );
304 this.el.add ( child_0.el );
305 var child_1 = new Xcls_ScrolledWindow17( _this );
307 this.el.add2 ( child_1.el );
310 // user defined functions
312 public class Xcls_ScrolledWindow10 : Object
314 public Gtk.ScrolledWindow el;
315 private Xcls_ValaProjectSettingsPopover _this;
321 public Xcls_ScrolledWindow10(Xcls_ValaProjectSettingsPopover _owner )
324 this.el = new Gtk.ScrolledWindow( null, null );
328 // set gobject values
329 this.el.hexpand = true;
330 var child_0 = new Xcls_default_packages_tree( _this );
332 this.el.add ( child_0.el );
335 // user defined functions
337 public class Xcls_default_packages_tree : Object
339 public Gtk.TreeView el;
340 private Xcls_ValaProjectSettingsPopover _this;
346 public Xcls_default_packages_tree(Xcls_ValaProjectSettingsPopover _owner )
349 this.el = new Gtk.TreeView();
353 // set gobject values
354 this.el.headers_visible = true;
355 var child_0 = new Xcls_default_packages_tree_store( _this );
357 this.el.set_model ( child_0.el );
358 var child_1 = new Xcls_TreeViewColumn13( _this );
360 this.el.append_column ( child_1.el );
361 var child_2 = new Xcls_TreeViewColumn15( _this );
363 this.el.append_column ( child_2.el );
366 // user defined functions
368 public class Xcls_default_packages_tree_store : Object
370 public Gtk.ListStore el;
371 private Xcls_ValaProjectSettingsPopover _this;
377 public Xcls_default_packages_tree_store(Xcls_ValaProjectSettingsPopover _owner )
380 _this.default_packages_tree_store = this;
381 this.el = new Gtk.ListStore( 2, typeof(string), // 0 key type
386 // set gobject values
389 // user defined functions
390 public void load () {
392 var def = _this.project.compilegroups.get("_default_");
393 var items = def.packages;
396 var pal = (Palete.Gtk) _this.project.palete;
397 var pkgs = pal.packages(_this.project);
398 print("ValaProjectSettings:packages load %d\n", pkgs.size);
402 for(var i =0 ; i < pkgs.size; i++) {
403 this.el.append(out citer);
405 this.el.set_value(citer, 0, pkgs.get(i) ); // title
406 this.el.set_value(citer, 1, items.contains(pkgs.get(i)) );
408 this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
413 public class Xcls_TreeViewColumn13 : Object
415 public Gtk.TreeViewColumn el;
416 private Xcls_ValaProjectSettingsPopover _this;
422 public Xcls_TreeViewColumn13(Xcls_ValaProjectSettingsPopover _owner )
425 this.el = new Gtk.TreeViewColumn();
429 // set gobject values
430 this.el.title = "package name";
431 this.el.expand = true;
432 this.el.resizable = true;
433 var child_0 = new Xcls_packages_render( _this );
435 this.el.pack_start ( child_0.el , false );
439 this.el.add_attribute(_this.packages_render.el , "text", 0 );
442 // user defined functions
444 public class Xcls_packages_render : Object
446 public Gtk.CellRendererText el;
447 private Xcls_ValaProjectSettingsPopover _this;
453 public Xcls_packages_render(Xcls_ValaProjectSettingsPopover _owner )
456 _this.packages_render = this;
457 this.el = new Gtk.CellRendererText();
461 // set gobject values
464 // user defined functions
468 public class Xcls_TreeViewColumn15 : Object
470 public Gtk.TreeViewColumn el;
471 private Xcls_ValaProjectSettingsPopover _this;
477 public Xcls_TreeViewColumn15(Xcls_ValaProjectSettingsPopover _owner )
480 this.el = new Gtk.TreeViewColumn();
484 // set gobject values
485 this.el.title = "use";
486 this.el.resizable = false;
487 this.el.fixed_width = 50;
488 var child_0 = new Xcls_packages_render_use( _this );
490 this.el.pack_start ( child_0.el , false );
495 this.el.add_attribute(_this.packages_render_use.el , "active", 1 );
499 // user defined functions
501 public class Xcls_packages_render_use : Object
503 public Gtk.CellRendererToggle el;
504 private Xcls_ValaProjectSettingsPopover _this;
510 public Xcls_packages_render_use(Xcls_ValaProjectSettingsPopover _owner )
513 _this.packages_render_use = this;
514 this.el = new Gtk.CellRendererToggle();
518 // set gobject values
519 this.el.activatable = true;
522 this.el.toggled.connect( ( path_string) => {
523 var m = _this.default_packages_tree_store.el;
525 Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);
526 m.get_iter (out iter, path);
528 m.get_value(iter, 1, out val);
529 m.set_value(iter, 1, ((bool) val) ? false :true);
531 m.get_value(iter, 0, out fval);
532 var fn = (string)fval;
534 var def = _this.project.compilegroups.get("_default_");
535 var items = def.packages;
546 // user defined functions
552 public class Xcls_ScrolledWindow17 : Object
554 public Gtk.ScrolledWindow el;
555 private Xcls_ValaProjectSettingsPopover _this;
561 public Xcls_ScrolledWindow17(Xcls_ValaProjectSettingsPopover _owner )
564 this.el = new Gtk.ScrolledWindow( null, null );
568 // set gobject values
569 this.el.hexpand = true;
570 var child_0 = new Xcls_default_directory_tree( _this );
572 this.el.add ( child_0.el );
573 var child_1 = new Xcls_default_directory_menu( _this );
577 // user defined functions
579 public class Xcls_default_directory_tree : Object
581 public Gtk.TreeView el;
582 private Xcls_ValaProjectSettingsPopover _this;
588 public Xcls_default_directory_tree(Xcls_ValaProjectSettingsPopover _owner )
591 _this.default_directory_tree = this;
592 this.el = new Gtk.TreeView();
596 // set gobject values
597 this.el.headers_visible = true;
598 var child_0 = new Xcls_default_directory_tree_store( _this );
600 this.el.set_model ( child_0.el );
601 var child_1 = new Xcls_TreeViewColumn20( _this );
603 this.el.append_column ( child_1.el );
606 this.el.button_press_event.connect( ( ev) => {
607 //console.log("button press?");
610 if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button != 3) {
611 //print("click" + ev.type);
615 //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {
619 // this.el.get_selection().select_path(res);
621 //if (!this.get('/LeftTreeMenu').el) {
622 // this.get('/LeftTreeMenu').init();
625 _this.default_directory_menu.el.set_screen(Gdk.Screen.get_default());
626 _this.default_directory_menu.el.show_all();
627 _this.default_directory_menu.el.popup(null, null, null, 3, ev.time);
628 // print("click:" + res.path.to_string());
633 // user defined functions
635 public class Xcls_default_directory_tree_store : Object
637 public Gtk.ListStore el;
638 private Xcls_ValaProjectSettingsPopover _this;
644 public Xcls_default_directory_tree_store(Xcls_ValaProjectSettingsPopover _owner )
647 _this.default_directory_tree_store = this;
648 this.el = new Gtk.ListStore( 1, typeof(string)
653 // set gobject values
656 // user defined functions
657 public void load () {
662 var def = _this.project.compilegroups.get("_default_");
663 var items = def.sources;
668 for(var i =0 ; i < items.size; i++) {
669 this.el.append(out citer);
671 this.el.set_value(citer, 0, items.get(i) ); // title
672 //this.el.set_value(citer, 1, items.get(i) );
674 this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
679 public class Xcls_TreeViewColumn20 : Object
681 public Gtk.TreeViewColumn el;
682 private Xcls_ValaProjectSettingsPopover _this;
688 public Xcls_TreeViewColumn20(Xcls_ValaProjectSettingsPopover _owner )
691 this.el = new Gtk.TreeViewColumn();
695 // set gobject values
696 this.el.title = "Available Directories (right click to add)";
697 this.el.resizable = true;
698 var child_0 = new Xcls_directory_render( _this );
700 this.el.pack_start ( child_0.el , false );
704 this.el.add_attribute(_this.directory_render.el , "text", 0 );
707 // user defined functions
709 public class Xcls_directory_render : Object
711 public Gtk.CellRendererText el;
712 private Xcls_ValaProjectSettingsPopover _this;
718 public Xcls_directory_render(Xcls_ValaProjectSettingsPopover _owner )
721 _this.directory_render = this;
722 this.el = new Gtk.CellRendererText();
726 // set gobject values
729 // user defined functions
734 public class Xcls_default_directory_menu : Object
737 private Xcls_ValaProjectSettingsPopover _this;
743 public Xcls_default_directory_menu(Xcls_ValaProjectSettingsPopover _owner )
746 _this.default_directory_menu = this;
747 this.el = new Gtk.Menu();
751 // set gobject values
752 var child_0 = new Xcls_MenuItem23( _this );
754 this.el.add ( child_0.el );
755 var child_1 = new Xcls_MenuItem24( _this );
757 this.el.add ( child_1.el );
758 var child_2 = new Xcls_SeparatorMenuItem25( _this );
760 this.el.add ( child_2.el );
761 var child_3 = new Xcls_MenuItem26( _this );
763 this.el.add ( child_3.el );
766 // user defined functions
768 public class Xcls_MenuItem23 : Object
770 public Gtk.MenuItem el;
771 private Xcls_ValaProjectSettingsPopover _this;
777 public Xcls_MenuItem23(Xcls_ValaProjectSettingsPopover _owner )
780 this.el = new Gtk.MenuItem();
784 // set gobject values
785 this.el.label = "Add Directory";
788 this.el.activate.connect( () => {
790 var chooser = new Gtk.FileChooserDialog (
791 "Add a directory", _this.window.el, Gtk.FileChooserAction.SELECT_FOLDER ,
793 Gtk.ResponseType.CANCEL,
795 Gtk.ResponseType.ACCEPT);
796 if (chooser.run () != Gtk.ResponseType.ACCEPT) {
801 // add the directory..
802 var fn = _this.project.relPath(chooser.get_filename());
803 _this.project.compilegroups.get("_default_").sources.add(fn);
804 _this.default_directory_tree_store.load();
808 // user defined functions
811 public class Xcls_MenuItem24 : Object
813 public Gtk.MenuItem el;
814 private Xcls_ValaProjectSettingsPopover _this;
820 public Xcls_MenuItem24(Xcls_ValaProjectSettingsPopover _owner )
823 this.el = new Gtk.MenuItem();
827 // set gobject values
828 this.el.label = "Add File";
831 this.el.activate.connect( () => {
833 var chooser = new Gtk.FileChooserDialog (
834 "Add a directory", _this.window.el, Gtk.FileChooserAction.OPEN ,
836 Gtk.ResponseType.CANCEL,
838 Gtk.ResponseType.ACCEPT);
839 if (chooser.run () != Gtk.ResponseType.ACCEPT) {
844 // add the directory..
845 var fn = _this.project.relPath(chooser.get_filename());
846 _this.project.compilegroups.get("_default_").sources.add(fn);
847 _this.default_directory_tree_store.load();
851 // user defined functions
854 public class Xcls_SeparatorMenuItem25 : Object
856 public Gtk.SeparatorMenuItem el;
857 private Xcls_ValaProjectSettingsPopover _this;
863 public Xcls_SeparatorMenuItem25(Xcls_ValaProjectSettingsPopover _owner )
866 this.el = new Gtk.SeparatorMenuItem();
870 // set gobject values
873 // user defined functions
876 public class Xcls_MenuItem26 : Object
878 public Gtk.MenuItem el;
879 private Xcls_ValaProjectSettingsPopover _this;
885 public Xcls_MenuItem26(Xcls_ValaProjectSettingsPopover _owner )
888 this.el = new Gtk.MenuItem();
892 // set gobject values
893 this.el.label = "Remove File/Directory";
896 this.el.activate.connect( () => {
901 if (!_this.default_directory_tree.el.get_selection().get_selected(out mod, out iter)) {
902 print("nothing selected\n");
907 // add the directory..
911 mod.get_value(iter,0, out val);
912 var fn = (string) val;
914 print("remove: %s\n", fn);
915 if (!_this.project.compilegroups.get("_default_").sources.remove(fn)) {
916 print("remove failed");
918 _this.default_directory_tree_store.load();
922 // user defined functions
929 public class Xcls_Paned27 : Object
932 private Xcls_ValaProjectSettingsPopover _this;
938 public Xcls_Paned27(Xcls_ValaProjectSettingsPopover _owner )
941 this.el = new Gtk.Paned( Gtk.Orientation.HORIZONTAL );
945 // set gobject values
946 this.el.position = 300;
947 var child_0 = new Xcls_ScrolledWindow28( _this );
949 this.el.add1 ( child_0.el );
950 var child_1 = new Xcls_set_vbox( _this );
952 this.el.add2 ( child_1.el );
955 // user defined functions
957 public class Xcls_ScrolledWindow28 : Object
959 public Gtk.ScrolledWindow el;
960 private Xcls_ValaProjectSettingsPopover _this;
966 public Xcls_ScrolledWindow28(Xcls_ValaProjectSettingsPopover _owner )
969 this.el = new Gtk.ScrolledWindow( null, null );
973 // set gobject values
974 var child_0 = new Xcls_targets_tree_menu( _this );
976 this.el.add ( child_0.el );
977 var child_1 = new Xcls_targets_tree( _this );
979 this.el.add ( child_1.el );
984 this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
989 // user defined functions
991 public class Xcls_targets_tree_menu : Object
994 private Xcls_ValaProjectSettingsPopover _this;
1000 public Xcls_targets_tree_menu(Xcls_ValaProjectSettingsPopover _owner )
1003 _this.targets_tree_menu = this;
1004 this.el = new Gtk.Menu();
1008 // set gobject values
1009 var child_0 = new Xcls_MenuItem30( _this );
1011 this.el.add ( child_0.el );
1012 var child_1 = new Xcls_SeparatorMenuItem31( _this );
1014 this.el.add ( child_1.el );
1015 var child_2 = new Xcls_MenuItem32( _this );
1017 this.el.add ( child_2.el );
1020 // user defined functions
1022 public class Xcls_MenuItem30 : Object
1024 public Gtk.MenuItem el;
1025 private Xcls_ValaProjectSettingsPopover _this;
1031 public Xcls_MenuItem30(Xcls_ValaProjectSettingsPopover _owner )
1034 this.el = new Gtk.MenuItem();
1038 // set gobject values
1039 this.el.label = "Add Compile Target";
1042 this.el.activate.connect( () => {
1044 if (_this.project.compilegroups.has_key("NEW GROUP")) {
1048 // add the directory..
1050 _this.project.compilegroups.set("NEW GROUP", new Project.GtkValaSettings("NEW GROUP"));
1051 _this.targets_tree_store.load();
1055 // user defined functions
1058 public class Xcls_SeparatorMenuItem31 : Object
1060 public Gtk.SeparatorMenuItem el;
1061 private Xcls_ValaProjectSettingsPopover _this;
1067 public Xcls_SeparatorMenuItem31(Xcls_ValaProjectSettingsPopover _owner )
1070 this.el = new Gtk.SeparatorMenuItem();
1074 // set gobject values
1077 // user defined functions
1080 public class Xcls_MenuItem32 : Object
1082 public Gtk.MenuItem el;
1083 private Xcls_ValaProjectSettingsPopover _this;
1089 public Xcls_MenuItem32(Xcls_ValaProjectSettingsPopover _owner )
1092 this.el = new Gtk.MenuItem();
1096 // set gobject values
1097 this.el.label = "Remove Target";
1100 this.el.activate.connect( () => {
1105 if (!_this.targets_tree.el.get_selection().get_selected(out mod, out iter)) {
1106 print("nothing selected\n");
1111 // add the directory..
1115 mod.get_value(iter,0, out val);
1116 var fn = (string) val;
1118 print("remove: %s\n", fn);
1119 if (!_this.project.compilegroups.unset(fn)) {
1120 print("remove failed");
1122 _this.targets_tree_store.load();
1126 // user defined functions
1130 public class Xcls_targets_tree : Object
1132 public Gtk.TreeView el;
1133 private Xcls_ValaProjectSettingsPopover _this;
1137 public string cursor;
1140 public Xcls_targets_tree(Xcls_ValaProjectSettingsPopover _owner )
1143 _this.targets_tree = this;
1144 this.el = new Gtk.TreeView();
1148 // set gobject values
1149 var child_0 = new Xcls_targets_tree_store( _this );
1151 this.el.set_model ( child_0.el );
1152 var child_1 = new Xcls_TreeViewColumn35( _this );
1154 this.el.append_column ( child_1.el );
1157 this.el.button_press_event.connect( ( ev) => {
1158 //console.log("button press?");
1161 if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button != 3) {
1162 //print("click" + ev.type);
1166 //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {
1170 // this.el.get_selection().select_path(res);
1172 //if (!this.get('/LeftTreeMenu').el) {
1173 // this.get('/LeftTreeMenu').init();
1176 _this.targets_tree_menu.el.set_screen(Gdk.Screen.get_default());
1177 _this.targets_tree_menu.el.show_all();
1178 _this.targets_tree_menu.el.popup(null, null, null, 3, ev.time);
1179 // print("click:" + res.path.to_string());
1182 this.el.cursor_changed.connect( ( ) => {
1184 if (this.cursor != "") {
1185 // save the values..
1188 // load the new values.
1193 if (!this.el.get_selection().get_selected(out mod, out iter)) {
1194 print("nothing selected\n");
1195 // should disable the right hand side..
1196 _this.set_vbox.el.hide();
1199 _this.set_vbox.el.show();
1201 // add the directory..
1205 mod.get_value(iter,0, out val);
1206 var fn = (string) val;
1209 var cg = _this.project.compilegroups.get(fn);
1211 _this.build_pack_target.el.set_text(cg.target_bin);
1212 _this.build_compile_flags.el.set_text(cg.compile_flags);
1213 _this.build_execute_args.el.set_text(cg.execute_args);
1215 _this.set_vbox.cgroup = cg;
1216 _this.files_tree_store.update();
1224 // user defined functions
1226 public class Xcls_targets_tree_store : Object
1228 public Gtk.ListStore el;
1229 private Xcls_ValaProjectSettingsPopover _this;
1235 public Xcls_targets_tree_store(Xcls_ValaProjectSettingsPopover _owner )
1238 _this.targets_tree_store = this;
1239 this.el = new Gtk.ListStore( 2, typeof(string), // 0 key type
1240 typeof(string) // ??
1245 // set gobject values
1248 // user defined functions
1249 public void load () {
1254 var cg = _this.project.compilegroups;
1256 _this.targets_tree.cursor = "";
1258 var iter = cg.map_iterator();
1259 while(iter.next()) {
1260 var key = iter.get_key();
1261 if (key == "_default_") {
1265 this.el.append(out citer);
1267 this.el.set_value(citer, 0, key ); // title
1268 //this.el.set_value(citer, 1, items.get(i) );
1270 this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
1271 _this.set_vbox.el.hide();
1275 public class Xcls_TreeViewColumn35 : Object
1277 public Gtk.TreeViewColumn el;
1278 private Xcls_ValaProjectSettingsPopover _this;
1284 public Xcls_TreeViewColumn35(Xcls_ValaProjectSettingsPopover _owner )
1287 this.el = new Gtk.TreeViewColumn();
1291 // set gobject values
1292 this.el.title = "name";
1293 this.el.resizable = true;
1294 var child_0 = new Xcls_targets_render( _this );
1296 this.el.pack_start ( child_0.el , false );
1301 this.el.add_attribute(_this.targets_render.el , "text", 0 );
1305 // user defined functions
1307 public class Xcls_targets_render : Object
1309 public Gtk.CellRendererText el;
1310 private Xcls_ValaProjectSettingsPopover _this;
1316 public Xcls_targets_render(Xcls_ValaProjectSettingsPopover _owner )
1319 _this.targets_render = this;
1320 this.el = new Gtk.CellRendererText();
1324 // set gobject values
1325 this.el.editable = true;
1328 this.el.edited.connect( (path, newtext) => {
1331 _this.targets_tree_store.el.get_iter(out iter, new Gtk.TreePath.from_string(path));
1333 _this.targets_tree_store.el.get_value(iter,0, out gval);
1334 var oldval = (string)gval;
1335 if (oldval == newtext) {
1338 var cg = _this.project.compilegroups.get(oldval);
1340 _this.project.compilegroups.unset(oldval);
1341 _this.project.compilegroups.set(newtext, cg);
1342 _this.targets_tree_store.load();
1346 // user defined functions
1352 public class Xcls_set_vbox : Object
1355 private Xcls_ValaProjectSettingsPopover _this;
1359 public Project.GtkValaSettings cgroup;
1362 public Xcls_set_vbox(Xcls_ValaProjectSettingsPopover _owner )
1365 _this.set_vbox = this;
1366 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
1371 // set gobject values
1372 this.el.homogeneous = false;
1373 var child_0 = new Xcls_Label38( _this );
1375 this.el.pack_start ( child_0.el , false,false,0 );
1376 var child_1 = new Xcls_build_pack_target( _this );
1378 this.el.pack_start ( child_1.el , false,false,0 );
1379 var child_2 = new Xcls_Label40( _this );
1381 this.el.pack_start ( child_2.el , false,false,0 );
1382 var child_3 = new Xcls_build_compile_flags( _this );
1384 this.el.pack_start ( child_3.el , false,false,0 );
1385 var child_4 = new Xcls_Label42( _this );
1387 this.el.pack_start ( child_4.el , false,false,0 );
1388 var child_5 = new Xcls_build_execute_args( _this );
1390 this.el.pack_start ( child_5.el , false,false,0 );
1391 var child_6 = new Xcls_Label44( _this );
1393 this.el.pack_start ( child_6.el , false,false,0 );
1394 var child_7 = new Xcls_ScrolledWindow45( _this );
1396 this.el.pack_start ( child_7.el , true,true,0 );
1399 // user defined functions
1401 public class Xcls_Label38 : Object
1403 public Gtk.Label el;
1404 private Xcls_ValaProjectSettingsPopover _this;
1410 public Xcls_Label38(Xcls_ValaProjectSettingsPopover _owner )
1413 this.el = new Gtk.Label( "target filename" );
1417 // set gobject values
1420 // user defined functions
1423 public class Xcls_build_pack_target : Object
1425 public Gtk.Entry el;
1426 private Xcls_ValaProjectSettingsPopover _this;
1432 public Xcls_build_pack_target(Xcls_ValaProjectSettingsPopover _owner )
1435 _this.build_pack_target = this;
1436 this.el = new Gtk.Entry();
1440 // set gobject values
1443 this.el.changed.connect( () => {
1444 if (_this.targets_tree.cursor.length < 1) {
1447 _this.project.compilegroups.get(_this.targets_tree.cursor).target_bin = this.el.text;
1451 // user defined functions
1454 public class Xcls_Label40 : Object
1456 public Gtk.Label el;
1457 private Xcls_ValaProjectSettingsPopover _this;
1463 public Xcls_Label40(Xcls_ValaProjectSettingsPopover _owner )
1466 this.el = new Gtk.Label( "compile flags" );
1470 // set gobject values
1473 // user defined functions
1476 public class Xcls_build_compile_flags : Object
1478 public Gtk.Entry el;
1479 private Xcls_ValaProjectSettingsPopover _this;
1485 public Xcls_build_compile_flags(Xcls_ValaProjectSettingsPopover _owner )
1488 _this.build_compile_flags = this;
1489 this.el = new Gtk.Entry();
1493 // set gobject values
1496 this.el.changed.connect( () => {
1497 if (_this.targets_tree.cursor.length < 1) {
1500 _this.project.compilegroups.get(_this.targets_tree.cursor).compile_flags = this.el.text;
1504 // user defined functions
1507 public class Xcls_Label42 : Object
1509 public Gtk.Label el;
1510 private Xcls_ValaProjectSettingsPopover _this;
1516 public Xcls_Label42(Xcls_ValaProjectSettingsPopover _owner )
1519 this.el = new Gtk.Label( "test argments - when run after a build" );
1523 // set gobject values
1526 // user defined functions
1529 public class Xcls_build_execute_args : Object
1531 public Gtk.Entry el;
1532 private Xcls_ValaProjectSettingsPopover _this;
1538 public Xcls_build_execute_args(Xcls_ValaProjectSettingsPopover _owner )
1541 _this.build_execute_args = this;
1542 this.el = new Gtk.Entry();
1546 // set gobject values
1547 this.el.placeholder_text = "eg. -f somefile -g ";
1550 this.el.changed.connect( () => {
1551 if (_this.targets_tree.cursor.length < 1) {
1554 _this.project.compilegroups.get(_this.targets_tree.cursor).execute_args = this.el.text;
1558 // user defined functions
1561 public class Xcls_Label44 : Object
1563 public Gtk.Label el;
1564 private Xcls_ValaProjectSettingsPopover _this;
1570 public Xcls_Label44(Xcls_ValaProjectSettingsPopover _owner )
1573 this.el = new Gtk.Label( "Files to compile" );
1577 // set gobject values
1580 // user defined functions
1583 public class Xcls_ScrolledWindow45 : Object
1585 public Gtk.ScrolledWindow el;
1586 private Xcls_ValaProjectSettingsPopover _this;
1592 public Xcls_ScrolledWindow45(Xcls_ValaProjectSettingsPopover _owner )
1595 this.el = new Gtk.ScrolledWindow( null, null );
1599 // set gobject values
1600 var child_0 = new Xcls_files_tree( _this );
1602 this.el.add ( child_0.el );
1605 // user defined functions
1607 public class Xcls_files_tree : Object
1609 public Gtk.TreeView el;
1610 private Xcls_ValaProjectSettingsPopover _this;
1616 public Xcls_files_tree(Xcls_ValaProjectSettingsPopover _owner )
1619 this.el = new Gtk.TreeView();
1623 // set gobject values
1624 var child_0 = new Xcls_files_tree_store( _this );
1626 this.el.set_model ( child_0.el );
1627 var child_1 = new Xcls_TreeViewColumn48( _this );
1629 this.el.append_column ( child_1.el );
1630 var child_2 = new Xcls_TreeViewColumn50( _this );
1632 this.el.append_column ( child_2.el );
1635 // user defined functions
1637 public class Xcls_files_tree_store : Object
1639 public Gtk.ListStore el;
1640 private Xcls_ValaProjectSettingsPopover _this;
1646 public Xcls_files_tree_store(Xcls_ValaProjectSettingsPopover _owner )
1649 _this.files_tree_store = this;
1650 this.el = new Gtk.ListStore( 4, typeof(string), // 0 file name
1651 typeof(string), // 0 basename
1652 typeof(string), // type (dir orfile)
1653 typeof(bool) // is checked.
1658 // set gobject values
1661 // user defined functions
1662 public void updateDir (string dname, bool bval) {
1666 var cg = _this.set_vbox.cgroup;
1667 for(var i =0 ; i < this.el.iter_n_children(null); i++) {
1668 this.el.iter_nth_child(out citer,null,i);
1671 this.el.get_value(citer,0, out val);
1672 var fn = (string) val;
1674 if ( Path.get_dirname (fn) == dname) {
1676 this.el.set_value(citer, 3, bval ); // checked
1682 if (cg.sources.contains(fn)) {
1683 cg.sources.remove(fn);
1686 if (!cg.sources.contains(fn)) {
1696 public void load () {
1701 var def = _this.project.compilegroups.get("_default_");
1702 var items = def.sources;
1710 for(var i =0 ; i < items.size; i++) {
1712 var files = _this.project.filesForCompile(items.get(i), false);
1713 if (files.size < 1) {
1717 this.el.append(out citer);
1719 this.el.set_value(citer, 0, items.get(i) ); // title
1720 this.el.set_value(citer, 1, "<span foreground=\"green\" font_weight=\"bold\">" +
1721 GLib.Markup.escape_text(items.get(i)) + "</span>"
1723 print("ADD item %s", items.get(i));
1724 this.el.set_value(citer, 2, "dir"); // type
1725 this.el.set_value(citer, 3, false ); // checked
1729 for(var j =0 ; j < files.size; j++) {
1730 this.el.append(out citer);
1731 print("ADD item %s", files.get(j));
1732 this.el.set_value(citer, 0, files.get(j) ); // title
1733 this.el.set_value(citer, 1, GLib.Markup.escape_text( Path.get_basename (files.get(j))) ); // title
1734 this.el.set_value(citer, 2, "file"); // type
1735 this.el.set_value(citer, 3, false ); // checked
1740 //this.el.set_value(citer, 1, items.get(i) );
1742 this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
1743 if (_this.set_vbox.cgroup == null) {
1744 _this.files_tree.set_sensitive(false);
1748 public void update () {
1753 for(var i =0 ; i < this.el.iter_n_children(null); i++) {
1754 this.el.iter_nth_child(out citer,null,i);
1757 this.el.get_value(citer,0, out val);
1758 var fn = (string) val;
1761 if (_this.set_vbox.cgroup.sources.contains(fn)) {
1765 this.el.set_value(citer, 3, active ); // checked
1768 _this.files_tree.set_sensitive(true);
1772 public class Xcls_TreeViewColumn48 : Object
1774 public Gtk.TreeViewColumn el;
1775 private Xcls_ValaProjectSettingsPopover _this;
1781 public Xcls_TreeViewColumn48(Xcls_ValaProjectSettingsPopover _owner )
1784 this.el = new Gtk.TreeViewColumn();
1788 // set gobject values
1789 this.el.title = "name";
1790 this.el.resizable = true;
1791 var child_0 = new Xcls_files_render( _this );
1793 this.el.pack_start ( child_0.el , false );
1797 this.el.add_attribute(_this.files_render.el , "markup", 1 ); // basnemae
1799 /* this.el.add_attribute(_this.files_render.el , "markup", 2 );
1803 // user defined functions
1805 public class Xcls_files_render : Object
1807 public Gtk.CellRendererText el;
1808 private Xcls_ValaProjectSettingsPopover _this;
1814 public Xcls_files_render(Xcls_ValaProjectSettingsPopover _owner )
1817 _this.files_render = this;
1818 this.el = new Gtk.CellRendererText();
1822 // set gobject values
1825 // user defined functions
1829 public class Xcls_TreeViewColumn50 : Object
1831 public Gtk.TreeViewColumn el;
1832 private Xcls_ValaProjectSettingsPopover _this;
1838 public Xcls_TreeViewColumn50(Xcls_ValaProjectSettingsPopover _owner )
1841 this.el = new Gtk.TreeViewColumn();
1845 // set gobject values
1846 this.el.title = "use";
1847 this.el.resizable = false;
1848 this.el.fixed_width = 50;
1849 var child_0 = new Xcls_files_render_use( _this );
1851 this.el.pack_start ( child_0.el , false );
1856 this.el.add_attribute(_this.files_render_use.el , "active", 3 );
1860 // user defined functions
1862 public class Xcls_files_render_use : Object
1864 public Gtk.CellRendererToggle el;
1865 private Xcls_ValaProjectSettingsPopover _this;
1871 public Xcls_files_render_use(Xcls_ValaProjectSettingsPopover _owner )
1874 _this.files_render_use = this;
1875 this.el = new Gtk.CellRendererToggle();
1879 // set gobject values
1880 this.el.activatable = true;
1883 this.el.toggled.connect( ( path_string) => {
1887 var m = _this.files_tree_store.el;
1889 Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);
1890 m.get_iter (out iter, path);
1892 m.get_value(iter, 3, out val);
1893 m.set_value(iter, 3, ((bool) val) ? false :true);
1897 m.get_value(iter, 2, out ftval);
1898 var ftype = (string)ftval;
1902 m.get_value(iter, 0, out fval);
1903 var fn = (string)fval;
1906 var cg = _this.set_vbox.cgroup;
1907 // what's the sleected target?
1908 // update the list..
1909 // if ftype is a dir == then toggle all the bellow.
1911 if (ftype == "dir") {
1912 _this.files_tree_store.updateDir(fn, ((bool) val) ? false :true);
1915 // if ftype is a file .. see if all the files in that directory are check and check the dir.
1920 cg.sources.remove(fn);
1928 // user defined functions