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 );
59 // user defined functions
60 public void show (Gtk.Widget btn, Project.Gtk project) {
62 //print("ValaProjectSettings show\n");
64 this.project= project;
66 this.compile_flags.el.text = _this.project.compilegroups.get("_default_").compile_flags;
68 this.default_directory_tree_store.load();
69 this.default_packages_tree_store.load();
70 this.targets_tree_store.load();
71 this.files_tree_store.load();
74 this.el.set_modal(true);
75 this.el.set_relative_to(btn);
77 this.el.set_position(Gtk.PositionType.RIGHT);
80 // print("SHOWALL - POPIP\n");
82 //this.view.el.grab_focus();
86 this.project.writeConfig();
88 public class Xcls_Box2 : Object
91 private Xcls_ValaProjectSettingsPopover _this;
97 public Xcls_Box2(Xcls_ValaProjectSettingsPopover _owner )
100 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
104 // set gobject values
105 this.el.hexpand = true;
106 var child_0 = new Xcls_Notebook3( _this );
108 this.el.pack_start ( child_0.el , true,true,0 );
111 // user defined functions
113 public class Xcls_Notebook3 : Object
115 public Gtk.Notebook el;
116 private Xcls_ValaProjectSettingsPopover _this;
122 public Xcls_Notebook3(Xcls_ValaProjectSettingsPopover _owner )
125 this.el = new Gtk.Notebook();
129 // set gobject values
130 var child_0 = new Xcls_label_global( _this );
132 var child_1 = new Xcls_label_targets( _this );
134 var child_2 = new Xcls_Box6( _this );
136 this.el.append_page ( child_2.el , _this.label_global.el );
137 var child_3 = new Xcls_Paned27( _this );
139 this.el.append_page ( child_3.el , _this.label_targets.el );
142 // user defined functions
144 public class Xcls_label_global : Object
147 private Xcls_ValaProjectSettingsPopover _this;
153 public Xcls_label_global(Xcls_ValaProjectSettingsPopover _owner )
156 _this.label_global = this;
157 this.el = new Gtk.Label( "Global" );
161 // set gobject values
164 // user defined functions
167 public class Xcls_label_targets : Object
170 private Xcls_ValaProjectSettingsPopover _this;
176 public Xcls_label_targets(Xcls_ValaProjectSettingsPopover _owner )
179 _this.label_targets = this;
180 this.el = new Gtk.Label( "Targets" );
184 // set gobject values
187 // user defined functions
190 public class Xcls_Box6 : Object
193 private Xcls_ValaProjectSettingsPopover _this;
199 public Xcls_Box6(Xcls_ValaProjectSettingsPopover _owner )
202 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
206 // set gobject values
207 this.el.homogeneous = false;
208 var child_0 = new Xcls_Label7( _this );
210 this.el.pack_start ( child_0.el , false,false,0 );
211 var child_1 = new Xcls_compile_flags( _this );
213 this.el.pack_start ( child_1.el , false,false,0 );
214 var child_2 = new Xcls_Paned9( _this );
216 this.el.pack_start ( child_2.el , true,true,0 );
219 // user defined functions
221 public class Xcls_Label7 : Object
224 private Xcls_ValaProjectSettingsPopover _this;
230 public Xcls_Label7(Xcls_ValaProjectSettingsPopover _owner )
233 this.el = new Gtk.Label( "compile flags" );
237 // set gobject values
240 // user defined functions
243 public class Xcls_compile_flags : Object
246 private Xcls_ValaProjectSettingsPopover _this;
252 public Xcls_compile_flags(Xcls_ValaProjectSettingsPopover _owner )
255 _this.compile_flags = this;
256 this.el = new Gtk.Entry();
260 // set gobject values
261 this.el.placeholder_text = "eg. -g --valasrc $BASEDIR ";
264 this.el.changed.connect( () => {
266 _this.project.compilegroups.get("_default_").compile_flags = this.el.text;
267 _this.project.writeConfig();
268 // _this.project.save();
273 // user defined functions
276 public class Xcls_Paned9 : Object
279 private Xcls_ValaProjectSettingsPopover _this;
285 public Xcls_Paned9(Xcls_ValaProjectSettingsPopover _owner )
288 this.el = new Gtk.Paned( Gtk.Orientation.HORIZONTAL );
292 // set gobject values
293 this.el.position = 300;
294 var child_0 = new Xcls_ScrolledWindow10( _this );
296 this.el.add ( child_0.el );
297 var child_1 = new Xcls_ScrolledWindow17( _this );
299 this.el.add2 ( child_1.el );
302 // user defined functions
304 public class Xcls_ScrolledWindow10 : Object
306 public Gtk.ScrolledWindow el;
307 private Xcls_ValaProjectSettingsPopover _this;
313 public Xcls_ScrolledWindow10(Xcls_ValaProjectSettingsPopover _owner )
316 this.el = new Gtk.ScrolledWindow( null, null );
320 // set gobject values
321 this.el.hexpand = true;
322 var child_0 = new Xcls_default_packages_tree( _this );
324 this.el.add ( child_0.el );
327 // user defined functions
329 public class Xcls_default_packages_tree : Object
331 public Gtk.TreeView el;
332 private Xcls_ValaProjectSettingsPopover _this;
338 public Xcls_default_packages_tree(Xcls_ValaProjectSettingsPopover _owner )
341 this.el = new Gtk.TreeView();
345 // set gobject values
346 this.el.headers_visible = true;
347 var child_0 = new Xcls_default_packages_tree_store( _this );
349 this.el.set_model ( child_0.el );
350 var child_1 = new Xcls_TreeViewColumn13( _this );
352 this.el.append_column ( child_1.el );
353 var child_2 = new Xcls_TreeViewColumn15( _this );
355 this.el.append_column ( child_2.el );
358 // user defined functions
360 public class Xcls_default_packages_tree_store : Object
362 public Gtk.ListStore el;
363 private Xcls_ValaProjectSettingsPopover _this;
369 public Xcls_default_packages_tree_store(Xcls_ValaProjectSettingsPopover _owner )
372 _this.default_packages_tree_store = this;
373 this.el = new Gtk.ListStore( 2, typeof(string), // 0 key type
378 // set gobject values
381 // user defined functions
382 public void load () {
384 var def = _this.project.compilegroups.get("_default_");
385 var items = def.packages;
388 var pal = (Palete.Gtk) Palete.factory("Gtk");
389 var pkgs = pal.packages(_this.project);
390 print("ValaProjectSettings:packages load %d\n", pkgs.size);
394 for(var i =0 ; i < pkgs.size; i++) {
395 this.el.append(out citer);
397 this.el.set_value(citer, 0, pkgs.get(i) ); // title
398 this.el.set_value(citer, 1, items.contains(pkgs.get(i)) );
400 this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
405 public class Xcls_TreeViewColumn13 : Object
407 public Gtk.TreeViewColumn el;
408 private Xcls_ValaProjectSettingsPopover _this;
414 public Xcls_TreeViewColumn13(Xcls_ValaProjectSettingsPopover _owner )
417 this.el = new Gtk.TreeViewColumn();
421 // set gobject values
422 this.el.title = "package name";
423 this.el.expand = true;
424 this.el.resizable = true;
425 var child_0 = new Xcls_packages_render( _this );
427 this.el.pack_start ( child_0.el , false );
431 this.el.add_attribute(_this.packages_render.el , "text", 0 );
434 // user defined functions
436 public class Xcls_packages_render : Object
438 public Gtk.CellRendererText el;
439 private Xcls_ValaProjectSettingsPopover _this;
445 public Xcls_packages_render(Xcls_ValaProjectSettingsPopover _owner )
448 _this.packages_render = this;
449 this.el = new Gtk.CellRendererText();
453 // set gobject values
456 // user defined functions
460 public class Xcls_TreeViewColumn15 : Object
462 public Gtk.TreeViewColumn el;
463 private Xcls_ValaProjectSettingsPopover _this;
469 public Xcls_TreeViewColumn15(Xcls_ValaProjectSettingsPopover _owner )
472 this.el = new Gtk.TreeViewColumn();
476 // set gobject values
477 this.el.title = "use";
478 this.el.resizable = false;
479 this.el.fixed_width = 50;
480 var child_0 = new Xcls_packages_render_use( _this );
482 this.el.pack_start ( child_0.el , false );
487 this.el.add_attribute(_this.packages_render_use.el , "active", 1 );
491 // user defined functions
493 public class Xcls_packages_render_use : Object
495 public Gtk.CellRendererToggle el;
496 private Xcls_ValaProjectSettingsPopover _this;
502 public Xcls_packages_render_use(Xcls_ValaProjectSettingsPopover _owner )
505 _this.packages_render_use = this;
506 this.el = new Gtk.CellRendererToggle();
510 // set gobject values
511 this.el.activatable = true;
514 this.el.toggled.connect( ( path_string) => {
515 var m = _this.default_packages_tree_store.el;
517 Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);
518 m.get_iter (out iter, path);
520 m.get_value(iter, 1, out val);
521 m.set_value(iter, 1, ((bool) val) ? false :true);
523 m.get_value(iter, 0, out fval);
524 var fn = (string)fval;
526 var def = _this.project.compilegroups.get("_default_");
527 var items = def.packages;
538 // user defined functions
544 public class Xcls_ScrolledWindow17 : Object
546 public Gtk.ScrolledWindow el;
547 private Xcls_ValaProjectSettingsPopover _this;
553 public Xcls_ScrolledWindow17(Xcls_ValaProjectSettingsPopover _owner )
556 this.el = new Gtk.ScrolledWindow( null, null );
560 // set gobject values
561 this.el.hexpand = true;
562 var child_0 = new Xcls_default_directory_tree( _this );
564 this.el.add ( child_0.el );
565 var child_1 = new Xcls_default_directory_menu( _this );
569 // user defined functions
571 public class Xcls_default_directory_tree : Object
573 public Gtk.TreeView el;
574 private Xcls_ValaProjectSettingsPopover _this;
580 public Xcls_default_directory_tree(Xcls_ValaProjectSettingsPopover _owner )
583 _this.default_directory_tree = this;
584 this.el = new Gtk.TreeView();
588 // set gobject values
589 this.el.headers_visible = true;
590 var child_0 = new Xcls_default_directory_tree_store( _this );
592 this.el.set_model ( child_0.el );
593 var child_1 = new Xcls_TreeViewColumn20( _this );
595 this.el.append_column ( child_1.el );
598 this.el.button_press_event.connect( ( ev) => {
599 //console.log("button press?");
602 if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button != 3) {
603 //print("click" + ev.type);
607 //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {
611 // this.el.get_selection().select_path(res);
613 //if (!this.get('/LeftTreeMenu').el) {
614 // this.get('/LeftTreeMenu').init();
617 _this.default_directory_menu.el.set_screen(Gdk.Screen.get_default());
618 _this.default_directory_menu.el.show_all();
619 _this.default_directory_menu.el.popup(null, null, null, 3, ev.time);
620 // print("click:" + res.path.to_string());
625 // user defined functions
627 public class Xcls_default_directory_tree_store : Object
629 public Gtk.ListStore el;
630 private Xcls_ValaProjectSettingsPopover _this;
636 public Xcls_default_directory_tree_store(Xcls_ValaProjectSettingsPopover _owner )
639 _this.default_directory_tree_store = this;
640 this.el = new Gtk.ListStore( 1, typeof(string)
645 // set gobject values
648 // user defined functions
649 public void load () {
654 var def = _this.project.compilegroups.get("_default_");
655 var items = def.sources;
660 for(var i =0 ; i < items.size; i++) {
661 this.el.append(out citer);
663 this.el.set_value(citer, 0, items.get(i) ); // title
664 //this.el.set_value(citer, 1, items.get(i) );
666 this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
671 public class Xcls_TreeViewColumn20 : Object
673 public Gtk.TreeViewColumn el;
674 private Xcls_ValaProjectSettingsPopover _this;
680 public Xcls_TreeViewColumn20(Xcls_ValaProjectSettingsPopover _owner )
683 this.el = new Gtk.TreeViewColumn();
687 // set gobject values
688 this.el.title = "Available Directories (right click to add)";
689 this.el.resizable = true;
690 var child_0 = new Xcls_directory_render( _this );
692 this.el.pack_start ( child_0.el , false );
696 this.el.add_attribute(_this.directory_render.el , "text", 0 );
699 // user defined functions
701 public class Xcls_directory_render : Object
703 public Gtk.CellRendererText el;
704 private Xcls_ValaProjectSettingsPopover _this;
710 public Xcls_directory_render(Xcls_ValaProjectSettingsPopover _owner )
713 _this.directory_render = this;
714 this.el = new Gtk.CellRendererText();
718 // set gobject values
721 // user defined functions
726 public class Xcls_default_directory_menu : Object
729 private Xcls_ValaProjectSettingsPopover _this;
735 public Xcls_default_directory_menu(Xcls_ValaProjectSettingsPopover _owner )
738 _this.default_directory_menu = this;
739 this.el = new Gtk.Menu();
743 // set gobject values
744 var child_0 = new Xcls_MenuItem23( _this );
746 this.el.add ( child_0.el );
747 var child_1 = new Xcls_MenuItem24( _this );
749 this.el.add ( child_1.el );
750 var child_2 = new Xcls_SeparatorMenuItem25( _this );
752 this.el.add ( child_2.el );
753 var child_3 = new Xcls_MenuItem26( _this );
755 this.el.add ( child_3.el );
758 // user defined functions
760 public class Xcls_MenuItem23 : Object
762 public Gtk.MenuItem el;
763 private Xcls_ValaProjectSettingsPopover _this;
769 public Xcls_MenuItem23(Xcls_ValaProjectSettingsPopover _owner )
772 this.el = new Gtk.MenuItem();
776 // set gobject values
777 this.el.label = "Add Directory";
780 this.el.activate.connect( () => {
782 var chooser = new Gtk.FileChooserDialog (
783 "Add a directory", _this.window.el, Gtk.FileChooserAction.SELECT_FOLDER ,
785 Gtk.ResponseType.CANCEL,
787 Gtk.ResponseType.ACCEPT);
788 if (chooser.run () != Gtk.ResponseType.ACCEPT) {
793 // add the directory..
794 var fn = _this.project.relPath(chooser.get_filename());
795 _this.project.compilegroups.get("_default_").sources.add(fn);
796 _this.default_directory_tree_store.load();
800 // user defined functions
803 public class Xcls_MenuItem24 : Object
805 public Gtk.MenuItem el;
806 private Xcls_ValaProjectSettingsPopover _this;
812 public Xcls_MenuItem24(Xcls_ValaProjectSettingsPopover _owner )
815 this.el = new Gtk.MenuItem();
819 // set gobject values
820 this.el.label = "Add File";
823 this.el.activate.connect( () => {
825 var chooser = new Gtk.FileChooserDialog (
826 "Add a directory", _this.window.el, Gtk.FileChooserAction.OPEN ,
828 Gtk.ResponseType.CANCEL,
830 Gtk.ResponseType.ACCEPT);
831 if (chooser.run () != Gtk.ResponseType.ACCEPT) {
836 // add the directory..
837 var fn = _this.project.relPath(chooser.get_filename());
838 _this.project.compilegroups.get("_default_").sources.add(fn);
839 _this.default_directory_tree_store.load();
843 // user defined functions
846 public class Xcls_SeparatorMenuItem25 : Object
848 public Gtk.SeparatorMenuItem el;
849 private Xcls_ValaProjectSettingsPopover _this;
855 public Xcls_SeparatorMenuItem25(Xcls_ValaProjectSettingsPopover _owner )
858 this.el = new Gtk.SeparatorMenuItem();
862 // set gobject values
865 // user defined functions
868 public class Xcls_MenuItem26 : Object
870 public Gtk.MenuItem el;
871 private Xcls_ValaProjectSettingsPopover _this;
877 public Xcls_MenuItem26(Xcls_ValaProjectSettingsPopover _owner )
880 this.el = new Gtk.MenuItem();
884 // set gobject values
885 this.el.label = "Remove File/Directory";
888 this.el.activate.connect( () => {
893 if (!_this.default_directory_tree.el.get_selection().get_selected(out mod, out iter)) {
894 print("nothing selected\n");
899 // add the directory..
903 mod.get_value(iter,0, out val);
904 var fn = (string) val;
906 print("remove: %s\n", fn);
907 if (!_this.project.compilegroups.get("_default_").sources.remove(fn)) {
908 print("remove failed");
910 _this.default_directory_tree_store.load();
914 // user defined functions
921 public class Xcls_Paned27 : Object
924 private Xcls_ValaProjectSettingsPopover _this;
930 public Xcls_Paned27(Xcls_ValaProjectSettingsPopover _owner )
933 this.el = new Gtk.Paned( Gtk.Orientation.HORIZONTAL );
937 // set gobject values
938 this.el.position = 300;
939 var child_0 = new Xcls_ScrolledWindow28( _this );
941 this.el.add1 ( child_0.el );
942 var child_1 = new Xcls_set_vbox( _this );
944 this.el.add2 ( child_1.el );
947 // user defined functions
949 public class Xcls_ScrolledWindow28 : Object
951 public Gtk.ScrolledWindow el;
952 private Xcls_ValaProjectSettingsPopover _this;
958 public Xcls_ScrolledWindow28(Xcls_ValaProjectSettingsPopover _owner )
961 this.el = new Gtk.ScrolledWindow( null, null );
965 // set gobject values
966 var child_0 = new Xcls_targets_tree_menu( _this );
968 this.el.add ( child_0.el );
969 var child_1 = new Xcls_targets_tree( _this );
971 this.el.add ( child_1.el );
976 this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
981 // user defined functions
983 public class Xcls_targets_tree_menu : Object
986 private Xcls_ValaProjectSettingsPopover _this;
992 public Xcls_targets_tree_menu(Xcls_ValaProjectSettingsPopover _owner )
995 _this.targets_tree_menu = this;
996 this.el = new Gtk.Menu();
1000 // set gobject values
1001 var child_0 = new Xcls_MenuItem30( _this );
1003 this.el.add ( child_0.el );
1004 var child_1 = new Xcls_SeparatorMenuItem31( _this );
1006 this.el.add ( child_1.el );
1007 var child_2 = new Xcls_MenuItem32( _this );
1009 this.el.add ( child_2.el );
1012 // user defined functions
1014 public class Xcls_MenuItem30 : Object
1016 public Gtk.MenuItem el;
1017 private Xcls_ValaProjectSettingsPopover _this;
1023 public Xcls_MenuItem30(Xcls_ValaProjectSettingsPopover _owner )
1026 this.el = new Gtk.MenuItem();
1030 // set gobject values
1031 this.el.label = "Add Compile Target";
1034 this.el.activate.connect( () => {
1036 if (_this.project.compilegroups.has_key("NEW GROUP")) {
1040 // add the directory..
1042 _this.project.compilegroups.set("NEW GROUP", new Project.GtkValaSettings("NEW GROUP"));
1043 _this.targets_tree_store.load();
1047 // user defined functions
1050 public class Xcls_SeparatorMenuItem31 : Object
1052 public Gtk.SeparatorMenuItem el;
1053 private Xcls_ValaProjectSettingsPopover _this;
1059 public Xcls_SeparatorMenuItem31(Xcls_ValaProjectSettingsPopover _owner )
1062 this.el = new Gtk.SeparatorMenuItem();
1066 // set gobject values
1069 // user defined functions
1072 public class Xcls_MenuItem32 : Object
1074 public Gtk.MenuItem el;
1075 private Xcls_ValaProjectSettingsPopover _this;
1081 public Xcls_MenuItem32(Xcls_ValaProjectSettingsPopover _owner )
1084 this.el = new Gtk.MenuItem();
1088 // set gobject values
1089 this.el.label = "Remove Target";
1092 this.el.activate.connect( () => {
1097 if (!_this.targets_tree.el.get_selection().get_selected(out mod, out iter)) {
1098 print("nothing selected\n");
1103 // add the directory..
1107 mod.get_value(iter,0, out val);
1108 var fn = (string) val;
1110 print("remove: %s\n", fn);
1111 if (!_this.project.compilegroups.unset(fn)) {
1112 print("remove failed");
1114 _this.targets_tree_store.load();
1118 // user defined functions
1122 public class Xcls_targets_tree : Object
1124 public Gtk.TreeView el;
1125 private Xcls_ValaProjectSettingsPopover _this;
1129 public string cursor;
1132 public Xcls_targets_tree(Xcls_ValaProjectSettingsPopover _owner )
1135 _this.targets_tree = this;
1136 this.el = new Gtk.TreeView();
1140 // set gobject values
1141 var child_0 = new Xcls_targets_tree_store( _this );
1143 this.el.set_model ( child_0.el );
1144 var child_1 = new Xcls_TreeViewColumn35( _this );
1146 this.el.append_column ( child_1.el );
1149 this.el.button_press_event.connect( ( ev) => {
1150 //console.log("button press?");
1153 if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button != 3) {
1154 //print("click" + ev.type);
1158 //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {
1162 // this.el.get_selection().select_path(res);
1164 //if (!this.get('/LeftTreeMenu').el) {
1165 // this.get('/LeftTreeMenu').init();
1168 _this.targets_tree_menu.el.set_screen(Gdk.Screen.get_default());
1169 _this.targets_tree_menu.el.show_all();
1170 _this.targets_tree_menu.el.popup(null, null, null, 3, ev.time);
1171 // print("click:" + res.path.to_string());
1174 this.el.cursor_changed.connect( ( ) => {
1176 if (this.cursor != "") {
1177 // save the values..
1180 // load the new values.
1185 if (!this.el.get_selection().get_selected(out mod, out iter)) {
1186 print("nothing selected\n");
1187 // should disable the right hand side..
1188 _this.set_vbox.el.hide();
1191 _this.set_vbox.el.show();
1193 // add the directory..
1197 mod.get_value(iter,0, out val);
1198 var fn = (string) val;
1201 var cg = _this.project.compilegroups.get(fn);
1203 _this.build_pack_target.el.set_text(cg.target_bin);
1204 _this.build_compile_flags.el.set_text(cg.compile_flags);
1205 _this.build_execute_args.el.set_text(cg.execute_args);
1207 _this.set_vbox.cgroup = cg;
1208 _this.files_tree_store.update();
1216 // user defined functions
1218 public class Xcls_targets_tree_store : Object
1220 public Gtk.ListStore el;
1221 private Xcls_ValaProjectSettingsPopover _this;
1227 public Xcls_targets_tree_store(Xcls_ValaProjectSettingsPopover _owner )
1230 _this.targets_tree_store = this;
1231 this.el = new Gtk.ListStore( 2, typeof(string), // 0 key type
1232 typeof(string) // ??
1237 // set gobject values
1240 // user defined functions
1241 public void load () {
1246 var cg = _this.project.compilegroups;
1248 _this.targets_tree.cursor = "";
1250 var iter = cg.map_iterator();
1251 while(iter.next()) {
1252 var key = iter.get_key();
1253 if (key == "_default_") {
1257 this.el.append(out citer);
1259 this.el.set_value(citer, 0, key ); // title
1260 //this.el.set_value(citer, 1, items.get(i) );
1262 this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
1263 _this.set_vbox.el.hide();
1267 public class Xcls_TreeViewColumn35 : Object
1269 public Gtk.TreeViewColumn el;
1270 private Xcls_ValaProjectSettingsPopover _this;
1276 public Xcls_TreeViewColumn35(Xcls_ValaProjectSettingsPopover _owner )
1279 this.el = new Gtk.TreeViewColumn();
1283 // set gobject values
1284 this.el.title = "name";
1285 this.el.resizable = true;
1286 var child_0 = new Xcls_targets_render( _this );
1288 this.el.pack_start ( child_0.el , false );
1293 this.el.add_attribute(_this.targets_render.el , "text", 0 );
1297 // user defined functions
1299 public class Xcls_targets_render : Object
1301 public Gtk.CellRendererText el;
1302 private Xcls_ValaProjectSettingsPopover _this;
1308 public Xcls_targets_render(Xcls_ValaProjectSettingsPopover _owner )
1311 _this.targets_render = this;
1312 this.el = new Gtk.CellRendererText();
1316 // set gobject values
1317 this.el.editable = true;
1320 this.el.edited.connect( (path, newtext) => {
1323 _this.targets_tree_store.el.get_iter(out iter, new Gtk.TreePath.from_string(path));
1325 _this.targets_tree_store.el.get_value(iter,0, out gval);
1326 var oldval = (string)gval;
1327 if (oldval == newtext) {
1330 var cg = _this.project.compilegroups.get(oldval);
1332 _this.project.compilegroups.unset(oldval);
1333 _this.project.compilegroups.set(newtext, cg);
1334 _this.targets_tree_store.load();
1338 // user defined functions
1344 public class Xcls_set_vbox : Object
1347 private Xcls_ValaProjectSettingsPopover _this;
1351 public Project.GtkValaSettings cgroup;
1354 public Xcls_set_vbox(Xcls_ValaProjectSettingsPopover _owner )
1357 _this.set_vbox = this;
1358 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
1363 // set gobject values
1364 this.el.homogeneous = false;
1365 var child_0 = new Xcls_Label38( _this );
1367 this.el.pack_start ( child_0.el , false,false,0 );
1368 var child_1 = new Xcls_build_pack_target( _this );
1370 this.el.pack_start ( child_1.el , false,false,0 );
1371 var child_2 = new Xcls_Label40( _this );
1373 this.el.pack_start ( child_2.el , false,false,0 );
1374 var child_3 = new Xcls_build_compile_flags( _this );
1376 this.el.pack_start ( child_3.el , false,false,0 );
1377 var child_4 = new Xcls_Label42( _this );
1379 this.el.pack_start ( child_4.el , false,false,0 );
1380 var child_5 = new Xcls_build_execute_args( _this );
1382 this.el.pack_start ( child_5.el , false,false,0 );
1383 var child_6 = new Xcls_Label44( _this );
1385 this.el.pack_start ( child_6.el , false,false,0 );
1386 var child_7 = new Xcls_ScrolledWindow45( _this );
1388 this.el.pack_start ( child_7.el , true,true,0 );
1391 // user defined functions
1393 public class Xcls_Label38 : Object
1395 public Gtk.Label el;
1396 private Xcls_ValaProjectSettingsPopover _this;
1402 public Xcls_Label38(Xcls_ValaProjectSettingsPopover _owner )
1405 this.el = new Gtk.Label( "target filename" );
1409 // set gobject values
1412 // user defined functions
1415 public class Xcls_build_pack_target : Object
1417 public Gtk.Entry el;
1418 private Xcls_ValaProjectSettingsPopover _this;
1424 public Xcls_build_pack_target(Xcls_ValaProjectSettingsPopover _owner )
1427 _this.build_pack_target = this;
1428 this.el = new Gtk.Entry();
1432 // set gobject values
1435 this.el.changed.connect( () => {
1436 if (_this.targets_tree.cursor.length < 1) {
1439 _this.project.compilegroups.get(_this.targets_tree.cursor).target_bin = this.el.text;
1443 // user defined functions
1446 public class Xcls_Label40 : Object
1448 public Gtk.Label el;
1449 private Xcls_ValaProjectSettingsPopover _this;
1455 public Xcls_Label40(Xcls_ValaProjectSettingsPopover _owner )
1458 this.el = new Gtk.Label( "compile flags" );
1462 // set gobject values
1465 // user defined functions
1468 public class Xcls_build_compile_flags : Object
1470 public Gtk.Entry el;
1471 private Xcls_ValaProjectSettingsPopover _this;
1477 public Xcls_build_compile_flags(Xcls_ValaProjectSettingsPopover _owner )
1480 _this.build_compile_flags = this;
1481 this.el = new Gtk.Entry();
1485 // set gobject values
1488 this.el.changed.connect( () => {
1489 if (_this.targets_tree.cursor.length < 1) {
1492 _this.project.compilegroups.get(_this.targets_tree.cursor).compile_flags = this.el.text;
1496 // user defined functions
1499 public class Xcls_Label42 : Object
1501 public Gtk.Label el;
1502 private Xcls_ValaProjectSettingsPopover _this;
1508 public Xcls_Label42(Xcls_ValaProjectSettingsPopover _owner )
1511 this.el = new Gtk.Label( "test argments - when run after a build" );
1515 // set gobject values
1518 // user defined functions
1521 public class Xcls_build_execute_args : Object
1523 public Gtk.Entry el;
1524 private Xcls_ValaProjectSettingsPopover _this;
1530 public Xcls_build_execute_args(Xcls_ValaProjectSettingsPopover _owner )
1533 _this.build_execute_args = this;
1534 this.el = new Gtk.Entry();
1538 // set gobject values
1539 this.el.placeholder_text = "eg. -f somefile -g ";
1542 this.el.changed.connect( () => {
1543 if (_this.targets_tree.cursor.length < 1) {
1546 _this.project.compilegroups.get(_this.targets_tree.cursor).execute_args = this.el.text;
1550 // user defined functions
1553 public class Xcls_Label44 : Object
1555 public Gtk.Label el;
1556 private Xcls_ValaProjectSettingsPopover _this;
1562 public Xcls_Label44(Xcls_ValaProjectSettingsPopover _owner )
1565 this.el = new Gtk.Label( "Files to compile" );
1569 // set gobject values
1572 // user defined functions
1575 public class Xcls_ScrolledWindow45 : Object
1577 public Gtk.ScrolledWindow el;
1578 private Xcls_ValaProjectSettingsPopover _this;
1584 public Xcls_ScrolledWindow45(Xcls_ValaProjectSettingsPopover _owner )
1587 this.el = new Gtk.ScrolledWindow( null, null );
1591 // set gobject values
1592 var child_0 = new Xcls_files_tree( _this );
1594 this.el.add ( child_0.el );
1597 // user defined functions
1599 public class Xcls_files_tree : Object
1601 public Gtk.TreeView el;
1602 private Xcls_ValaProjectSettingsPopover _this;
1608 public Xcls_files_tree(Xcls_ValaProjectSettingsPopover _owner )
1611 this.el = new Gtk.TreeView();
1615 // set gobject values
1616 var child_0 = new Xcls_files_tree_store( _this );
1618 this.el.set_model ( child_0.el );
1619 var child_1 = new Xcls_TreeViewColumn48( _this );
1621 this.el.append_column ( child_1.el );
1622 var child_2 = new Xcls_TreeViewColumn50( _this );
1624 this.el.append_column ( child_2.el );
1627 // user defined functions
1629 public class Xcls_files_tree_store : Object
1631 public Gtk.ListStore el;
1632 private Xcls_ValaProjectSettingsPopover _this;
1638 public Xcls_files_tree_store(Xcls_ValaProjectSettingsPopover _owner )
1641 _this.files_tree_store = this;
1642 this.el = new Gtk.ListStore( 4, typeof(string), // 0 file name
1643 typeof(string), // 0 basename
1644 typeof(string), // type (dir orfile)
1645 typeof(bool) // is checked.
1650 // set gobject values
1653 // user defined functions
1654 public void updateDir (string dname, bool bval) {
1658 var cg = _this.set_vbox.cgroup;
1659 for(var i =0 ; i < this.el.iter_n_children(null); i++) {
1660 this.el.iter_nth_child(out citer,null,i);
1663 this.el.get_value(citer,0, out val);
1664 var fn = (string) val;
1666 if ( Path.get_dirname (fn) == dname) {
1668 this.el.set_value(citer, 3, bval ); // checked
1674 if (cg.sources.contains(fn)) {
1675 cg.sources.remove(fn);
1678 if (!cg.sources.contains(fn)) {
1688 public void load () {
1693 var def = _this.project.compilegroups.get("_default_");
1694 var items = def.sources;
1702 for(var i =0 ; i < items.size; i++) {
1704 var files = _this.project.filesForCompile(items.get(i), false);
1705 if (files.size < 1) {
1709 this.el.append(out citer);
1711 this.el.set_value(citer, 0, items.get(i) ); // title
1712 this.el.set_value(citer, 1, "<span foreground=\"green\" font_weight=\"bold\">" +
1713 GLib.Markup.escape_text(items.get(i)) + "</span>"
1715 print("ADD item %s", items.get(i));
1716 this.el.set_value(citer, 2, "dir"); // type
1717 this.el.set_value(citer, 3, false ); // checked
1721 for(var j =0 ; j < files.size; j++) {
1722 this.el.append(out citer);
1723 print("ADD item %s", files.get(j));
1724 this.el.set_value(citer, 0, files.get(j) ); // title
1725 this.el.set_value(citer, 1, GLib.Markup.escape_text( Path.get_basename (files.get(j))) ); // title
1726 this.el.set_value(citer, 2, "file"); // type
1727 this.el.set_value(citer, 3, false ); // checked
1732 //this.el.set_value(citer, 1, items.get(i) );
1734 this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
1737 public void update () {
1742 for(var i =0 ; i < this.el.iter_n_children(null); i++) {
1743 this.el.iter_nth_child(out citer,null,i);
1746 this.el.get_value(citer,0, out val);
1747 var fn = (string) val;
1750 if (_this.set_vbox.cgroup.sources.contains(fn)) {
1754 this.el.set_value(citer, 3, active ); // checked
1761 public class Xcls_TreeViewColumn48 : Object
1763 public Gtk.TreeViewColumn el;
1764 private Xcls_ValaProjectSettingsPopover _this;
1770 public Xcls_TreeViewColumn48(Xcls_ValaProjectSettingsPopover _owner )
1773 this.el = new Gtk.TreeViewColumn();
1777 // set gobject values
1778 this.el.title = "name";
1779 this.el.resizable = true;
1780 var child_0 = new Xcls_files_render( _this );
1782 this.el.pack_start ( child_0.el , false );
1786 this.el.add_attribute(_this.files_render.el , "markup", 1 ); // basnemae
1788 /* this.el.add_attribute(_this.files_render.el , "markup", 2 );
1792 // user defined functions
1794 public class Xcls_files_render : Object
1796 public Gtk.CellRendererText el;
1797 private Xcls_ValaProjectSettingsPopover _this;
1803 public Xcls_files_render(Xcls_ValaProjectSettingsPopover _owner )
1806 _this.files_render = this;
1807 this.el = new Gtk.CellRendererText();
1811 // set gobject values
1814 // user defined functions
1818 public class Xcls_TreeViewColumn50 : Object
1820 public Gtk.TreeViewColumn el;
1821 private Xcls_ValaProjectSettingsPopover _this;
1827 public Xcls_TreeViewColumn50(Xcls_ValaProjectSettingsPopover _owner )
1830 this.el = new Gtk.TreeViewColumn();
1834 // set gobject values
1835 this.el.title = "use";
1836 this.el.resizable = false;
1837 this.el.fixed_width = 50;
1838 var child_0 = new Xcls_files_render_use( _this );
1840 this.el.pack_start ( child_0.el , false );
1845 this.el.add_attribute(_this.files_render_use.el , "active", 3 );
1849 // user defined functions
1851 public class Xcls_files_render_use : Object
1853 public Gtk.CellRendererToggle el;
1854 private Xcls_ValaProjectSettingsPopover _this;
1860 public Xcls_files_render_use(Xcls_ValaProjectSettingsPopover _owner )
1863 _this.files_render_use = this;
1864 this.el = new Gtk.CellRendererToggle();
1868 // set gobject values
1869 this.el.activatable = true;
1872 this.el.toggled.connect( ( path_string) => {
1876 var m = _this.files_tree_store.el;
1878 Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);
1879 m.get_iter (out iter, path);
1881 m.get_value(iter, 3, out val);
1882 m.set_value(iter, 3, ((bool) val) ? false :true);
1886 m.get_value(iter, 2, out ftval);
1887 var ftype = (string)ftval;
1891 m.get_value(iter, 0, out fval);
1892 var fn = (string)fval;
1895 var cg = _this.set_vbox.cgroup;
1896 // what's the sleected target?
1897 // update the list..
1898 // if ftype is a dir == then toggle all the bellow.
1900 if (ftype == "dir") {
1901 _this.files_tree_store.updateDir(fn, ((bool) val) ? false :true);
1904 // if ftype is a file .. see if all the files in that directory are check and check the dir.
1909 cg.sources.remove(fn);
1917 // user defined functions