Fix #7437 - more depricated
[roobuilder] / src / Builder4 / ValaProjectSettingsPopover.vala
1 static ValaProjectSettingsPopover  _ValaProjectSettingsPopover;
2
3 public class ValaProjectSettingsPopover : Object
4 {
5     public Gtk.Popover el;
6     private ValaProjectSettingsPopover  _this;
7
8     public static ValaProjectSettingsPopover singleton()
9     {
10         if (_ValaProjectSettingsPopover == null) {
11             _ValaProjectSettingsPopover= new ValaProjectSettingsPopover();
12         }
13         return _ValaProjectSettingsPopover;
14     }
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 default_packages_tree;
19     public Xcls_default_packages_tree_store default_packages_tree_store;
20     public Xcls_packages_render packages_render;
21     public Xcls_packages_render_use packages_render_use;
22     public Xcls_default_directory_tree default_directory_tree;
23     public Xcls_default_directory_tree_store default_directory_tree_store;
24     public Xcls_directory_render directory_render;
25     public Xcls_default_directory_menu default_directory_menu;
26     public Xcls_targets_tree_menu targets_tree_menu;
27     public Xcls_targets_tree targets_tree;
28     public Xcls_targets_tree_store targets_tree_store;
29     public Xcls_targets_render targets_render;
30     public Xcls_set_vbox set_vbox;
31     public Xcls_build_pack_target build_pack_target;
32     public Xcls_build_compile_flags build_compile_flags;
33     public Xcls_build_execute_args build_execute_args;
34     public Xcls_files_tree files_tree;
35     public Xcls_files_tree_store files_tree_store;
36     public Xcls_files_render files_render;
37     public Xcls_files_render_use files_render_use;
38     public Xcls_save_btn save_btn;
39
40         // my vars (def)
41     public Xcls_MainWindow window;
42     public Project.Gtk project;
43     public bool done;
44
45     // ctor
46     public ValaProjectSettingsPopover()
47     {
48         _this = this;
49         this.el = new Gtk.Popover( null );
50
51         // my vars (dec)
52         this.window = null;
53         this.project = null;
54         this.done = false;
55
56         // set gobject values
57         this.el.border_width = 0;
58         this.el.modal = true;
59         this.el.position = Gtk.PositionType.RIGHT;
60         var child_0 = new Xcls_Box2( _this );
61         child_0.ref();
62         this.el.add (  child_0.el  );
63
64         //listeners
65         this.el.closed.connect( ( ) => {
66           if (!this.done) {
67             _this.el.show_all();
68           
69           }
70         
71         });
72         this.el.hide.connect( () => {
73                   if (!this.done) {
74             _this.el.show();
75           
76           }
77         });
78     }
79
80     // user defined functions
81     public void show (Gtk.Widget btn, Project.Gtk project) {
82          
83         //print("ValaProjectSettings show\n");
84         
85         this.project=  project;
86     
87         this.compile_flags.el.text = _this.project.compilegroups.get("_default_").compile_flags;
88         
89         this.default_directory_tree_store.load();    
90         this.default_packages_tree_store.load();            
91         this.targets_tree_store.load();
92         this.files_tree_store.load();
93     
94     
95         this.el.set_modal(true);
96         this.el.set_relative_to(btn);
97     
98         this.el.set_position(Gtk.PositionType.RIGHT);
99     
100         // window + header?
101         // print("SHOWALL - POPIP\n");
102         this.el.set_size_request(800,500);
103         this.el.show_all();
104         //this.view.el.grab_focus();
105     
106     }
107     public void save ()  {
108         this.project.writeConfig(); 
109     }
110     public class Xcls_Box2 : Object
111     {
112         public Gtk.Box el;
113         private ValaProjectSettingsPopover  _this;
114
115
116             // my vars (def)
117
118         // ctor
119         public Xcls_Box2(ValaProjectSettingsPopover _owner )
120         {
121             _this = _owner;
122             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
123
124             // my vars (dec)
125
126             // set gobject values
127             this.el.hexpand = true;
128             this.el.vexpand = true;
129             var child_0 = new Xcls_HeaderBar3( _this );
130             child_0.ref();
131             this.el.add (  child_0.el  );
132             var child_1 = new Xcls_Notebook4( _this );
133             child_1.ref();
134             this.el.pack_start (  child_1.el , true,true,0 );
135             var child_2 = new Xcls_ButtonBox53( _this );
136             child_2.ref();
137             this.el.add (  child_2.el  );
138         }
139
140         // user defined functions
141     }
142     public class Xcls_HeaderBar3 : Object
143     {
144         public Gtk.HeaderBar el;
145         private ValaProjectSettingsPopover  _this;
146
147
148             // my vars (def)
149
150         // ctor
151         public Xcls_HeaderBar3(ValaProjectSettingsPopover _owner )
152         {
153             _this = _owner;
154             this.el = new Gtk.HeaderBar();
155
156             // my vars (dec)
157
158             // set gobject values
159             this.el.title = "Change Vala Project Compile settings";
160         }
161
162         // user defined functions
163     }
164
165     public class Xcls_Notebook4 : Object
166     {
167         public Gtk.Notebook el;
168         private ValaProjectSettingsPopover  _this;
169
170
171             // my vars (def)
172
173         // ctor
174         public Xcls_Notebook4(ValaProjectSettingsPopover _owner )
175         {
176             _this = _owner;
177             this.el = new Gtk.Notebook();
178
179             // my vars (dec)
180
181             // set gobject values
182             var child_0 = new Xcls_label_global( _this );
183             child_0.ref();
184             var child_1 = new Xcls_label_targets( _this );
185             child_1.ref();
186             var child_2 = new Xcls_Box7( _this );
187             child_2.ref();
188             this.el.append_page (  child_2.el , _this.label_global.el );
189             var child_3 = new Xcls_Paned28( _this );
190             child_3.ref();
191             this.el.append_page (  child_3.el , _this.label_targets.el );
192         }
193
194         // user defined functions
195     }
196     public class Xcls_label_global : Object
197     {
198         public Gtk.Label el;
199         private ValaProjectSettingsPopover  _this;
200
201
202             // my vars (def)
203
204         // ctor
205         public Xcls_label_global(ValaProjectSettingsPopover _owner )
206         {
207             _this = _owner;
208             _this.label_global = this;
209             this.el = new Gtk.Label( "Global" );
210
211             // my vars (dec)
212
213             // set gobject values
214         }
215
216         // user defined functions
217     }
218
219     public class Xcls_label_targets : Object
220     {
221         public Gtk.Label el;
222         private ValaProjectSettingsPopover  _this;
223
224
225             // my vars (def)
226
227         // ctor
228         public Xcls_label_targets(ValaProjectSettingsPopover _owner )
229         {
230             _this = _owner;
231             _this.label_targets = this;
232             this.el = new Gtk.Label( "Targets" );
233
234             // my vars (dec)
235
236             // set gobject values
237         }
238
239         // user defined functions
240     }
241
242     public class Xcls_Box7 : Object
243     {
244         public Gtk.Box el;
245         private ValaProjectSettingsPopover  _this;
246
247
248             // my vars (def)
249
250         // ctor
251         public Xcls_Box7(ValaProjectSettingsPopover _owner )
252         {
253             _this = _owner;
254             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
255
256             // my vars (dec)
257
258             // set gobject values
259             this.el.homogeneous = false;
260             var child_0 = new Xcls_Label8( _this );
261             child_0.ref();
262             this.el.pack_start (  child_0.el , false,false,0 );
263             var child_1 = new Xcls_compile_flags( _this );
264             child_1.ref();
265             this.el.pack_start (  child_1.el , false,false,0 );
266             var child_2 = new Xcls_Paned10( _this );
267             child_2.ref();
268             this.el.pack_start (  child_2.el , true,true,0 );
269         }
270
271         // user defined functions
272     }
273     public class Xcls_Label8 : Object
274     {
275         public Gtk.Label el;
276         private ValaProjectSettingsPopover  _this;
277
278
279             // my vars (def)
280
281         // ctor
282         public Xcls_Label8(ValaProjectSettingsPopover _owner )
283         {
284             _this = _owner;
285             this.el = new Gtk.Label( "compile flags" );
286
287             // my vars (dec)
288
289             // set gobject values
290         }
291
292         // user defined functions
293     }
294
295     public class Xcls_compile_flags : Object
296     {
297         public Gtk.Entry el;
298         private ValaProjectSettingsPopover  _this;
299
300
301             // my vars (def)
302
303         // ctor
304         public Xcls_compile_flags(ValaProjectSettingsPopover _owner )
305         {
306             _this = _owner;
307             _this.compile_flags = this;
308             this.el = new Gtk.Entry();
309
310             // my vars (dec)
311
312             // set gobject values
313             this.el.placeholder_text = "eg. -g --valasrc $BASEDIR ";
314
315             //listeners
316             this.el.changed.connect( () => {
317                 
318                _this.project.compilegroups.get("_default_").compile_flags = this.el.text;
319                _this.project.writeConfig();
320             //    _this.project.save();
321             
322             });
323         }
324
325         // user defined functions
326     }
327
328     public class Xcls_Paned10 : Object
329     {
330         public Gtk.Paned el;
331         private ValaProjectSettingsPopover  _this;
332
333
334             // my vars (def)
335
336         // ctor
337         public Xcls_Paned10(ValaProjectSettingsPopover _owner )
338         {
339             _this = _owner;
340             this.el = new Gtk.Paned( Gtk.Orientation.HORIZONTAL );
341
342             // my vars (dec)
343
344             // set gobject values
345             this.el.position = 300;
346             var child_0 = new Xcls_ScrolledWindow11( _this );
347             child_0.ref();
348             this.el.add (  child_0.el  );
349             var child_1 = new Xcls_ScrolledWindow18( _this );
350             child_1.ref();
351             this.el.add2 (  child_1.el  );
352         }
353
354         // user defined functions
355     }
356     public class Xcls_ScrolledWindow11 : Object
357     {
358         public Gtk.ScrolledWindow el;
359         private ValaProjectSettingsPopover  _this;
360
361
362             // my vars (def)
363
364         // ctor
365         public Xcls_ScrolledWindow11(ValaProjectSettingsPopover _owner )
366         {
367             _this = _owner;
368             this.el = new Gtk.ScrolledWindow( null, null );
369
370             // my vars (dec)
371
372             // set gobject values
373             this.el.hexpand = true;
374             var child_0 = new Xcls_default_packages_tree( _this );
375             child_0.ref();
376             this.el.add (  child_0.el  );
377         }
378
379         // user defined functions
380     }
381     public class Xcls_default_packages_tree : Object
382     {
383         public Gtk.TreeView el;
384         private ValaProjectSettingsPopover  _this;
385
386
387             // my vars (def)
388
389         // ctor
390         public Xcls_default_packages_tree(ValaProjectSettingsPopover _owner )
391         {
392             _this = _owner;
393             _this.default_packages_tree = this;
394             this.el = new Gtk.TreeView();
395
396             // my vars (dec)
397
398             // set gobject values
399             this.el.headers_visible = true;
400             var child_0 = new Xcls_default_packages_tree_store( _this );
401             child_0.ref();
402             this.el.set_model (  child_0.el  );
403             var child_1 = new Xcls_TreeViewColumn14( _this );
404             child_1.ref();
405             this.el.append_column (  child_1.el  );
406             var child_2 = new Xcls_TreeViewColumn16( _this );
407             child_2.ref();
408             this.el.append_column (  child_2.el  );
409         }
410
411         // user defined functions
412     }
413     public class Xcls_default_packages_tree_store : Object
414     {
415         public Gtk.ListStore el;
416         private ValaProjectSettingsPopover  _this;
417
418
419             // my vars (def)
420
421         // ctor
422         public Xcls_default_packages_tree_store(ValaProjectSettingsPopover _owner )
423         {
424             _this = _owner;
425             _this.default_packages_tree_store = this;
426             this.el = new Gtk.ListStore.newv(  {     typeof(string),  // 0 key type
427       typeof(bool) }  );
428
429             // my vars (dec)
430
431             // set gobject values
432         }
433
434         // user defined functions
435         public void load () {
436          
437             var def = _this.project.compilegroups.get("_default_");
438             var items  = def.packages;
439             
440             this.el.clear();
441             var pal = (Palete.Gtk) _this.project.palete;
442             var pkgs = pal.packages(_this.project);
443             GLib.debug("ValaProjectSettings:packages load %d\n", pkgs.size);
444         
445             Gtk.TreeIter citer;
446         
447             for(var i =0 ; i < pkgs.size; i++) {
448                  this.el.append(out citer);   
449                  
450                 this.el.set_value(citer, 0,   pkgs.get(i) ); // title 
451                 this.el.set_value(citer, 1,   items.contains(pkgs.get(i)) );
452             }
453             this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
454             
455         }
456     }
457
458     public class Xcls_TreeViewColumn14 : Object
459     {
460         public Gtk.TreeViewColumn el;
461         private ValaProjectSettingsPopover  _this;
462
463
464             // my vars (def)
465
466         // ctor
467         public Xcls_TreeViewColumn14(ValaProjectSettingsPopover _owner )
468         {
469             _this = _owner;
470             this.el = new Gtk.TreeViewColumn();
471
472             // my vars (dec)
473
474             // set gobject values
475             this.el.title = "package name";
476             this.el.expand = true;
477             this.el.resizable = true;
478             var child_0 = new Xcls_packages_render( _this );
479             child_0.ref();
480             this.el.pack_start (  child_0.el , false );
481
482             // init method
483
484             this.el.add_attribute(_this.packages_render.el , "text", 0 );
485         }
486
487         // user defined functions
488     }
489     public class Xcls_packages_render : Object
490     {
491         public Gtk.CellRendererText el;
492         private ValaProjectSettingsPopover  _this;
493
494
495             // my vars (def)
496
497         // ctor
498         public Xcls_packages_render(ValaProjectSettingsPopover _owner )
499         {
500             _this = _owner;
501             _this.packages_render = this;
502             this.el = new Gtk.CellRendererText();
503
504             // my vars (dec)
505
506             // set gobject values
507         }
508
509         // user defined functions
510     }
511
512
513     public class Xcls_TreeViewColumn16 : Object
514     {
515         public Gtk.TreeViewColumn el;
516         private ValaProjectSettingsPopover  _this;
517
518
519             // my vars (def)
520
521         // ctor
522         public Xcls_TreeViewColumn16(ValaProjectSettingsPopover _owner )
523         {
524             _this = _owner;
525             this.el = new Gtk.TreeViewColumn();
526
527             // my vars (dec)
528
529             // set gobject values
530             this.el.title = "use";
531             this.el.resizable = false;
532             this.el.fixed_width = 50;
533             var child_0 = new Xcls_packages_render_use( _this );
534             child_0.ref();
535             this.el.pack_start (  child_0.el , false );
536
537             // init method
538
539             {
540              this.el.add_attribute(_this.packages_render_use.el , "active", 1 );
541              }
542         }
543
544         // user defined functions
545     }
546     public class Xcls_packages_render_use : Object
547     {
548         public Gtk.CellRendererToggle el;
549         private ValaProjectSettingsPopover  _this;
550
551
552             // my vars (def)
553
554         // ctor
555         public Xcls_packages_render_use(ValaProjectSettingsPopover _owner )
556         {
557             _this = _owner;
558             _this.packages_render_use = this;
559             this.el = new Gtk.CellRendererToggle();
560
561             // my vars (dec)
562
563             // set gobject values
564             this.el.activatable = true;
565
566             //listeners
567             this.el.toggled.connect( (  path_string) =>  { 
568                 var m = _this.default_packages_tree_store.el;
569                Gtk.TreeIter iter;
570                Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);
571                m.get_iter (out iter, path);
572                GLib.Value val;
573                m.get_value(iter, 1, out val);
574                m.set_value(iter, 1,  ((bool) val) ? false :true); 
575                  GLib.Value fval;  
576                m.get_value(iter, 0, out fval);
577                var fn = (string)fval;
578                 
579                 var def = _this.project.compilegroups.get("_default_");
580                 var items  = def.packages;
581                 if ((bool)val) {
582                     // renive
583                     items.remove(fn);
584                 } else {
585                     items.add(fn);
586                 }
587                 
588             });
589         }
590
591         // user defined functions
592     }
593
594
595
596
597     public class Xcls_ScrolledWindow18 : Object
598     {
599         public Gtk.ScrolledWindow el;
600         private ValaProjectSettingsPopover  _this;
601
602
603             // my vars (def)
604
605         // ctor
606         public Xcls_ScrolledWindow18(ValaProjectSettingsPopover _owner )
607         {
608             _this = _owner;
609             this.el = new Gtk.ScrolledWindow( null, null );
610
611             // my vars (dec)
612
613             // set gobject values
614             this.el.hexpand = true;
615             var child_0 = new Xcls_default_directory_tree( _this );
616             child_0.ref();
617             this.el.add (  child_0.el  );
618             var child_1 = new Xcls_default_directory_menu( _this );
619             child_1.ref();
620             this.el.add(  child_1.el );
621         }
622
623         // user defined functions
624     }
625     public class Xcls_default_directory_tree : Object
626     {
627         public Gtk.TreeView el;
628         private ValaProjectSettingsPopover  _this;
629
630
631             // my vars (def)
632
633         // ctor
634         public Xcls_default_directory_tree(ValaProjectSettingsPopover _owner )
635         {
636             _this = _owner;
637             _this.default_directory_tree = this;
638             this.el = new Gtk.TreeView();
639
640             // my vars (dec)
641
642             // set gobject values
643             this.el.headers_visible = true;
644             var child_0 = new Xcls_default_directory_tree_store( _this );
645             child_0.ref();
646             this.el.set_model (  child_0.el  );
647             var child_1 = new Xcls_TreeViewColumn21( _this );
648             child_1.ref();
649             this.el.append_column (  child_1.el  );
650
651             //listeners
652             this.el.button_press_event.connect( ( ev) => {
653                 //console.log("button press?");
654                
655                 
656                 if (ev.type != Gdk.EventType.BUTTON_PRESS  || ev.button != 3) {
657                     //print("click" + ev.type);
658                     return false;
659                 }
660                 //Gtk.TreePath res;
661                 //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {
662                 //    return true;
663                 //}
664                  
665               //  this.el.get_selection().select_path(res);
666                  
667                   //if (!this.get('/LeftTreeMenu').el)  { 
668                   //      this.get('/LeftTreeMenu').init(); 
669                   //  }
670                     
671                  _this.default_directory_menu.el.set_screen(Gdk.Screen.get_default());
672                  _this.default_directory_menu.el.show_all();
673                   _this.default_directory_menu.el.popup_at_pointer(ev);
674                  //   print("click:" + res.path.to_string());
675                   return true;
676             });
677         }
678
679         // user defined functions
680     }
681     public class Xcls_default_directory_tree_store : Object
682     {
683         public Gtk.ListStore el;
684         private ValaProjectSettingsPopover  _this;
685
686
687             // my vars (def)
688
689         // ctor
690         public Xcls_default_directory_tree_store(ValaProjectSettingsPopover _owner )
691         {
692             _this = _owner;
693             _this.default_directory_tree_store = this;
694             this.el = new Gtk.ListStore.newv(  {     typeof(string)
695       }  );
696
697             // my vars (dec)
698
699             // set gobject values
700         }
701
702         // user defined functions
703         public void load () {
704          
705           this.el.clear();
706           
707             
708              var def = _this.project.compilegroups.get("_default_");
709              var items  = def.sources;
710              
711          
712             Gtk.TreeIter citer;
713         
714             for(var i =0 ; i < items.size; i++) {
715                  this.el.append(out citer);   
716                  
717                 this.el.set_value(citer, 0,   items.get(i) ); // title 
718                 //this.el.set_value(citer, 1,   items.get(i) );
719             }
720             this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
721             
722         }
723     }
724
725     public class Xcls_TreeViewColumn21 : Object
726     {
727         public Gtk.TreeViewColumn el;
728         private ValaProjectSettingsPopover  _this;
729
730
731             // my vars (def)
732
733         // ctor
734         public Xcls_TreeViewColumn21(ValaProjectSettingsPopover _owner )
735         {
736             _this = _owner;
737             this.el = new Gtk.TreeViewColumn();
738
739             // my vars (dec)
740
741             // set gobject values
742             this.el.title = "Available Directories (right click to add)";
743             this.el.resizable = true;
744             var child_0 = new Xcls_directory_render( _this );
745             child_0.ref();
746             this.el.pack_start (  child_0.el , false );
747
748             // init method
749
750             this.el.add_attribute(_this.directory_render.el , "text", 0 );
751         }
752
753         // user defined functions
754     }
755     public class Xcls_directory_render : Object
756     {
757         public Gtk.CellRendererText el;
758         private ValaProjectSettingsPopover  _this;
759
760
761             // my vars (def)
762
763         // ctor
764         public Xcls_directory_render(ValaProjectSettingsPopover _owner )
765         {
766             _this = _owner;
767             _this.directory_render = this;
768             this.el = new Gtk.CellRendererText();
769
770             // my vars (dec)
771
772             // set gobject values
773         }
774
775         // user defined functions
776     }
777
778
779
780     public class Xcls_default_directory_menu : Object
781     {
782         public Gtk.Menu el;
783         private ValaProjectSettingsPopover  _this;
784
785
786             // my vars (def)
787
788         // ctor
789         public Xcls_default_directory_menu(ValaProjectSettingsPopover _owner )
790         {
791             _this = _owner;
792             _this.default_directory_menu = this;
793             this.el = new Gtk.Menu();
794
795             // my vars (dec)
796
797             // set gobject values
798             var child_0 = new Xcls_MenuItem24( _this );
799             child_0.ref();
800             this.el.add (  child_0.el  );
801             var child_1 = new Xcls_MenuItem25( _this );
802             child_1.ref();
803             this.el.add (  child_1.el  );
804             var child_2 = new Xcls_SeparatorMenuItem26( _this );
805             child_2.ref();
806             this.el.add (  child_2.el  );
807             var child_3 = new Xcls_MenuItem27( _this );
808             child_3.ref();
809             this.el.add (  child_3.el  );
810         }
811
812         // user defined functions
813     }
814     public class Xcls_MenuItem24 : Object
815     {
816         public Gtk.MenuItem el;
817         private ValaProjectSettingsPopover  _this;
818
819
820             // my vars (def)
821
822         // ctor
823         public Xcls_MenuItem24(ValaProjectSettingsPopover _owner )
824         {
825             _this = _owner;
826             this.el = new Gtk.MenuItem();
827
828             // my vars (dec)
829
830             // set gobject values
831             this.el.label = "Add Directory";
832             this.el.show();
833
834             //listeners
835             this.el.activate.connect( ()  => {
836                 
837                 var  chooser = new Gtk.FileChooserDialog (
838                 "Add a directory", _this.window.el, Gtk.FileChooserAction.SELECT_FOLDER ,
839                 "_Cancel",
840                 Gtk.ResponseType.CANCEL,
841                 "_Add",
842                 Gtk.ResponseType.ACCEPT);
843                 if (chooser.run () != Gtk.ResponseType.ACCEPT) {
844                     chooser.close ();
845                        return;
846                    }
847                    chooser.close ();
848                    // add the directory..
849                    var fn = _this.project.relPath(chooser.get_filename());
850                    _this.project.compilegroups.get("_default_").sources.add(fn);
851                    _this.default_directory_tree_store.load();
852             });
853         }
854
855         // user defined functions
856     }
857
858     public class Xcls_MenuItem25 : Object
859     {
860         public Gtk.MenuItem el;
861         private ValaProjectSettingsPopover  _this;
862
863
864             // my vars (def)
865
866         // ctor
867         public Xcls_MenuItem25(ValaProjectSettingsPopover _owner )
868         {
869             _this = _owner;
870             this.el = new Gtk.MenuItem();
871
872             // my vars (dec)
873
874             // set gobject values
875             this.el.label = "Add File";
876             this.el.show();
877
878             //listeners
879             this.el.activate.connect( ()  => {
880                 
881                 var  chooser = new Gtk.FileChooserDialog (
882                 "Add a directory", _this.window.el, Gtk.FileChooserAction.OPEN ,
883                 "_Cancel",
884                 Gtk.ResponseType.CANCEL,
885                 "_Add",
886                 Gtk.ResponseType.ACCEPT);
887                 if (chooser.run () != Gtk.ResponseType.ACCEPT) {
888                     chooser.close ();
889                        return;
890                    }
891                    chooser.close ();
892                    // add the directory..
893                    var fn = _this.project.relPath(chooser.get_filename());
894                    _this.project.compilegroups.get("_default_").sources.add(fn);
895                    _this.default_directory_tree_store.load();
896             });
897         }
898
899         // user defined functions
900     }
901
902     public class Xcls_SeparatorMenuItem26 : Object
903     {
904         public Gtk.SeparatorMenuItem el;
905         private ValaProjectSettingsPopover  _this;
906
907
908             // my vars (def)
909
910         // ctor
911         public Xcls_SeparatorMenuItem26(ValaProjectSettingsPopover _owner )
912         {
913             _this = _owner;
914             this.el = new Gtk.SeparatorMenuItem();
915
916             // my vars (dec)
917
918             // set gobject values
919             this.el.show();
920         }
921
922         // user defined functions
923     }
924
925     public class Xcls_MenuItem27 : Object
926     {
927         public Gtk.MenuItem el;
928         private ValaProjectSettingsPopover  _this;
929
930
931             // my vars (def)
932
933         // ctor
934         public Xcls_MenuItem27(ValaProjectSettingsPopover _owner )
935         {
936             _this = _owner;
937             this.el = new Gtk.MenuItem();
938
939             // my vars (dec)
940
941             // set gobject values
942             this.el.label = "Remove File/Directory";
943             this.el.show();
944
945             //listeners
946             this.el.activate.connect( ()  => {
947             
948                 //
949                 Gtk.TreeModel mod;
950                 Gtk.TreeIter iter;
951                 if (!_this.default_directory_tree.el.get_selection().get_selected(out mod, out iter)) {
952                         GLib.debug("nothing selected\n");
953                         return;
954                 }
955             
956                         
957                 // add the directory..
958             
959             
960                 GLib.Value val;
961                 mod.get_value(iter,0, out val);
962                 var fn =  (string) val;
963             
964                 GLib.debug("remove: %s\n", fn);
965                 if (!_this.project.compilegroups.get("_default_").sources.remove(fn)) {
966                         GLib.debug("remove failed");
967                 }
968                 _this.default_directory_tree_store.load();
969             });
970         }
971
972         // user defined functions
973     }
974
975
976
977
978
979     public class Xcls_Paned28 : Object
980     {
981         public Gtk.Paned el;
982         private ValaProjectSettingsPopover  _this;
983
984
985             // my vars (def)
986
987         // ctor
988         public Xcls_Paned28(ValaProjectSettingsPopover _owner )
989         {
990             _this = _owner;
991             this.el = new Gtk.Paned( Gtk.Orientation.HORIZONTAL );
992
993             // my vars (dec)
994
995             // set gobject values
996             this.el.position = 300;
997             var child_0 = new Xcls_ScrolledWindow29( _this );
998             child_0.ref();
999             this.el.add1 (  child_0.el  );
1000             var child_1 = new Xcls_set_vbox( _this );
1001             child_1.ref();
1002             this.el.add2 (  child_1.el  );
1003         }
1004
1005         // user defined functions
1006     }
1007     public class Xcls_ScrolledWindow29 : Object
1008     {
1009         public Gtk.ScrolledWindow el;
1010         private ValaProjectSettingsPopover  _this;
1011
1012
1013             // my vars (def)
1014
1015         // ctor
1016         public Xcls_ScrolledWindow29(ValaProjectSettingsPopover _owner )
1017         {
1018             _this = _owner;
1019             this.el = new Gtk.ScrolledWindow( null, null );
1020
1021             // my vars (dec)
1022
1023             // set gobject values
1024             var child_0 = new Xcls_targets_tree_menu( _this );
1025             child_0.ref();
1026             this.el.add (  child_0.el  );
1027             var child_1 = new Xcls_targets_tree( _this );
1028             child_1.ref();
1029             this.el.add (  child_1.el  );
1030
1031             // init method
1032
1033             {  
1034             this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
1035             
1036             }
1037         }
1038
1039         // user defined functions
1040     }
1041     public class Xcls_targets_tree_menu : Object
1042     {
1043         public Gtk.Menu el;
1044         private ValaProjectSettingsPopover  _this;
1045
1046
1047             // my vars (def)
1048
1049         // ctor
1050         public Xcls_targets_tree_menu(ValaProjectSettingsPopover _owner )
1051         {
1052             _this = _owner;
1053             _this.targets_tree_menu = this;
1054             this.el = new Gtk.Menu();
1055
1056             // my vars (dec)
1057
1058             // set gobject values
1059             var child_0 = new Xcls_MenuItem31( _this );
1060             child_0.ref();
1061             this.el.add (  child_0.el  );
1062             var child_1 = new Xcls_SeparatorMenuItem32( _this );
1063             child_1.ref();
1064             this.el.add (  child_1.el  );
1065             var child_2 = new Xcls_MenuItem33( _this );
1066             child_2.ref();
1067             this.el.add (  child_2.el  );
1068         }
1069
1070         // user defined functions
1071     }
1072     public class Xcls_MenuItem31 : Object
1073     {
1074         public Gtk.MenuItem el;
1075         private ValaProjectSettingsPopover  _this;
1076
1077
1078             // my vars (def)
1079
1080         // ctor
1081         public Xcls_MenuItem31(ValaProjectSettingsPopover _owner )
1082         {
1083             _this = _owner;
1084             this.el = new Gtk.MenuItem();
1085
1086             // my vars (dec)
1087
1088             // set gobject values
1089             this.el.label = "Add Compile Target";
1090             this.el.show();
1091
1092             //listeners
1093             this.el.activate.connect( ()  => {
1094                 
1095                    if (_this.project.compilegroups.has_key("NEW GROUP")) {
1096                     return;
1097                 }
1098                   
1099                    // add the directory..
1100                    
1101                    _this.project.compilegroups.set("NEW GROUP", new Project.GtkValaSettings("NEW GROUP"));
1102                    _this.targets_tree_store.load();
1103             });
1104         }
1105
1106         // user defined functions
1107     }
1108
1109     public class Xcls_SeparatorMenuItem32 : Object
1110     {
1111         public Gtk.SeparatorMenuItem el;
1112         private ValaProjectSettingsPopover  _this;
1113
1114
1115             // my vars (def)
1116
1117         // ctor
1118         public Xcls_SeparatorMenuItem32(ValaProjectSettingsPopover _owner )
1119         {
1120             _this = _owner;
1121             this.el = new Gtk.SeparatorMenuItem();
1122
1123             // my vars (dec)
1124
1125             // set gobject values
1126             this.el.show();
1127         }
1128
1129         // user defined functions
1130     }
1131
1132     public class Xcls_MenuItem33 : Object
1133     {
1134         public Gtk.MenuItem el;
1135         private ValaProjectSettingsPopover  _this;
1136
1137
1138             // my vars (def)
1139
1140         // ctor
1141         public Xcls_MenuItem33(ValaProjectSettingsPopover _owner )
1142         {
1143             _this = _owner;
1144             this.el = new Gtk.MenuItem();
1145
1146             // my vars (dec)
1147
1148             // set gobject values
1149             this.el.label = "Remove Target";
1150             this.el.show();
1151
1152             //listeners
1153             this.el.activate.connect( ()  => {
1154                 
1155                 //
1156                 Gtk.TreeModel mod;
1157                 Gtk.TreeIter iter;
1158                 if (!_this.targets_tree.el.get_selection().get_selected(out mod, out iter)) {
1159                         GLib.debug("nothing selected\n");
1160                         return;
1161                 }
1162             
1163             
1164                 // add the directory..
1165             
1166             
1167                 GLib.Value val;
1168                 mod.get_value(iter,0, out val);
1169                 var fn =  (string) val;
1170             
1171                 GLib.debug("remove: %s\n", fn);
1172                 if (!_this.project.compilegroups.unset(fn)) {
1173                         GLib.debug("remove failed");
1174                 }
1175                 _this.targets_tree_store.load();
1176             });
1177         }
1178
1179         // user defined functions
1180     }
1181
1182
1183     public class Xcls_targets_tree : Object
1184     {
1185         public Gtk.TreeView el;
1186         private ValaProjectSettingsPopover  _this;
1187
1188
1189             // my vars (def)
1190         public string cursor;
1191
1192         // ctor
1193         public Xcls_targets_tree(ValaProjectSettingsPopover _owner )
1194         {
1195             _this = _owner;
1196             _this.targets_tree = this;
1197             this.el = new Gtk.TreeView();
1198
1199             // my vars (dec)
1200
1201             // set gobject values
1202             var child_0 = new Xcls_targets_tree_store( _this );
1203             child_0.ref();
1204             this.el.set_model (  child_0.el  );
1205             var child_1 = new Xcls_TreeViewColumn36( _this );
1206             child_1.ref();
1207             this.el.append_column (  child_1.el  );
1208
1209             //listeners
1210             this.el.button_press_event.connect( ( ev) => {
1211                 //console.log("button press?");
1212                
1213                 
1214                 if (ev.type != Gdk.EventType.BUTTON_PRESS  || ev.button != 3) {
1215                     //print("click" + ev.type);
1216                     return false;
1217                 }
1218                 //Gtk.TreePath res;
1219                 //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {
1220                 //    return true;
1221                 //}
1222                  
1223               //  this.el.get_selection().select_path(res);
1224                  
1225                   //if (!this.get('/LeftTreeMenu').el)  { 
1226                   //      this.get('/LeftTreeMenu').init(); 
1227                   //  }
1228                     
1229                  _this.targets_tree_menu.el.set_screen(Gdk.Screen.get_default());
1230                  _this.targets_tree_menu.el.show_all();
1231                   _this.targets_tree_menu.el.popup_at_pointer(ev);
1232                  //   print("click:" + res.path.to_string());
1233                   return true;
1234             });
1235             this.el.cursor_changed.connect( ( ) => {
1236             
1237                 if (this.cursor != "") {
1238                         // save the values..
1239                 }
1240             
1241                 // load the new values.
1242             
1243             
1244                 Gtk.TreeModel mod;
1245                 Gtk.TreeIter iter;
1246                 if (!this.el.get_selection().get_selected(out mod, out iter)) {
1247                         GLib.debug("nothing selected\n");
1248                         // should disable the right hand side..
1249                         _this.set_vbox.el.hide();
1250                         return;
1251                 }
1252                 _this.set_vbox.el.show();
1253             
1254                 // add the directory..
1255             
1256             
1257                 GLib.Value val;
1258                 mod.get_value(iter,0, out val);
1259                 var fn =  (string) val;
1260             
1261                 this.cursor = fn;
1262                 var cg = _this.project.compilegroups.get(fn);
1263             
1264                 _this.build_pack_target.el.set_text(cg.target_bin);
1265                 _this.build_compile_flags.el.set_text(cg.compile_flags);
1266                 _this.build_execute_args.el.set_text(cg.execute_args);
1267             
1268                 _this.set_vbox.cgroup = cg;
1269                 _this.files_tree_store.update();
1270             
1271                    // load the srouces
1272             
1273             
1274               });
1275         }
1276
1277         // user defined functions
1278     }
1279     public class Xcls_targets_tree_store : Object
1280     {
1281         public Gtk.ListStore el;
1282         private ValaProjectSettingsPopover  _this;
1283
1284
1285             // my vars (def)
1286
1287         // ctor
1288         public Xcls_targets_tree_store(ValaProjectSettingsPopover _owner )
1289         {
1290             _this = _owner;
1291             _this.targets_tree_store = this;
1292             this.el = new Gtk.ListStore.newv(  {     typeof(string),  // 0 key type
1293      typeof(string) // ??
1294       }  );
1295
1296             // my vars (dec)
1297
1298             // set gobject values
1299         }
1300
1301         // user defined functions
1302         public void load () {
1303          
1304           this.el.clear();
1305           
1306             
1307              var cg = _this.project.compilegroups;
1308              
1309            _this.targets_tree.cursor = "";
1310             Gtk.TreeIter citer;
1311             var iter = cg.map_iterator();
1312            while(iter.next()) {
1313                 var key = iter.get_key();
1314                 if (key == "_default_") {
1315                     continue;
1316                 }
1317             
1318                  this.el.append(out citer);   
1319                  
1320                 this.el.set_value(citer, 0,   key ); // title 
1321                 //this.el.set_value(citer, 1,   items.get(i) );
1322             };
1323             this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
1324             _this.set_vbox.el.hide();
1325         }
1326     }
1327
1328     public class Xcls_TreeViewColumn36 : Object
1329     {
1330         public Gtk.TreeViewColumn el;
1331         private ValaProjectSettingsPopover  _this;
1332
1333
1334             // my vars (def)
1335
1336         // ctor
1337         public Xcls_TreeViewColumn36(ValaProjectSettingsPopover _owner )
1338         {
1339             _this = _owner;
1340             this.el = new Gtk.TreeViewColumn();
1341
1342             // my vars (dec)
1343
1344             // set gobject values
1345             this.el.title = "name";
1346             this.el.resizable = true;
1347             var child_0 = new Xcls_targets_render( _this );
1348             child_0.ref();
1349             this.el.pack_start (  child_0.el , false );
1350
1351             // init method
1352
1353             {
1354                  this.el.add_attribute(_this.targets_render.el , "text", 0 );
1355              }
1356         }
1357
1358         // user defined functions
1359     }
1360     public class Xcls_targets_render : Object
1361     {
1362         public Gtk.CellRendererText el;
1363         private ValaProjectSettingsPopover  _this;
1364
1365
1366             // my vars (def)
1367
1368         // ctor
1369         public Xcls_targets_render(ValaProjectSettingsPopover _owner )
1370         {
1371             _this = _owner;
1372             _this.targets_render = this;
1373             this.el = new Gtk.CellRendererText();
1374
1375             // my vars (dec)
1376
1377             // set gobject values
1378             this.el.editable = true;
1379
1380             //listeners
1381             this.el.edited.connect( (path, newtext) => {
1382                  
1383                  Gtk.TreeIter  iter;
1384                     _this.targets_tree_store.el.get_iter(out iter, new Gtk.TreePath.from_string(path));
1385                    GLib.Value gval;
1386                     _this.targets_tree_store.el.get_value(iter,0, out gval);
1387                     var oldval = (string)gval;
1388                    if (oldval == newtext) {
1389                       return;
1390                     }
1391                      var cg = _this.project.compilegroups.get(oldval);
1392                     cg.name = newtext;
1393                     _this.project.compilegroups.unset(oldval);
1394                     _this.project.compilegroups.set(newtext, cg);
1395                    _this.targets_tree_store.load();
1396               });
1397         }
1398
1399         // user defined functions
1400     }
1401
1402
1403
1404
1405     public class Xcls_set_vbox : Object
1406     {
1407         public Gtk.Box el;
1408         private ValaProjectSettingsPopover  _this;
1409
1410
1411             // my vars (def)
1412         public Project.GtkValaSettings cgroup;
1413
1414         // ctor
1415         public Xcls_set_vbox(ValaProjectSettingsPopover _owner )
1416         {
1417             _this = _owner;
1418             _this.set_vbox = this;
1419             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
1420
1421             // my vars (dec)
1422             this.cgroup = null;
1423
1424             // set gobject values
1425             this.el.homogeneous = false;
1426             var child_0 = new Xcls_Label39( _this );
1427             child_0.ref();
1428             this.el.pack_start (  child_0.el , false,false,0 );
1429             var child_1 = new Xcls_build_pack_target( _this );
1430             child_1.ref();
1431             this.el.pack_start (  child_1.el , false,false,0 );
1432             var child_2 = new Xcls_Label41( _this );
1433             child_2.ref();
1434             this.el.pack_start (  child_2.el , false,false,0 );
1435             var child_3 = new Xcls_build_compile_flags( _this );
1436             child_3.ref();
1437             this.el.pack_start (  child_3.el , false,false,0 );
1438             var child_4 = new Xcls_Label43( _this );
1439             child_4.ref();
1440             this.el.pack_start (  child_4.el , false,false,0 );
1441             var child_5 = new Xcls_build_execute_args( _this );
1442             child_5.ref();
1443             this.el.pack_start (  child_5.el , false,false,0 );
1444             var child_6 = new Xcls_Label45( _this );
1445             child_6.ref();
1446             this.el.pack_start (  child_6.el , false,false,0 );
1447             var child_7 = new Xcls_ScrolledWindow46( _this );
1448             child_7.ref();
1449             this.el.pack_start (  child_7.el , true,true,0 );
1450         }
1451
1452         // user defined functions
1453     }
1454     public class Xcls_Label39 : Object
1455     {
1456         public Gtk.Label el;
1457         private ValaProjectSettingsPopover  _this;
1458
1459
1460             // my vars (def)
1461
1462         // ctor
1463         public Xcls_Label39(ValaProjectSettingsPopover _owner )
1464         {
1465             _this = _owner;
1466             this.el = new Gtk.Label( "target filename" );
1467
1468             // my vars (dec)
1469
1470             // set gobject values
1471         }
1472
1473         // user defined functions
1474     }
1475
1476     public class Xcls_build_pack_target : Object
1477     {
1478         public Gtk.Entry el;
1479         private ValaProjectSettingsPopover  _this;
1480
1481
1482             // my vars (def)
1483
1484         // ctor
1485         public Xcls_build_pack_target(ValaProjectSettingsPopover _owner )
1486         {
1487             _this = _owner;
1488             _this.build_pack_target = this;
1489             this.el = new Gtk.Entry();
1490
1491             // my vars (dec)
1492
1493             // set gobject values
1494
1495             //listeners
1496             this.el.changed.connect( ()  => {
1497                     if (_this.targets_tree.cursor.length < 1) {
1498                     return;
1499                 }
1500                 _this.project.compilegroups.get(_this.targets_tree.cursor).target_bin = this.el.text;
1501             });
1502         }
1503
1504         // user defined functions
1505     }
1506
1507     public class Xcls_Label41 : Object
1508     {
1509         public Gtk.Label el;
1510         private ValaProjectSettingsPopover  _this;
1511
1512
1513             // my vars (def)
1514
1515         // ctor
1516         public Xcls_Label41(ValaProjectSettingsPopover _owner )
1517         {
1518             _this = _owner;
1519             this.el = new Gtk.Label( "compile flags" );
1520
1521             // my vars (dec)
1522
1523             // set gobject values
1524         }
1525
1526         // user defined functions
1527     }
1528
1529     public class Xcls_build_compile_flags : Object
1530     {
1531         public Gtk.Entry el;
1532         private ValaProjectSettingsPopover  _this;
1533
1534
1535             // my vars (def)
1536
1537         // ctor
1538         public Xcls_build_compile_flags(ValaProjectSettingsPopover _owner )
1539         {
1540             _this = _owner;
1541             _this.build_compile_flags = this;
1542             this.el = new Gtk.Entry();
1543
1544             // my vars (dec)
1545
1546             // set gobject values
1547
1548             //listeners
1549             this.el.changed.connect( () => {
1550                 if (_this.targets_tree.cursor.length < 1) {
1551                     return;
1552                 }
1553                 _this.project.compilegroups.get(_this.targets_tree.cursor).compile_flags = this.el.text;
1554             });
1555         }
1556
1557         // user defined functions
1558     }
1559
1560     public class Xcls_Label43 : Object
1561     {
1562         public Gtk.Label el;
1563         private ValaProjectSettingsPopover  _this;
1564
1565
1566             // my vars (def)
1567
1568         // ctor
1569         public Xcls_Label43(ValaProjectSettingsPopover _owner )
1570         {
1571             _this = _owner;
1572             this.el = new Gtk.Label( "test argments - when run after a build" );
1573
1574             // my vars (dec)
1575
1576             // set gobject values
1577         }
1578
1579         // user defined functions
1580     }
1581
1582     public class Xcls_build_execute_args : Object
1583     {
1584         public Gtk.Entry el;
1585         private ValaProjectSettingsPopover  _this;
1586
1587
1588             // my vars (def)
1589
1590         // ctor
1591         public Xcls_build_execute_args(ValaProjectSettingsPopover _owner )
1592         {
1593             _this = _owner;
1594             _this.build_execute_args = this;
1595             this.el = new Gtk.Entry();
1596
1597             // my vars (dec)
1598
1599             // set gobject values
1600             this.el.placeholder_text = "eg.  -f somefile -g ";
1601
1602             //listeners
1603             this.el.changed.connect( () => {
1604                 if (_this.targets_tree.cursor.length < 1) {
1605                     return;
1606                 }
1607                 _this.project.compilegroups.get(_this.targets_tree.cursor).execute_args = this.el.text;
1608             });
1609         }
1610
1611         // user defined functions
1612     }
1613
1614     public class Xcls_Label45 : Object
1615     {
1616         public Gtk.Label el;
1617         private ValaProjectSettingsPopover  _this;
1618
1619
1620             // my vars (def)
1621
1622         // ctor
1623         public Xcls_Label45(ValaProjectSettingsPopover _owner )
1624         {
1625             _this = _owner;
1626             this.el = new Gtk.Label( "Files to compile" );
1627
1628             // my vars (dec)
1629
1630             // set gobject values
1631         }
1632
1633         // user defined functions
1634     }
1635
1636     public class Xcls_ScrolledWindow46 : Object
1637     {
1638         public Gtk.ScrolledWindow el;
1639         private ValaProjectSettingsPopover  _this;
1640
1641
1642             // my vars (def)
1643
1644         // ctor
1645         public Xcls_ScrolledWindow46(ValaProjectSettingsPopover _owner )
1646         {
1647             _this = _owner;
1648             this.el = new Gtk.ScrolledWindow( null, null );
1649
1650             // my vars (dec)
1651
1652             // set gobject values
1653             var child_0 = new Xcls_files_tree( _this );
1654             child_0.ref();
1655             this.el.add (  child_0.el  );
1656         }
1657
1658         // user defined functions
1659     }
1660     public class Xcls_files_tree : Object
1661     {
1662         public Gtk.TreeView el;
1663         private ValaProjectSettingsPopover  _this;
1664
1665
1666             // my vars (def)
1667
1668         // ctor
1669         public Xcls_files_tree(ValaProjectSettingsPopover _owner )
1670         {
1671             _this = _owner;
1672             _this.files_tree = this;
1673             this.el = new Gtk.TreeView();
1674
1675             // my vars (dec)
1676
1677             // set gobject values
1678             var child_0 = new Xcls_files_tree_store( _this );
1679             child_0.ref();
1680             this.el.set_model (  child_0.el  );
1681             var child_1 = new Xcls_TreeViewColumn49( _this );
1682             child_1.ref();
1683             this.el.append_column (  child_1.el  );
1684             var child_2 = new Xcls_TreeViewColumn51( _this );
1685             child_2.ref();
1686             this.el.append_column (  child_2.el  );
1687         }
1688
1689         // user defined functions
1690     }
1691     public class Xcls_files_tree_store : Object
1692     {
1693         public Gtk.ListStore el;
1694         private ValaProjectSettingsPopover  _this;
1695
1696
1697             // my vars (def)
1698
1699         // ctor
1700         public Xcls_files_tree_store(ValaProjectSettingsPopover _owner )
1701         {
1702             _this = _owner;
1703             _this.files_tree_store = this;
1704             this.el = new Gtk.ListStore.newv(  {     typeof(string),  // 0 file name
1705         typeof(string),  // 0 basename
1706      typeof(string), // type (dir orfile)
1707      typeof(bool)  // is checked.
1708       }  );
1709
1710             // my vars (dec)
1711
1712             // set gobject values
1713         }
1714
1715         // user defined functions
1716         public void update () {
1717         
1718         
1719             Gtk.TreeIter citer;
1720         
1721             for(var i =0 ; i < this.el.iter_n_children(null); i++) {
1722                 this.el.iter_nth_child(out citer,null,i);
1723         
1724                 GLib.Value val;
1725                 this.el.get_value(citer,0, out val);
1726                 var fn = (string) val;
1727                 
1728                 var active = false;
1729                 if (_this.set_vbox.cgroup.sources.contains(fn)) {
1730                     active = true;
1731                 }
1732                 
1733                 this.el.set_value(citer, 3,   active ); // checked 
1734             }
1735         
1736              _this.set_vbox.el.set_sensitive(true);
1737         }
1738         public void updateDir (string dname, bool bval) {
1739           
1740           Gtk.TreeIter citer;
1741         
1742             var cg =   _this.set_vbox.cgroup;
1743           for(var i =0 ; i < this.el.iter_n_children(null); i++) {
1744                 this.el.iter_nth_child(out citer,null,i);
1745         
1746                 GLib.Value val;
1747                 this.el.get_value(citer,0, out val);
1748                 var fn = (string) val;
1749                 
1750                 if ( Path.get_dirname (fn) == dname) {
1751                 
1752                     this.el.set_value(citer, 3,   bval ); // checked 
1753                    
1754              
1755              
1756                     if (!bval) {
1757                         // renive
1758                         if (cg.sources.contains(fn)) {
1759                             cg.sources.remove(fn);
1760                         }
1761                     } else {
1762                         if (!cg.sources.contains(fn)) {
1763                             cg.sources.add(fn);
1764                         }
1765                     }
1766                     
1767                     
1768                 }
1769             }
1770         
1771         }
1772         public void load () {
1773          
1774               this.el.clear();
1775           
1776             
1777              var def = _this.project.compilegroups.get("_default_");
1778              var items  = def.sources;
1779              
1780              
1781              
1782              
1783          
1784             Gtk.TreeIter citer;
1785         
1786             for(var i =0 ; i < items.size; i++) {
1787             
1788                  var files = _this.project.filesForCompile(items.get(i), false);
1789                  if (files.size < 1) {
1790                     continue;
1791                  }
1792             
1793                  this.el.append(out citer);   
1794                  
1795                 this.el.set_value(citer, 0,   items.get(i) ); // title 
1796                 this.el.set_value(citer, 1,   "<span foreground=\"green\" font_weight=\"bold\">" + 
1797                             GLib.Markup.escape_text(items.get(i)) + "</span>"
1798                     ); // title 
1799                 GLib.debug("ADD item %s", items.get(i));
1800                 this.el.set_value(citer, 2,   "dir"); // type         
1801                 this.el.set_value(citer, 3,   false ); // checked 
1802         
1803                
1804                 
1805                  for(var j =0 ; j < files.size; j++) {
1806                     this.el.append(out citer);   
1807                      GLib.debug("ADD item %s", files.get(j));
1808                     this.el.set_value(citer, 0,   files.get(j) ); // title 
1809                     this.el.set_value(citer, 1,   GLib.Markup.escape_text( Path.get_basename (files.get(j))) ); // title             
1810                     this.el.set_value(citer, 2,   "file"); // type         
1811                     this.el.set_value(citer, 3,   false ); // checked 
1812         
1813                 }
1814                 
1815                 
1816                 //this.el.set_value(citer, 1,   items.get(i) );
1817             }
1818             this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
1819             if (_this.set_vbox.cgroup == null) {
1820                         _this.set_vbox.el.set_sensitive(false);
1821             
1822             }
1823         }
1824     }
1825
1826     public class Xcls_TreeViewColumn49 : Object
1827     {
1828         public Gtk.TreeViewColumn el;
1829         private ValaProjectSettingsPopover  _this;
1830
1831
1832             // my vars (def)
1833
1834         // ctor
1835         public Xcls_TreeViewColumn49(ValaProjectSettingsPopover _owner )
1836         {
1837             _this = _owner;
1838             this.el = new Gtk.TreeViewColumn();
1839
1840             // my vars (dec)
1841
1842             // set gobject values
1843             this.el.title = "name";
1844             this.el.resizable = true;
1845             var child_0 = new Xcls_files_render( _this );
1846             child_0.ref();
1847             this.el.pack_start (  child_0.el , false );
1848
1849             // init method
1850
1851             this.el.add_attribute(_this.files_render.el , "markup", 1 ); // basnemae
1852              
1853             /*  this.el.add_attribute(_this.files_render.el , "markup", 2 );
1854             */
1855         }
1856
1857         // user defined functions
1858     }
1859     public class Xcls_files_render : Object
1860     {
1861         public Gtk.CellRendererText el;
1862         private ValaProjectSettingsPopover  _this;
1863
1864
1865             // my vars (def)
1866
1867         // ctor
1868         public Xcls_files_render(ValaProjectSettingsPopover _owner )
1869         {
1870             _this = _owner;
1871             _this.files_render = this;
1872             this.el = new Gtk.CellRendererText();
1873
1874             // my vars (dec)
1875
1876             // set gobject values
1877         }
1878
1879         // user defined functions
1880     }
1881
1882
1883     public class Xcls_TreeViewColumn51 : Object
1884     {
1885         public Gtk.TreeViewColumn el;
1886         private ValaProjectSettingsPopover  _this;
1887
1888
1889             // my vars (def)
1890
1891         // ctor
1892         public Xcls_TreeViewColumn51(ValaProjectSettingsPopover _owner )
1893         {
1894             _this = _owner;
1895             this.el = new Gtk.TreeViewColumn();
1896
1897             // my vars (dec)
1898
1899             // set gobject values
1900             this.el.title = "use";
1901             this.el.resizable = false;
1902             this.el.fixed_width = 50;
1903             var child_0 = new Xcls_files_render_use( _this );
1904             child_0.ref();
1905             this.el.pack_start (  child_0.el , false );
1906
1907             // init method
1908
1909             {
1910              this.el.add_attribute(_this.files_render_use.el , "active", 3 );
1911              }
1912         }
1913
1914         // user defined functions
1915     }
1916     public class Xcls_files_render_use : Object
1917     {
1918         public Gtk.CellRendererToggle el;
1919         private ValaProjectSettingsPopover  _this;
1920
1921
1922             // my vars (def)
1923
1924         // ctor
1925         public Xcls_files_render_use(ValaProjectSettingsPopover _owner )
1926         {
1927             _this = _owner;
1928             _this.files_render_use = this;
1929             this.el = new Gtk.CellRendererToggle();
1930
1931             // my vars (dec)
1932
1933             // set gobject values
1934             this.el.activatable = true;
1935
1936             //listeners
1937             this.el.toggled.connect( (  path_string) =>  { 
1938             
1939             
1940             
1941                 var m = _this.files_tree_store.el;
1942                Gtk.TreeIter iter;
1943                Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);
1944                m.get_iter (out iter, path);
1945                GLib.Value val;
1946                m.get_value(iter, 3, out val);
1947                m.set_value(iter, 3,  ((bool) val) ? false :true); 
1948                
1949                // type.
1950                GLib.Value ftval;  
1951                m.get_value(iter, 2, out ftval);
1952                var ftype = (string)ftval;   
1953                
1954                // full name...  
1955                GLib.Value fval;     
1956                m.get_value(iter, 0, out fval);
1957                var fn = (string)fval;
1958                 
1959                 
1960                 var cg =   _this.set_vbox.cgroup;
1961                 // what's the sleected target?
1962                 // update the list..
1963                 // if ftype is a dir == then toggle all the bellow.
1964                 
1965                 if (ftype == "dir") {
1966                     _this.files_tree_store.updateDir(fn,  ((bool) val) ? false :true);
1967                 }
1968                 
1969                 // if ftype is a file .. see if all the files in that directory are check and check the dir.
1970             
1971                  
1972                 if ((bool)val) {
1973                     // renive
1974                     cg.sources.remove(fn);
1975                 } else {
1976                     cg.sources.add(fn);
1977                 }
1978                 
1979             });
1980         }
1981
1982         // user defined functions
1983     }
1984
1985
1986
1987
1988
1989
1990
1991     public class Xcls_ButtonBox53 : Object
1992     {
1993         public Gtk.ButtonBox el;
1994         private ValaProjectSettingsPopover  _this;
1995
1996
1997             // my vars (def)
1998
1999         // ctor
2000         public Xcls_ButtonBox53(ValaProjectSettingsPopover _owner )
2001         {
2002             _this = _owner;
2003             this.el = new Gtk.ButtonBox( Gtk.Orientation.HORIZONTAL );
2004
2005             // my vars (dec)
2006
2007             // set gobject values
2008             this.el.margin_end = 4;
2009             this.el.margin_start = 4;
2010             this.el.margin_bottom = 4;
2011             this.el.margin_top = 4;
2012             var child_0 = new Xcls_Button54( _this );
2013             child_0.ref();
2014             this.el.add (  child_0.el  );
2015             var child_1 = new Xcls_save_btn( _this );
2016             child_1.ref();
2017             this.el.add (  child_1.el  );
2018         }
2019
2020         // user defined functions
2021     }
2022     public class Xcls_Button54 : Object
2023     {
2024         public Gtk.Button el;
2025         private ValaProjectSettingsPopover  _this;
2026
2027
2028             // my vars (def)
2029
2030         // ctor
2031         public Xcls_Button54(ValaProjectSettingsPopover _owner )
2032         {
2033             _this = _owner;
2034             this.el = new Gtk.Button();
2035
2036             // my vars (dec)
2037
2038             // set gobject values
2039             this.el.label = "Cancel";
2040
2041             //listeners
2042             this.el.clicked.connect( () => { 
2043             
2044               _this.done = true;
2045                 _this.el.hide(); 
2046             });
2047         }
2048
2049         // user defined functions
2050     }
2051
2052     public class Xcls_save_btn : Object
2053     {
2054         public Gtk.Button el;
2055         private ValaProjectSettingsPopover  _this;
2056
2057
2058             // my vars (def)
2059
2060         // ctor
2061         public Xcls_save_btn(ValaProjectSettingsPopover _owner )
2062         {
2063             _this = _owner;
2064             _this.save_btn = this;
2065             this.el = new Gtk.Button();
2066
2067             // my vars (dec)
2068
2069             // set gobject values
2070             this.el.label = "Save";
2071
2072             //listeners
2073             this.el.clicked.connect( ( ) =>  { 
2074             
2075              
2076             _this.project.writeConfig(); 
2077              
2078                 // what about .js ?
2079                _this.done = true;
2080                 _this.el.hide();
2081             
2082             // hopefull this will work with bjs files..
2083                 
2084              
2085                
2086             });
2087         }
2088
2089         // user defined functions
2090     }
2091
2092
2093
2094 }