Fix #8039 - library support and add back roopacker dependancy
[roobuilder] / src / Builder4 / ValaProjectSettingsPopover.vala
index 099656b..2d55930 100644 (file)
-static Xcls_ValaProjectSettingsPopover  _ValaProjectSettingsPopover;
+static ValaProjectSettingsPopover  _ValaProjectSettingsPopover;
 
-public class Xcls_ValaProjectSettingsPopover : Object
+public class ValaProjectSettingsPopover : Object
 {
-    public Gtk.Popover el;
-    private Xcls_ValaProjectSettingsPopover  _this;
-
-    public static Xcls_ValaProjectSettingsPopover singleton()
-    {
-        if (_ValaProjectSettingsPopover == null) {
-            _ValaProjectSettingsPopover= new Xcls_ValaProjectSettingsPopover();
-        }
-        return _ValaProjectSettingsPopover;
-    }
-    public Xcls_label_global label_global;
-    public Xcls_label_targets label_targets;
-    public Xcls_compile_flags compile_flags;
-    public Xcls_default_packages_tree_store default_packages_tree_store;
-    public Xcls_packages_render packages_render;
-    public Xcls_packages_render_use packages_render_use;
-    public Xcls_default_directory_tree default_directory_tree;
-    public Xcls_default_directory_tree_store default_directory_tree_store;
-    public Xcls_directory_render directory_render;
-    public Xcls_default_directory_menu default_directory_menu;
-    public Xcls_targets_tree_menu targets_tree_menu;
-    public Xcls_targets_tree targets_tree;
-    public Xcls_targets_tree_store targets_tree_store;
-    public Xcls_targets_render targets_render;
-    public Xcls_set_vbox set_vbox;
-    public Xcls_build_pack_target build_pack_target;
-    public Xcls_build_compile_flags build_compile_flags;
-    public Xcls_build_execute_args build_execute_args;
-    public Xcls_files_tree_store files_tree_store;
-    public Xcls_files_render files_render;
-    public Xcls_files_render_use files_render_use;
-
-        // my vars (def)
-    public Xcls_MainWindow window;
-    public Project.Gtk project;
-
-    // ctor
-    public Xcls_ValaProjectSettingsPopover()
-    {
-        _this = this;
-        this.el = new Gtk.Popover( null );
-
-        // my vars (dec)
-        this.window = null;
-        this.project = null;
-
-        // set gobject values
-        this.el.border_width = 0;
-        this.el.modal = true;
-        this.el.position = Gtk.PositionType.RIGHT;
-        var child_0 = new Xcls_Box2( _this );
-        child_0.ref();
-        this.el.add (  child_0.el  );
-
-        //listeners
-        this.el.hide.connect( () => {
-               _this.project.writeConfig();
-        
-        });
-    }
-
-    // user defined functions
-    public void show (Gtk.Widget btn, Project.Gtk project) {
-         
-        //print("ValaProjectSettings show\n");
-        
-        this.project=  project;
-    
-        this.compile_flags.el.text = _this.project.compilegroups.get("_default_").compile_flags;
-        
-        this.default_directory_tree_store.load();    
-        this.default_packages_tree_store.load();            
-        this.targets_tree_store.load();
-        this.files_tree_store.load();
-    
-    
-       this.el.set_modal(true);
-       this.el.set_relative_to(btn);
-    
-       this.el.set_position(Gtk.PositionType.RIGHT);
-    
-       // window + header?
-       // print("SHOWALL - POPIP\n");
-       this.el.set_size_request(800,500);
-       this.el.show_all();
-       //this.view.el.grab_focus();
-    
-    }
-    public void save ()  {
-        this.project.writeConfig(); 
-    }
-    public class Xcls_Box2 : Object
-    {
-        public Gtk.Box el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_Box2(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.hexpand = true;
-            var child_0 = new Xcls_Notebook3( _this );
-            child_0.ref();
-            this.el.pack_start (  child_0.el , true,true,0 );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_Notebook3 : Object
-    {
-        public Gtk.Notebook el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_Notebook3(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Notebook();
-
-            // my vars (dec)
-
-            // set gobject values
-            var child_0 = new Xcls_label_global( _this );
-            child_0.ref();
-            var child_1 = new Xcls_label_targets( _this );
-            child_1.ref();
-            var child_2 = new Xcls_Box6( _this );
-            child_2.ref();
-            this.el.append_page (  child_2.el , _this.label_global.el );
-            var child_3 = new Xcls_Paned27( _this );
-            child_3.ref();
-            this.el.append_page (  child_3.el , _this.label_targets.el );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_label_global : Object
-    {
-        public Gtk.Label el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_label_global(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.label_global = this;
-            this.el = new Gtk.Label( "Global" );
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-    }
-
-    public class Xcls_label_targets : Object
-    {
-        public Gtk.Label el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_label_targets(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.label_targets = this;
-            this.el = new Gtk.Label( "Targets" );
-
-            // my vars (dec)
+       public Gtk.Window el;
+       private ValaProjectSettingsPopover  _this;
+
+       public static ValaProjectSettingsPopover singleton()
+       {
+               if (_ValaProjectSettingsPopover == null) {
+                   _ValaProjectSettingsPopover= new ValaProjectSettingsPopover();
+               }
+               return _ValaProjectSettingsPopover;
+       }
+       public Xcls_notebook notebook;
+       public Xcls_label_global label_global;
+       public Xcls_label_targets label_targets;
+       public Xcls_compile_flags compile_flags;
+       public Xcls_version version;
+       public Xcls_licence licence;
+       public Xcls_vapi_scroll vapi_scroll;
+       public Xcls_vapimodel vapimodel;
+       public Xcls_vapi_filter vapi_filter;
+       public Xcls_vapi_search vapi_search;
+       public Xcls_set_vbox set_vbox;
+       public Xcls_treeview treeview;
+       public Xcls_treeselmodel treeselmodel;
+       public Xcls_treelistsort treelistsort;
+       public Xcls_treelistmodel treelistmodel;
+       public Xcls_treemodel treemodel;
+       public Xcls_name name;
+       public Xcls_target_sel target_sel;
+       public Xcls_target_model target_model;
+       public Xcls_set_vboxb set_vboxb;
+       public Xcls_build_name build_name;
+       public Xcls_build_execute_args build_execute_args;
+       public Xcls_build_as_library build_as_library;
+       public Xcls_save_btn save_btn;
+
+               // my vars (def)
+       public Project.Callback doneObj;
+       public bool cg_loading;
+       public Xcls_MainWindow window;
+       public Project.GtkValaSettings? selected_target;
+       public bool done;
+       public Project.Gtk project;
+       public uint border_width;
+
+       // ctor
+       public ValaProjectSettingsPopover()
+       {
+               _this = this;
+               this.el = new Gtk.Window();
+
+               // my vars (dec)
+               this.doneObj = null;
+               this.cg_loading = false;
+               this.window = null;
+               this.selected_target = null;
+               this.done = false;
+               this.project = null;
+               this.border_width = 0;
+
+               // set gobject values
+               this.el.modal = true;
+               var child_1 = new Xcls_HeaderBar1( _this );
+               child_1.ref();
+               this.el.titlebar = child_1.el;
+               var child_2 = new Xcls_Box3( _this );
+               child_2.ref();
+               this.el.set_child ( child_2.el  );
+
+               //listeners
+               this.el.close_request.connect( ( ) => {
+                       if (!this.done) {
+                               return true;
+                       }
+                       return false;
+                       
+               });
+               this.el.hide.connect( () => {
+                         if (!this.done) {
+                   _this.el.show();
+                 }
+               });
+       }
+
+       // user defined functions
+       public void show (Gtk.Window pwin, Project.Gtk project, Project.Callback? doneObj) {
+            
+           //print("ValaProjectSettings show\n");
+           this.doneObj = doneObj;
+           this.project=  project;
+                
+           this.compile_flags.el.buffer.set_text(
+               project.compile_flags.data
+               );
+          this.version.el.buffer.set_text(
+               project.version.data
+               );
+                 this.licence.el.buffer.set_text(
+               project.licence.data
+               ); 
+           project.loadVapiIntoStore(_this.vapimodel.el);
+            GLib.Timeout.add(500, () => {
+                        this.vapi_scroll.el.vadjustment.value  = 0;     
+                    return false;
+            });
+           
+          
+               
+               project.loadTargetsIntoStore(this.target_model.el);
+               
+               _this.target_sel.el.selected = Gtk.INVALID_LIST_POSITION;
+               _this.target_sel.selectTarget(null);
+       //      Gtk.Allocation rect;
+               //btn.get_allocation(out rect);
+        //   this.el.set_pointing_to(rect);
+        this.el.application = pwin.application; // ??? make it modal?
+                this.el.set_transient_for(pwin);
+                
+               // window + header?
+               // print("SHOWALL - POPIP\n");
+               this.el.set_size_request(800,800);
+               this.el.show();
+               this.notebook.el.page = 0; // first page.
+               
+               //this.view.el.grab_focus();
+       
+       }
+       public void save ()  {
+           this.project.save(); 
+       }
+       public class Xcls_HeaderBar1 : Object
+       {
+               public Gtk.HeaderBar el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_HeaderBar1(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.HeaderBar();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       var child_1 = new Xcls_Label2( _this );
+                       child_1.ref();
+                       this.el.title_widget = child_1.el;
+               }
+
+               // user defined functions
+       }
+       public class Xcls_Label2 : Object
+       {
+               public Gtk.Label el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Label2(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Label( "Change Vala  Compile settings" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+
+
+       public class Xcls_Box3 : Object
+       {
+               public Gtk.Box el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Box3(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.hexpand = true;
+                       this.el.vexpand = true;
+                       new Xcls_notebook( _this );
+                       this.el.append( _this.notebook.el );
+                       var child_2 = new Xcls_Box57( _this );
+                       child_2.ref();
+                       this.el.append( child_2.el );
+               }
+
+               // user defined functions
+       }
+       public class Xcls_notebook : Object
+       {
+               public Gtk.Notebook el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_notebook(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.notebook = this;
+                       this.el = new Gtk.Notebook();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.vexpand = true;
+                       new Xcls_label_global( _this );
+                       new Xcls_label_targets( _this );
+                       var child_3 = new Xcls_Box7( _this );
+                       child_3.ref();
+                       this.el.append_page ( child_3.el , _this.label_global.el );
+                       var child_4 = new Xcls_Paned25( _this );
+                       child_4.ref();
+                       this.el.append_page ( child_4.el , _this.label_targets.el );
+               }
 
-            // set gobject values
-        }
+               // user defined functions
+       }
+       public class Xcls_label_global : Object
+       {
+               public Gtk.Label el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_label_global(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.label_global = this;
+                       this.el = new Gtk.Label( "Global" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_label_targets : Object
+       {
+               public Gtk.Label el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_label_targets(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.label_targets = this;
+                       this.el = new Gtk.Label( "Targets" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_Box7 : Object
+       {
+               public Gtk.Box el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Box7(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.homogeneous = false;
+                       var child_1 = new Xcls_Box834( _this );
+                       child_1.ref();
+                       this.el.append( child_1.el );
+                       new Xcls_vapi_scroll( _this );
+                       this.el.append( _this.vapi_scroll.el );
+                       new Xcls_vapi_search( _this );
+                       this.el.append( _this.vapi_search.el );
+               }
+
+               // user defined functions
+       }
+       public class Xcls_Box834 : Object
+       {
+               public Gtk.Box el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Box834(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 10 );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       var child_1 = new Xcls_Label853( _this );
+                       child_1.ref();
+                       this.el.append( child_1.el );
+                       new Xcls_compile_flags( _this );
+                       this.el.append( _this.compile_flags.el );
+                       var child_3 = new Xcls_Label886( _this );
+                       child_3.ref();
+                       this.el.append( child_3.el );
+                       new Xcls_version( _this );
+                       this.el.append( _this.version.el );
+                       var child_5 = new Xcls_Label906( _this );
+                       child_5.ref();
+                       this.el.append( child_5.el );
+                       new Xcls_licence( _this );
+                       this.el.append( _this.licence.el );
+               }
 
-        // user defined functions
-    }
+               // user defined functions
+       }
+       public class Xcls_Label853 : Object
+       {
+               public Gtk.Label el;
+               private ValaProjectSettingsPopover  _this;
 
-    public class Xcls_Box6 : Object
-    {
-        public Gtk.Box el;
-        private Xcls_ValaProjectSettingsPopover  _this;
 
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Label853(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Label( "Compile flags:" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.halign = Gtk.Align.START;
+                       this.el.hexpand = false;
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_compile_flags : Object
+       {
+               public Gtk.Entry el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_compile_flags(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.compile_flags = this;
+                       this.el = new Gtk.Entry();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.placeholder_text = "eg. -g --valasrc $BASEDIR ";
+
+                       //listeners
+                       this.el.changed.connect( () => {
+                           
+                          _this.project.compile_flags = this.el.buffer.text;
+                          _this.project.save();
+                       //    _this.project.save();
+                       
+                       });
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_Label886 : Object
+       {
+               public Gtk.Label el;
+               private ValaProjectSettingsPopover  _this;
 
-            // my vars (def)
-
-        // ctor
-        public Xcls_Box6(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.homogeneous = false;
-            var child_0 = new Xcls_Label7( _this );
-            child_0.ref();
-            this.el.pack_start (  child_0.el , false,false,0 );
-            var child_1 = new Xcls_compile_flags( _this );
-            child_1.ref();
-            this.el.pack_start (  child_1.el , false,false,0 );
-            var child_2 = new Xcls_Paned9( _this );
-            child_2.ref();
-            this.el.pack_start (  child_2.el , true,true,0 );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_Label7 : Object
-    {
-        public Gtk.Label el;
-        private Xcls_ValaProjectSettingsPopover  _this;
 
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Label886(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Label( "Version:" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.halign = Gtk.Align.START;
+                       this.el.hexpand = false;
+               }
+
+               // user defined functions
+       }
 
-            // my vars (def)
-
-        // ctor
-        public Xcls_Label7(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Label( "compile flags" );
+       public class Xcls_version : Object
+       {
+               public Gtk.Entry el;
+               private ValaProjectSettingsPopover  _this;
 
-            // my vars (dec)
 
-            // set gobject values
-        }
+                       // my vars (def)
 
-        // user defined functions
-    }
+               // ctor
+               public Xcls_version(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.version = this;
+                       this.el = new Gtk.Entry();
 
-    public class Xcls_compile_flags : Object
-    {
-        public Gtk.Entry el;
-        private Xcls_ValaProjectSettingsPopover  _this;
+                       // my vars (dec)
 
+                       // set gobject values
+                       this.el.placeholder_text = "eg. 1.5";
 
-            // my vars (def)
+                       //listeners
+                       this.el.changed.connect( () => {
+                           
+                          _this.project.version = this.el.buffer.text;
+                          _this.project.save();
+                       //    _this.project.save();
+                       
+                       });
+               }
 
-        // ctor
-        public Xcls_compile_flags(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.compile_flags = this;
-            this.el = new Gtk.Entry();
+               // user defined functions
+       }
 
-            // my vars (dec)
-
-            // set gobject values
-            this.el.placeholder_text = "eg. -g --valasrc $BASEDIR ";
-
-            //listeners
-            this.el.changed.connect( () => {
-                
-               _this.project.compilegroups.get("_default_").compile_flags = this.el.text;
-               _this.project.writeConfig();
-            //    _this.project.save();
-            
-            });
-        }
-
-        // user defined functions
-    }
-
-    public class Xcls_Paned9 : Object
-    {
-        public Gtk.Paned el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_Paned9(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Paned( Gtk.Orientation.HORIZONTAL );
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.position = 300;
-            var child_0 = new Xcls_ScrolledWindow10( _this );
-            child_0.ref();
-            this.el.add (  child_0.el  );
-            var child_1 = new Xcls_ScrolledWindow17( _this );
-            child_1.ref();
-            this.el.add2 (  child_1.el  );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_ScrolledWindow10 : Object
-    {
-        public Gtk.ScrolledWindow el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ScrolledWindow10(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.ScrolledWindow( null, null );
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.hexpand = true;
-            var child_0 = new Xcls_default_packages_tree( _this );
-            child_0.ref();
-            this.el.add (  child_0.el  );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_default_packages_tree : Object
-    {
-        public Gtk.TreeView el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_default_packages_tree(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.TreeView();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.headers_visible = true;
-            var child_0 = new Xcls_default_packages_tree_store( _this );
-            child_0.ref();
-            this.el.set_model (  child_0.el  );
-            var child_1 = new Xcls_TreeViewColumn13( _this );
-            child_1.ref();
-            this.el.append_column (  child_1.el  );
-            var child_2 = new Xcls_TreeViewColumn15( _this );
-            child_2.ref();
-            this.el.append_column (  child_2.el  );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_default_packages_tree_store : Object
-    {
-        public Gtk.ListStore el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_default_packages_tree_store(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.default_packages_tree_store = this;
-            this.el = new Gtk.ListStore( 2,     typeof(string),  // 0 key type
-      typeof(bool) );
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-        public void load () {
-         
-            var def = _this.project.compilegroups.get("_default_");
-            var items  = def.packages;
-            
-            this.el.clear();
-            var pal = (Palete.Gtk) _this.project.palete;
-            var pkgs = pal.packages(_this.project);
-            print("ValaProjectSettings:packages load %d\n", pkgs.size);
-        
-            Gtk.TreeIter citer;
-        
-            for(var i =0 ; i < pkgs.size; i++) {
-                 this.el.append(out citer);   
-                 
-                this.el.set_value(citer, 0,   pkgs.get(i) ); // title 
-                this.el.set_value(citer, 1,   items.contains(pkgs.get(i)) );
-            }
-            this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
-            
-        }
-    }
-
-    public class Xcls_TreeViewColumn13 : Object
-    {
-        public Gtk.TreeViewColumn el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_TreeViewColumn13(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.TreeViewColumn();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.title = "package name";
-            this.el.expand = true;
-            this.el.resizable = true;
-            var child_0 = new Xcls_packages_render( _this );
-            child_0.ref();
-            this.el.pack_start (  child_0.el , false );
-
-            // init method
-
-            this.el.add_attribute(_this.packages_render.el , "text", 0 );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_packages_render : Object
-    {
-        public Gtk.CellRendererText el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_packages_render(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.packages_render = this;
-            this.el = new Gtk.CellRendererText();
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-    }
-
-
-    public class Xcls_TreeViewColumn15 : Object
-    {
-        public Gtk.TreeViewColumn el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_TreeViewColumn15(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.TreeViewColumn();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.title = "use";
-            this.el.resizable = false;
-            this.el.fixed_width = 50;
-            var child_0 = new Xcls_packages_render_use( _this );
-            child_0.ref();
-            this.el.pack_start (  child_0.el , false );
-
-            // init method
-
-            {
-             this.el.add_attribute(_this.packages_render_use.el , "active", 1 );
-             }
-        }
-
-        // user defined functions
-    }
-    public class Xcls_packages_render_use : Object
-    {
-        public Gtk.CellRendererToggle el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_packages_render_use(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.packages_render_use = this;
-            this.el = new Gtk.CellRendererToggle();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.activatable = true;
-
-            //listeners
-            this.el.toggled.connect( (  path_string) =>  { 
-                var m = _this.default_packages_tree_store.el;
-               Gtk.TreeIter iter;
-               Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);
-               m.get_iter (out iter, path);
-               GLib.Value val;
-               m.get_value(iter, 1, out val);
-               m.set_value(iter, 1,  ((bool) val) ? false :true); 
-                 GLib.Value fval;  
-               m.get_value(iter, 0, out fval);
-               var fn = (string)fval;
-                
-                var def = _this.project.compilegroups.get("_default_");
-                var items  = def.packages;
-                if ((bool)val) {
-                    // renive
-                    items.remove(fn);
-                } else {
-                    items.add(fn);
-                }
-                
-            });
-        }
-
-        // user defined functions
-    }
-
-
-
-
-    public class Xcls_ScrolledWindow17 : Object
-    {
-        public Gtk.ScrolledWindow el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ScrolledWindow17(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.ScrolledWindow( null, null );
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.hexpand = true;
-            var child_0 = new Xcls_default_directory_tree( _this );
-            child_0.ref();
-            this.el.add (  child_0.el  );
-            var child_1 = new Xcls_default_directory_menu( _this );
-            child_1.ref();
-        }
-
-        // user defined functions
-    }
-    public class Xcls_default_directory_tree : Object
-    {
-        public Gtk.TreeView el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_default_directory_tree(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.default_directory_tree = this;
-            this.el = new Gtk.TreeView();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.headers_visible = true;
-            var child_0 = new Xcls_default_directory_tree_store( _this );
-            child_0.ref();
-            this.el.set_model (  child_0.el  );
-            var child_1 = new Xcls_TreeViewColumn20( _this );
-            child_1.ref();
-            this.el.append_column (  child_1.el  );
-
-            //listeners
-            this.el.button_press_event.connect( ( ev) => {
-                //console.log("button press?");
-               
-                
-                if (ev.type != Gdk.EventType.BUTTON_PRESS  || ev.button != 3) {
-                    //print("click" + ev.type);
-                    return false;
-                }
-                //Gtk.TreePath res;
-                //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {
-                //    return true;
-                //}
-                 
-              //  this.el.get_selection().select_path(res);
-                 
-                  //if (!this.get('/LeftTreeMenu').el)  { 
-                  //      this.get('/LeftTreeMenu').init(); 
-                  //  }
-                    
-                 _this.default_directory_menu.el.set_screen(Gdk.Screen.get_default());
-                 _this.default_directory_menu.el.show_all();
-                  _this.default_directory_menu.el.popup(null, null, null,  3, ev.time);
-                 //   print("click:" + res.path.to_string());
-                  return true;
-            });
-        }
-
-        // user defined functions
-    }
-    public class Xcls_default_directory_tree_store : Object
-    {
-        public Gtk.ListStore el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_default_directory_tree_store(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.default_directory_tree_store = this;
-            this.el = new Gtk.ListStore( 1,     typeof(string)
-      );
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-        public void load () {
-         
-          this.el.clear();
-          
-            
-             var def = _this.project.compilegroups.get("_default_");
-             var items  = def.sources;
-             
-         
-            Gtk.TreeIter citer;
-        
-            for(var i =0 ; i < items.size; i++) {
-                 this.el.append(out citer);   
-                 
-                this.el.set_value(citer, 0,   items.get(i) ); // title 
-                //this.el.set_value(citer, 1,   items.get(i) );
-            }
-            this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
-            
-        }
-    }
-
-    public class Xcls_TreeViewColumn20 : Object
-    {
-        public Gtk.TreeViewColumn el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_TreeViewColumn20(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.TreeViewColumn();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.title = "Available Directories (right click to add)";
-            this.el.resizable = true;
-            var child_0 = new Xcls_directory_render( _this );
-            child_0.ref();
-            this.el.pack_start (  child_0.el , false );
-
-            // init method
-
-            this.el.add_attribute(_this.directory_render.el , "text", 0 );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_directory_render : Object
-    {
-        public Gtk.CellRendererText el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_directory_render(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.directory_render = this;
-            this.el = new Gtk.CellRendererText();
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-    }
-
-
-
-    public class Xcls_default_directory_menu : Object
-    {
-        public Gtk.Menu el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_default_directory_menu(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.default_directory_menu = this;
-            this.el = new Gtk.Menu();
-
-            // my vars (dec)
-
-            // set gobject values
-            var child_0 = new Xcls_MenuItem23( _this );
-            child_0.ref();
-            this.el.add (  child_0.el  );
-            var child_1 = new Xcls_MenuItem24( _this );
-            child_1.ref();
-            this.el.add (  child_1.el  );
-            var child_2 = new Xcls_SeparatorMenuItem25( _this );
-            child_2.ref();
-            this.el.add (  child_2.el  );
-            var child_3 = new Xcls_MenuItem26( _this );
-            child_3.ref();
-            this.el.add (  child_3.el  );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_MenuItem23 : Object
-    {
-        public Gtk.MenuItem el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_MenuItem23(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.MenuItem();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.label = "Add Directory";
-
-            //listeners
-            this.el.activate.connect( ()  => {
-                
-                var  chooser = new Gtk.FileChooserDialog (
-               "Add a directory", _this.window.el, Gtk.FileChooserAction.SELECT_FOLDER ,
-               "_Cancel",
-               Gtk.ResponseType.CANCEL,
-               "_Add",
-               Gtk.ResponseType.ACCEPT);
-                if (chooser.run () != Gtk.ResponseType.ACCEPT) {
-                    chooser.close ();
-                       return;
-                   }
-                   chooser.close ();
-                   // add the directory..
-                   var fn = _this.project.relPath(chooser.get_filename());
-                   _this.project.compilegroups.get("_default_").sources.add(fn);
-                   _this.default_directory_tree_store.load();
-            });
-        }
-
-        // user defined functions
-    }
-
-    public class Xcls_MenuItem24 : Object
-    {
-        public Gtk.MenuItem el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_MenuItem24(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.MenuItem();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.label = "Add File";
-
-            //listeners
-            this.el.activate.connect( ()  => {
-                
-                var  chooser = new Gtk.FileChooserDialog (
-               "Add a directory", _this.window.el, Gtk.FileChooserAction.OPEN ,
-               "_Cancel",
-               Gtk.ResponseType.CANCEL,
-               "_Add",
-               Gtk.ResponseType.ACCEPT);
-                if (chooser.run () != Gtk.ResponseType.ACCEPT) {
-                    chooser.close ();
-                       return;
-                   }
-                   chooser.close ();
-                   // add the directory..
-                   var fn = _this.project.relPath(chooser.get_filename());
-                   _this.project.compilegroups.get("_default_").sources.add(fn);
-                   _this.default_directory_tree_store.load();
-            });
-        }
-
-        // user defined functions
-    }
-
-    public class Xcls_SeparatorMenuItem25 : Object
-    {
-        public Gtk.SeparatorMenuItem el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_SeparatorMenuItem25(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.SeparatorMenuItem();
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-    }
-
-    public class Xcls_MenuItem26 : Object
-    {
-        public Gtk.MenuItem el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_MenuItem26(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.MenuItem();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.label = "Remove File/Directory";
-
-            //listeners
-            this.el.activate.connect( ()  => {
-                
-                 //
-                    Gtk.TreeModel mod;
-                    Gtk.TreeIter iter;
-                    if (!_this.default_directory_tree.el.get_selection().get_selected(out mod, out iter)) {
-                           print("nothing selected\n");
-                        return;
-                    }
-            
-                        
-                   // add the directory..
-                   
-                   
-                   GLib.Value val;
-                    mod.get_value(iter,0, out val);
-                   var fn =  (string) val;
-                   
-                   print("remove: %s\n", fn);
-                   if (!_this.project.compilegroups.get("_default_").sources.remove(fn)) {
-                              print("remove failed");
-                          }
-                   _this.default_directory_tree_store.load();
-            });
-        }
-
-        // user defined functions
-    }
-
-
-
-
-
-    public class Xcls_Paned27 : Object
-    {
-        public Gtk.Paned el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_Paned27(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Paned( Gtk.Orientation.HORIZONTAL );
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.position = 300;
-            var child_0 = new Xcls_ScrolledWindow28( _this );
-            child_0.ref();
-            this.el.add1 (  child_0.el  );
-            var child_1 = new Xcls_set_vbox( _this );
-            child_1.ref();
-            this.el.add2 (  child_1.el  );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_ScrolledWindow28 : Object
-    {
-        public Gtk.ScrolledWindow el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ScrolledWindow28(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.ScrolledWindow( null, null );
-
-            // my vars (dec)
-
-            // set gobject values
-            var child_0 = new Xcls_targets_tree_menu( _this );
-            child_0.ref();
-            this.el.add (  child_0.el  );
-            var child_1 = new Xcls_targets_tree( _this );
-            child_1.ref();
-            this.el.add (  child_1.el  );
-
-            // init method
-
-            {  
-            this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
-            
-            }
-        }
-
-        // user defined functions
-    }
-    public class Xcls_targets_tree_menu : Object
-    {
-        public Gtk.Menu el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_targets_tree_menu(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.targets_tree_menu = this;
-            this.el = new Gtk.Menu();
-
-            // my vars (dec)
-
-            // set gobject values
-            var child_0 = new Xcls_MenuItem30( _this );
-            child_0.ref();
-            this.el.add (  child_0.el  );
-            var child_1 = new Xcls_SeparatorMenuItem31( _this );
-            child_1.ref();
-            this.el.add (  child_1.el  );
-            var child_2 = new Xcls_MenuItem32( _this );
-            child_2.ref();
-            this.el.add (  child_2.el  );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_MenuItem30 : Object
-    {
-        public Gtk.MenuItem el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_MenuItem30(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.MenuItem();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.label = "Add Compile Target";
-
-            //listeners
-            this.el.activate.connect( ()  => {
-                
-                   if (_this.project.compilegroups.has_key("NEW GROUP")) {
-                    return;
-                }
-                  
-                   // add the directory..
-                   
-                   _this.project.compilegroups.set("NEW GROUP", new Project.GtkValaSettings("NEW GROUP"));
-                   _this.targets_tree_store.load();
-            });
-        }
-
-        // user defined functions
-    }
-
-    public class Xcls_SeparatorMenuItem31 : Object
-    {
-        public Gtk.SeparatorMenuItem el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_SeparatorMenuItem31(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.SeparatorMenuItem();
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-    }
-
-    public class Xcls_MenuItem32 : Object
-    {
-        public Gtk.MenuItem el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_MenuItem32(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.MenuItem();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.label = "Remove Target";
-
-            //listeners
-            this.el.activate.connect( ()  => {
-                
-                 //
-                    Gtk.TreeModel mod;
-                    Gtk.TreeIter iter;
-                    if (!_this.targets_tree.el.get_selection().get_selected(out mod, out iter)) {
-                           print("nothing selected\n");
-                        return;
-                    }
-            
-                        
-                   // add the directory..
-                   
-                   
-                   GLib.Value val;
-                    mod.get_value(iter,0, out val);
-                   var fn =  (string) val;
-                   
-                   print("remove: %s\n", fn);
-                   if (!_this.project.compilegroups.unset(fn)) {
-                              print("remove failed");
-                  }
-                   _this.targets_tree_store.load();
-            });
-        }
-
-        // user defined functions
-    }
-
-
-    public class Xcls_targets_tree : Object
-    {
-        public Gtk.TreeView el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-        public string cursor;
-
-        // ctor
-        public Xcls_targets_tree(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.targets_tree = this;
-            this.el = new Gtk.TreeView();
-
-            // my vars (dec)
-
-            // set gobject values
-            var child_0 = new Xcls_targets_tree_store( _this );
-            child_0.ref();
-            this.el.set_model (  child_0.el  );
-            var child_1 = new Xcls_TreeViewColumn35( _this );
-            child_1.ref();
-            this.el.append_column (  child_1.el  );
-
-            //listeners
-            this.el.button_press_event.connect( ( ev) => {
-                //console.log("button press?");
-               
-                
-                if (ev.type != Gdk.EventType.BUTTON_PRESS  || ev.button != 3) {
-                    //print("click" + ev.type);
-                    return false;
-                }
-                //Gtk.TreePath res;
-                //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {
-                //    return true;
-                //}
-                 
-              //  this.el.get_selection().select_path(res);
-                 
-                  //if (!this.get('/LeftTreeMenu').el)  { 
-                  //      this.get('/LeftTreeMenu').init(); 
-                  //  }
-                    
-                 _this.targets_tree_menu.el.set_screen(Gdk.Screen.get_default());
-                 _this.targets_tree_menu.el.show_all();
-                  _this.targets_tree_menu.el.popup(null, null, null,  3, ev.time);
-                 //   print("click:" + res.path.to_string());
-                  return true;
-            });
-            this.el.cursor_changed.connect( ( ) => {
-            
-                if (this.cursor != "") {
-                     // save the values..
-                 }
-                 
-                 // load the new values.
-                 
-            
-                     Gtk.TreeModel mod;
-                    Gtk.TreeIter iter;
-                    if (!this.el.get_selection().get_selected(out mod, out iter)) {
-                        print("nothing selected\n");
-                        // should disable the right hand side..
-                        _this.set_vbox.el.hide();
-                        return;
-                    }
-                    _this.set_vbox.el.show();
-                        
-                   // add the directory..
-                   
-                   
-                   GLib.Value val;
-                    mod.get_value(iter,0, out val);
-                   var fn =  (string) val;
-                   
-                   this.cursor = fn;
-                   var cg = _this.project.compilegroups.get(fn);
-                   
-                   _this.build_pack_target.el.set_text(cg.target_bin);
-                   _this.build_compile_flags.el.set_text(cg.compile_flags);
-                       _this.build_execute_args.el.set_text(cg.execute_args);
-                   
-                   _this.set_vbox.cgroup = cg;
-                   _this.files_tree_store.update();
-                   
-                   // load the srouces
-            
-            
-              });
-        }
-
-        // user defined functions
-    }
-    public class Xcls_targets_tree_store : Object
-    {
-        public Gtk.ListStore el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_targets_tree_store(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.targets_tree_store = this;
-            this.el = new Gtk.ListStore( 2,     typeof(string),  // 0 key type
-     typeof(string) // ??
-      );
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-        public void load () {
-         
-          this.el.clear();
-          
-            
-             var cg = _this.project.compilegroups;
-             
-           _this.targets_tree.cursor = "";
-            Gtk.TreeIter citer;
-            var iter = cg.map_iterator();
-           while(iter.next()) {
-                var key = iter.get_key();
-                if (key == "_default_") {
-                    continue;
-                }
-            
-                 this.el.append(out citer);   
-                 
-                this.el.set_value(citer, 0,   key ); // title 
-                //this.el.set_value(citer, 1,   items.get(i) );
-            };
-            this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
-            _this.set_vbox.el.hide();
-        }
-    }
-
-    public class Xcls_TreeViewColumn35 : Object
-    {
-        public Gtk.TreeViewColumn el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_TreeViewColumn35(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.TreeViewColumn();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.title = "name";
-            this.el.resizable = true;
-            var child_0 = new Xcls_targets_render( _this );
-            child_0.ref();
-            this.el.pack_start (  child_0.el , false );
-
-            // init method
-
-            {
-                 this.el.add_attribute(_this.targets_render.el , "text", 0 );
-             }
-        }
-
-        // user defined functions
-    }
-    public class Xcls_targets_render : Object
-    {
-        public Gtk.CellRendererText el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_targets_render(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.targets_render = this;
-            this.el = new Gtk.CellRendererText();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.editable = true;
-
-            //listeners
-            this.el.edited.connect( (path, newtext) => {
-                 
-                 Gtk.TreeIter  iter;
-                    _this.targets_tree_store.el.get_iter(out iter, new Gtk.TreePath.from_string(path));
-                   GLib.Value gval;
-                    _this.targets_tree_store.el.get_value(iter,0, out gval);
-                    var oldval = (string)gval;
-                   if (oldval == newtext) {
-                      return;
-                    }
-                     var cg = _this.project.compilegroups.get(oldval);
-                    cg.name = newtext;
-                    _this.project.compilegroups.unset(oldval);
-                    _this.project.compilegroups.set(newtext, cg);
-                   _this.targets_tree_store.load();
-              });
-        }
-
-        // user defined functions
-    }
-
-
-
-
-    public class Xcls_set_vbox : Object
-    {
-        public Gtk.Box el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-        public Project.GtkValaSettings cgroup;
-
-        // ctor
-        public Xcls_set_vbox(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.set_vbox = this;
-            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
-
-            // my vars (dec)
-            this.cgroup = null;
-
-            // set gobject values
-            this.el.homogeneous = false;
-            var child_0 = new Xcls_Label38( _this );
-            child_0.ref();
-            this.el.pack_start (  child_0.el , false,false,0 );
-            var child_1 = new Xcls_build_pack_target( _this );
-            child_1.ref();
-            this.el.pack_start (  child_1.el , false,false,0 );
-            var child_2 = new Xcls_Label40( _this );
-            child_2.ref();
-            this.el.pack_start (  child_2.el , false,false,0 );
-            var child_3 = new Xcls_build_compile_flags( _this );
-            child_3.ref();
-            this.el.pack_start (  child_3.el , false,false,0 );
-            var child_4 = new Xcls_Label42( _this );
-            child_4.ref();
-            this.el.pack_start (  child_4.el , false,false,0 );
-            var child_5 = new Xcls_build_execute_args( _this );
-            child_5.ref();
-            this.el.pack_start (  child_5.el , false,false,0 );
-            var child_6 = new Xcls_Label44( _this );
-            child_6.ref();
-            this.el.pack_start (  child_6.el , false,false,0 );
-            var child_7 = new Xcls_ScrolledWindow45( _this );
-            child_7.ref();
-            this.el.pack_start (  child_7.el , true,true,0 );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_Label38 : Object
-    {
-        public Gtk.Label el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_Label38(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Label( "target filename" );
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-    }
-
-    public class Xcls_build_pack_target : Object
-    {
-        public Gtk.Entry el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_build_pack_target(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.build_pack_target = this;
-            this.el = new Gtk.Entry();
+       public class Xcls_Label906 : Object
+       {
+               public Gtk.Label el;
+               private ValaProjectSettingsPopover  _this;
 
-            // my vars (dec)
 
-            // set gobject values
+                       // my vars (def)
 
-            //listeners
-            this.el.changed.connect( ()  => {
-                    if (_this.targets_tree.cursor.length < 1) {
-                    return;
-                }
-                _this.project.compilegroups.get(_this.targets_tree.cursor).target_bin = this.el.text;
-            });
-        }
+               // ctor
+               public Xcls_Label906(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Label( "Licence:" );
 
-        // user defined functions
-    }
-
-    public class Xcls_Label40 : Object
-    {
-        public Gtk.Label el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_Label40(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Label( "compile flags" );
+                       // my vars (dec)
 
-            // my vars (dec)
+                       // set gobject values
+                       this.el.halign = Gtk.Align.START;
+                       this.el.hexpand = false;
+               }
+
+               // user defined functions
+       }
 
-            // set gobject values
-        }
-
-        // user defined functions
-    }
+       public class Xcls_licence : Object
+       {
+               public Gtk.Entry el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_licence(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.licence = this;
+                       this.el = new Gtk.Entry();
 
-    public class Xcls_build_compile_flags : Object
-    {
-        public Gtk.Entry el;
-        private Xcls_ValaProjectSettingsPopover  _this;
+                       // my vars (dec)
 
+                       // set gobject values
+                       this.el.placeholder_text = "eg. LGPL";
+
+                       //listeners
+                       this.el.changed.connect( () => {
+                           
+                          _this.project.licence = this.el.buffer.text;
+                          _this.project.save();
+                       //    _this.project.save();
+                       
+                       });
+               }
+
+               // user defined functions
+       }
 
-            // my vars (def)
 
-        // ctor
-        public Xcls_build_compile_flags(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.build_compile_flags = this;
-            this.el = new Gtk.Entry();
+       public class Xcls_vapi_scroll : Object
+       {
+               public Gtk.ScrolledWindow el;
+               private ValaProjectSettingsPopover  _this;
+
 
-            // my vars (dec)
+                       // my vars (def)
+
+               // ctor
+               public Xcls_vapi_scroll(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.vapi_scroll = this;
+                       this.el = new Gtk.ScrolledWindow();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC;
+                       this.el.has_frame = true;
+                       this.el.hexpand = true;
+                       this.el.vexpand = true;
+                       this.el.hscrollbar_policy = Gtk.PolicyType.AUTOMATIC;
+                       var child_1 = new Xcls_ColumnView11( _this );
+                       child_1.ref();
+                       this.el.child = child_1.el;
+               }
+
+               // user defined functions
+       }
+       public class Xcls_ColumnView11 : Object
+       {
+               public Gtk.ColumnView el;
+               private ValaProjectSettingsPopover  _this;
 
-            // set gobject values
 
-            //listeners
-            this.el.changed.connect( () => {
-                if (_this.targets_tree.cursor.length < 1) {
-                    return;
-                }
-                _this.project.compilegroups.get(_this.targets_tree.cursor).compile_flags = this.el.text;
-            });
-        }
+                       // my vars (def)
 
-        // user defined functions
-    }
+               // ctor
+               public Xcls_ColumnView11(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       var child_1 = new Xcls_NoSelection12( _this );
+                       child_1.ref();
+                       this.el = new Gtk.ColumnView( child_1.el );
 
-    public class Xcls_Label42 : Object
-    {
-        public Gtk.Label el;
-        private Xcls_ValaProjectSettingsPopover  _this;
+                       // my vars (dec)
 
+                       // set gobject values
+                       var child_2 = new Xcls_ColumnViewColumn20( _this );
+                       child_2.ref();
+                       this.el.append_column ( child_2.el  );
+                       var child_3 = new Xcls_ColumnViewColumn22( _this );
+                       child_3.ref();
+                       this.el.append_column ( child_3.el  );
+               }
+
+               // user defined functions
+       }
+       public class Xcls_NoSelection12 : Object
+       {
+               public Gtk.NoSelection el;
+               private ValaProjectSettingsPopover  _this;
 
-            // my vars (def)
 
-        // ctor
-        public Xcls_Label42(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Label( "test argments - when run after a build" );
+                       // my vars (def)
+
+               // ctor
+               public Xcls_NoSelection12(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       var child_1 = new Xcls_FilterListModel13( _this );
+                       child_1.ref();
+                       this.el = new Gtk.NoSelection( child_1.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+       public class Xcls_FilterListModel13 : Object
+       {
+               public Gtk.FilterListModel el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
 
-            // my vars (dec)
+               // ctor
+               public Xcls_FilterListModel13(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       var child_1 = new Xcls_SortListModel14( _this );
+                       child_1.ref();
+                       new Xcls_vapi_filter( _this );
+                       this.el = new Gtk.FilterListModel( child_1.el, _this.vapi_filter.el );
 
-            // set gobject values
-        }
+                       // my vars (dec)
 
-        // user defined functions
-    }
+                       // set gobject values
+               }
 
-    public class Xcls_build_execute_args : Object
-    {
-        public Gtk.Entry el;
-        private Xcls_ValaProjectSettingsPopover  _this;
+               // user defined functions
+       }
+       public class Xcls_SortListModel14 : Object
+       {
+               public Gtk.SortListModel el;
+               private ValaProjectSettingsPopover  _this;
 
 
-            // my vars (def)
+                       // my vars (def)
 
-        // ctor
-        public Xcls_build_execute_args(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.build_execute_args = this;
-            this.el = new Gtk.Entry();
+               // ctor
+               public Xcls_SortListModel14(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       new Xcls_vapimodel( _this );
+                       var child_2 = new Xcls_StringSorter16( _this );
+                       child_2.ref();
+                       this.el = new Gtk.SortListModel( _this.vapimodel.el, child_2.el );
 
-            // my vars (dec)
+                       // my vars (dec)
 
-            // set gobject values
-            this.el.placeholder_text = "eg.  -f somefile -g ";
+                       // set gobject values
+               }
 
-            //listeners
-            this.el.changed.connect( () => {
-                if (_this.targets_tree.cursor.length < 1) {
-                    return;
-                }
-                _this.project.compilegroups.get(_this.targets_tree.cursor).execute_args = this.el.text;
-            });
-        }
+               // user defined functions
+       }
+       public class Xcls_vapimodel : Object
+       {
+               public GLib.ListStore el;
+               private ValaProjectSettingsPopover  _this;
 
-        // user defined functions
-    }
 
-    public class Xcls_Label44 : Object
-    {
-        public Gtk.Label el;
-        private Xcls_ValaProjectSettingsPopover  _this;
+                       // my vars (def)
 
+               // ctor
+               public Xcls_vapimodel(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.vapimodel = this;
+                       this.el = new GLib.ListStore( typeof(Project.VapiSelection) );
 
-            // my vars (def)
+                       // my vars (dec)
 
-        // ctor
-        public Xcls_Label44(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Label( "Files to compile" );
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-    }
-
-    public class Xcls_ScrolledWindow45 : Object
-    {
-        public Gtk.ScrolledWindow el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ScrolledWindow45(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.ScrolledWindow( null, null );
-
-            // my vars (dec)
-
-            // set gobject values
-            var child_0 = new Xcls_files_tree( _this );
-            child_0.ref();
-            this.el.add (  child_0.el  );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_files_tree : Object
-    {
-        public Gtk.TreeView el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_files_tree(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.TreeView();
-
-            // my vars (dec)
-
-            // set gobject values
-            var child_0 = new Xcls_files_tree_store( _this );
-            child_0.ref();
-            this.el.set_model (  child_0.el  );
-            var child_1 = new Xcls_TreeViewColumn48( _this );
-            child_1.ref();
-            this.el.append_column (  child_1.el  );
-            var child_2 = new Xcls_TreeViewColumn50( _this );
-            child_2.ref();
-            this.el.append_column (  child_2.el  );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_files_tree_store : Object
-    {
-        public Gtk.ListStore el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_files_tree_store(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.files_tree_store = this;
-            this.el = new Gtk.ListStore( 4,     typeof(string),  // 0 file name
-        typeof(string),  // 0 basename
-     typeof(string), // type (dir orfile)
-     typeof(bool)  // is checked.
-      );
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-        public void updateDir (string dname, bool bval) {
-          
-          Gtk.TreeIter citer;
-        
-            var cg =   _this.set_vbox.cgroup;
-          for(var i =0 ; i < this.el.iter_n_children(null); i++) {
-                this.el.iter_nth_child(out citer,null,i);
-        
-                GLib.Value val;
-                this.el.get_value(citer,0, out val);
-                var fn = (string) val;
-                
-                if ( Path.get_dirname (fn) == dname) {
-                
-                    this.el.set_value(citer, 3,   bval ); // checked 
-                   
-             
-             
-                    if (!bval) {
-                        // renive
-                        if (cg.sources.contains(fn)) {
-                            cg.sources.remove(fn);
-                        }
-                    } else {
-                        if (!cg.sources.contains(fn)) {
-                            cg.sources.add(fn);
-                        }
-                    }
-                    
-                    
-                }
-            }
-        
-        }
-        public void load () {
-         
-              this.el.clear();
-          
-            
-             var def = _this.project.compilegroups.get("_default_");
-             var items  = def.sources;
-             
-             
-             
-             
-         
-            Gtk.TreeIter citer;
-        
-            for(var i =0 ; i < items.size; i++) {
-            
-                 var files = _this.project.filesForCompile(items.get(i), false);
-                 if (files.size < 1) {
-                    continue;
-                 }
-            
-                 this.el.append(out citer);   
-                 
-                this.el.set_value(citer, 0,   items.get(i) ); // title 
-                this.el.set_value(citer, 1,   "<span foreground=\"green\" font_weight=\"bold\">" + 
-                            GLib.Markup.escape_text(items.get(i)) + "</span>"
-                    ); // title 
-                print("ADD item %s", items.get(i));
-                this.el.set_value(citer, 2,   "dir"); // type         
-                this.el.set_value(citer, 3,   false ); // checked 
-        
-               
-                
-                 for(var j =0 ; j < files.size; j++) {
-                    this.el.append(out citer);   
-                     print("ADD item %s", files.get(j));
-                    this.el.set_value(citer, 0,   files.get(j) ); // title 
-                    this.el.set_value(citer, 1,   GLib.Markup.escape_text( Path.get_basename (files.get(j))) ); // title             
-                    this.el.set_value(citer, 2,   "file"); // type         
-                    this.el.set_value(citer, 3,   false ); // checked 
-        
-                }
-                
-                
-                //this.el.set_value(citer, 1,   items.get(i) );
-            }
-            this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
-            if (_this.set_vbox.cgroup == null) {
-                       _this.set_vbox.el.set_sensitive(false);
-            
-            }
-        }
-        public void update () {
-        
-        
-            Gtk.TreeIter citer;
-        
-            for(var i =0 ; i < this.el.iter_n_children(null); i++) {
-                this.el.iter_nth_child(out citer,null,i);
-        
-                GLib.Value val;
-                this.el.get_value(citer,0, out val);
-                var fn = (string) val;
-                
-                var active = false;
-                if (_this.set_vbox.cgroup.sources.contains(fn)) {
-                    active = true;
-                }
-                
-                this.el.set_value(citer, 3,   active ); // checked 
-            }
-        
-             _this.set_vbox.el.set_sensitive(true);
-        }
-    }
-
-    public class Xcls_TreeViewColumn48 : Object
-    {
-        public Gtk.TreeViewColumn el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_TreeViewColumn48(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.TreeViewColumn();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.title = "name";
-            this.el.resizable = true;
-            var child_0 = new Xcls_files_render( _this );
-            child_0.ref();
-            this.el.pack_start (  child_0.el , false );
-
-            // init method
-
-            this.el.add_attribute(_this.files_render.el , "markup", 1 ); // basnemae
-             
-            /*  this.el.add_attribute(_this.files_render.el , "markup", 2 );
-            */
-        }
-
-        // user defined functions
-    }
-    public class Xcls_files_render : Object
-    {
-        public Gtk.CellRendererText el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_files_render(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.files_render = this;
-            this.el = new Gtk.CellRendererText();
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-    }
-
-
-    public class Xcls_TreeViewColumn50 : Object
-    {
-        public Gtk.TreeViewColumn el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_TreeViewColumn50(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.TreeViewColumn();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.title = "use";
-            this.el.resizable = false;
-            this.el.fixed_width = 50;
-            var child_0 = new Xcls_files_render_use( _this );
-            child_0.ref();
-            this.el.pack_start (  child_0.el , false );
-
-            // init method
-
-            {
-             this.el.add_attribute(_this.files_render_use.el , "active", 3 );
-             }
-        }
-
-        // user defined functions
-    }
-    public class Xcls_files_render_use : Object
-    {
-        public Gtk.CellRendererToggle el;
-        private Xcls_ValaProjectSettingsPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_files_render_use(Xcls_ValaProjectSettingsPopover _owner )
-        {
-            _this = _owner;
-            _this.files_render_use = this;
-            this.el = new Gtk.CellRendererToggle();
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.activatable = true;
-
-            //listeners
-            this.el.toggled.connect( (  path_string) =>  { 
-            
-            
-            
-                var m = _this.files_tree_store.el;
-               Gtk.TreeIter iter;
-               Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);
-               m.get_iter (out iter, path);
-               GLib.Value val;
-               m.get_value(iter, 3, out val);
-               m.set_value(iter, 3,  ((bool) val) ? false :true); 
-               
-               // type.
-               GLib.Value ftval;  
-               m.get_value(iter, 2, out ftval);
-               var ftype = (string)ftval;   
-               
-               // full name...  
-               GLib.Value fval;     
-               m.get_value(iter, 0, out fval);
-               var fn = (string)fval;
-                
-                
-                var cg =   _this.set_vbox.cgroup;
-                // what's the sleected target?
-                // update the list..
-                // if ftype is a dir == then toggle all the bellow.
-                
-                if (ftype == "dir") {
-                    _this.files_tree_store.updateDir(fn,  ((bool) val) ? false :true);
-                }
-                
-                // if ftype is a file .. see if all the files in that directory are check and check the dir.
-            
-                 
-                if ((bool)val) {
-                    // renive
-                    cg.sources.remove(fn);
-                } else {
-                    cg.sources.add(fn);
-                }
-                
-            });
-        }
-
-        // user defined functions
-    }
+                       // set gobject values
+               }
 
+               // user defined functions
+       }
 
+       public class Xcls_StringSorter16 : Object
+       {
+               public Gtk.StringSorter el;
+               private ValaProjectSettingsPopover  _this;
 
 
+                       // my vars (def)
 
+               // ctor
+               public Xcls_StringSorter16(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       var child_1 = new Xcls_PropertyExpression17( _this );
+                       child_1.ref();
+                       this.el = new Gtk.StringSorter( child_1.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+       public class Xcls_PropertyExpression17 : Object
+       {
+               public Gtk.PropertyExpression el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_PropertyExpression17(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.PropertyExpression( typeof(Project.VapiSelection), null, "sortkey" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+
+
+
+       public class Xcls_vapi_filter : Object
+       {
+               public Gtk.StringFilter el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_vapi_filter(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.vapi_filter = this;
+                       var child_1 = new Xcls_PropertyExpression19( _this );
+                       child_1.ref();
+                       this.el = new Gtk.StringFilter( child_1.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+       public class Xcls_PropertyExpression19 : Object
+       {
+               public Gtk.PropertyExpression el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_PropertyExpression19(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.PropertyExpression( typeof(Project.VapiSelection), null, "sortkey" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+
+
+
+
+       public class Xcls_ColumnViewColumn20 : Object
+       {
+               public Gtk.ColumnViewColumn el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_ColumnViewColumn20(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       var child_1 = new Xcls_SignalListItemFactory21( _this );
+                       child_1.ref();
+                       this.el = new Gtk.ColumnViewColumn( "Vapi Package", child_1.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.expand = true;
+               }
+
+               // user defined functions
+       }
+       public class Xcls_SignalListItemFactory21 : Object
+       {
+               public Gtk.SignalListItemFactory el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_SignalListItemFactory21(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.SignalListItemFactory();
+
+                       // my vars (dec)
+
+                       // set gobject values
+
+                       //listeners
+                       this.el.setup.connect( (item) => {
+                               //var j = (JsRender.JsRender) item;
+                               var gi = (Gtk.ListItem)item;
+                                
+                               var lbl = new Gtk.Label("");
+                               lbl.halign = Gtk.Align.START;
+                               gi.set_child(lbl);
+                       
+                       
+                       
+                       });
+                       this.el.bind.connect( (listitem) => {
+                        
+                               var lbl = (Gtk.Label)  ((Gtk.ListItem)listitem).get_child();
+                                  
+                               var item = (Project.VapiSelection)  ((Gtk.ListItem)listitem).get_item();
+                       
+                               item.bind_property("name",
+                                       lbl, "label",
+                                  GLib.BindingFlags.SYNC_CREATE);
+                       
+                                 
+                       });
+               }
+
+               // user defined functions
+       }
+
+
+       public class Xcls_ColumnViewColumn22 : Object
+       {
+               public Gtk.ColumnViewColumn el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_ColumnViewColumn22(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       var child_1 = new Xcls_SignalListItemFactory23( _this );
+                       child_1.ref();
+                       this.el = new Gtk.ColumnViewColumn( "use", child_1.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+       public class Xcls_SignalListItemFactory23 : Object
+       {
+               public Gtk.SignalListItemFactory el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_SignalListItemFactory23(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.SignalListItemFactory();
+
+                       // my vars (dec)
+
+                       // set gobject values
+
+                       //listeners
+                       this.el.setup.connect( (listitem) => {
+                       
+                               var btn = new Gtk.CheckButton();
+                        
+                               ((Gtk.ListItem)listitem).set_child(btn);
+                               
+                               btn.toggled.connect(() =>  {
+                                
+                                       var jr = (Project.VapiSelection) ((Gtk.ListItem)listitem).get_item();
+                                       jr.selected = btn.active;
+                               });
+                       });
+                       this.el.bind.connect( (listitem) => {
+                                //GLib.debug("listitme is is %s", ((Gtk.ListItem)listitem).get_type().name());
+                               
+                               
+                               
+                               //var expand = (Gtk.TreeExpander) ((Gtk.ListItem)listitem).get_child();
+                               var btn = (Gtk.CheckButton)  ((Gtk.ListItem)listitem).get_child();
+                                 
+                        
+                               var vs = (Project.VapiSelection)((Gtk.ListItem)listitem).get_item();
+                       
+                               //GLib.debug("change  %s to %s", lbl.label, np.name);
+                       
+                               btn.active = vs.selected; 
+                               
+                               vs.btn = btn;
+                               // bind image...
+                               
+                       });
+               }
+
+               // user defined functions
+       }
+
+
+
+
+       public class Xcls_vapi_search : Object
+       {
+               public Gtk.SearchEntry el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_vapi_search(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.vapi_search = this;
+                       this.el = new Gtk.SearchEntry();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.placeholder_text = "Search Libraries (Vapi)";
+                       this.el.search_delay = 500;
+
+                       //listeners
+                       this.el.search_changed.connect( ( ) => {
+                       
+                        _this.vapi_filter.el.set_search(this.el.get_text());
+                        
+                       });
+               }
+
+               // user defined functions
+       }
+
+
+       public class Xcls_Paned25 : Object
+       {
+               public Gtk.Paned el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Paned25(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Paned( Gtk.Orientation.HORIZONTAL );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.vexpand = true;
+                       this.el.position = 300;
+                       new Xcls_set_vbox( _this );
+                       this.el.set_end_child ( _this.set_vbox.el  );
+                       var child_2 = new Xcls_Box42( _this );
+                       child_2.ref();
+                       this.el.start_child = child_2.el;
+               }
+
+               // user defined functions
+       }
+       public class Xcls_set_vbox : Object
+       {
+               public Gtk.Box el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_set_vbox(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.set_vbox = this;
+                       this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.homogeneous = false;
+                       var child_1 = new Xcls_ScrolledWindow27( _this );
+                       child_1.ref();
+                       this.el.append( child_1.el );
+               }
+
+               // user defined functions
+       }
+       public class Xcls_ScrolledWindow27 : Object
+       {
+               public Gtk.ScrolledWindow el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_ScrolledWindow27(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.ScrolledWindow();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.vexpand = true;
+                       new Xcls_treeview( _this );
+                       this.el.child = _this.treeview.el;
+               }
+
+               // user defined functions
+       }
+       public class Xcls_treeview : Object
+       {
+               public Gtk.ColumnView el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_treeview(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.treeview = this;
+                       new Xcls_treeselmodel( _this );
+                       this.el = new Gtk.ColumnView( _this.treeselmodel.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       new Xcls_name( _this );
+                       this.el.append_column ( _this.name.el  );
+                       var child_3 = new Xcls_ColumnViewColumn40( _this );
+                       child_3.ref();
+                       this.el.append_column ( child_3.el  );
+               }
+
+               // user defined functions
+       }
+       public class Xcls_treeselmodel : Object
+       {
+               public Gtk.SingleSelection el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_treeselmodel(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.treeselmodel = this;
+                       var child_1 = new Xcls_FilterListModel30( _this );
+                       child_1.ref();
+                       this.el = new Gtk.SingleSelection( child_1.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+       public class Xcls_FilterListModel30 : Object
+       {
+               public Gtk.FilterListModel el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_FilterListModel30(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       new Xcls_treelistsort( _this );
+                       var child_2 = new Xcls_CustomFilter37( _this );
+                       child_2.ref();
+                       this.el = new Gtk.FilterListModel( _this.treelistsort.el, child_2.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+       public class Xcls_treelistsort : Object
+       {
+               public Gtk.SortListModel el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_treelistsort(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.treelistsort = this;
+                       new Xcls_treelistmodel( _this );
+                       var child_2 = new Xcls_TreeListRowSorter34( _this );
+                       child_2.ref();
+                       this.el = new Gtk.SortListModel( _this.treelistmodel.el, child_2.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+
+                       // init method
+
+                       {
+                               //this.el.set_sorter(new Gtk.TreeListRowSorter(_this.treeview.el.sorter));
+                       }
+               }
+
+               // user defined functions
+       }
+       public class Xcls_treelistmodel : Object
+       {
+               public Gtk.TreeListModel el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_treelistmodel(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.treelistmodel = this;
+                       new Xcls_treemodel( _this );
+                       this.el = new Gtk.TreeListModel( _this.treemodel.el, false, true, (item) => {
+       //GLib.debug("liststore got %s", item.get_type().name());
+       return ((JsRender.JsRender)item).childfiles;
+}  );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+       public class Xcls_treemodel : Object
+       {
+               public GLib.ListStore el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_treemodel(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.treemodel = this;
+                       this.el = new GLib.ListStore( typeof(JsRender.JsRender) );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+
+
+       public class Xcls_TreeListRowSorter34 : Object
+       {
+               public Gtk.TreeListRowSorter el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_TreeListRowSorter34(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       var child_1 = new Xcls_StringSorter35( _this );
+                       child_1.ref();
+                       this.el = new Gtk.TreeListRowSorter( child_1.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+       public class Xcls_StringSorter35 : Object
+       {
+               public Gtk.StringSorter el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_StringSorter35(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       var child_1 = new Xcls_PropertyExpression36( _this );
+                       child_1.ref();
+                       this.el = new Gtk.StringSorter( child_1.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+       public class Xcls_PropertyExpression36 : Object
+       {
+               public Gtk.PropertyExpression el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_PropertyExpression36(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.PropertyExpression( typeof(JsRender.JsRender), null, "name" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+
+
+
+
+       public class Xcls_CustomFilter37 : Object
+       {
+               public Gtk.CustomFilter el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_CustomFilter37(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.CustomFilter( (item) => { 
+       
+       var tr = ((Gtk.TreeListRow)item).get_item();
+       //GLib.debug("filter %s", tr.get_type().name());
+       var j =  (JsRender.JsRender) tr;
+       if (j.xtype == "Gtk") {
+               return true;
+       }
+       if (j.xtype != "Dir") {
+               return j.path.has_suffix(".vala") ||  j.path.has_suffix(".c");
+       }
+       // dirs..
+        
+       for (var i =0 ; i < j.childfiles.n_items; i++) {
+               var f = (JsRender.JsRender) j.childfiles.get_item(i);
+               if (f.xtype == "Gtk") {
+                       return true;
+               }
+               if (f.path.has_suffix(".vala") ||  f.path.has_suffix(".c")) {
+                       return true;
+               }
+       }
+       return false;
+
+} );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+
+
+
+       public class Xcls_name : Object
+       {
+               public Gtk.ColumnViewColumn el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_name(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.name = this;
+                       var child_1 = new Xcls_SignalListItemFactory39( _this );
+                       child_1.ref();
+                       this.el = new Gtk.ColumnViewColumn( "Other Files", child_1.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.id = "name";
+                       this.el.expand = true;
+                       this.el.resizable = true;
+
+                       // init method
+
+                       {
+                                this.el.set_sorter(  new Gtk.StringSorter(
+                                       new Gtk.PropertyExpression(typeof(JsRender.JsRender), null, "name")
+                               ));
+                                       ;
+                                       
+                       }
+               }
+
+               // user defined functions
+       }
+       public class Xcls_SignalListItemFactory39 : Object
+       {
+               public Gtk.SignalListItemFactory el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_SignalListItemFactory39(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.SignalListItemFactory();
+
+                       // my vars (dec)
+
+                       // set gobject values
+
+                       //listeners
+                       this.el.setup.connect( (listitem) => {
+                               
+                               var expand = new Gtk.TreeExpander();
+                                
+                               expand.set_indent_for_depth(true);
+                               expand.set_indent_for_icon(true);
+                                
+                               var lbl = new Gtk.Label("");
+                               lbl.use_markup = true;
+                               
+                               
+                               lbl.justify = Gtk.Justification.LEFT;
+                               lbl.xalign = 0;
+                       
+                        
+                               expand.set_child(lbl);
+                               ((Gtk.ListItem)listitem).set_child(expand);
+                               ((Gtk.ListItem)listitem).activatable = false;
+                       });
+                       this.el.bind.connect( (listitem) => {
+                                //GLib.debug("listitme is is %s", ((Gtk.ListItem)listitem).get_type().name());
+                               
+                               
+                               
+                               //var expand = (Gtk.TreeExpander) ((Gtk.ListItem)listitem).get_child();
+                               var expand = (Gtk.TreeExpander)  ((Gtk.ListItem)listitem).get_child();
+                                 
+                        
+                               var lbl = (Gtk.Label) expand.child;
+                               
+                                if (lbl.label != "") { // do not update
+                                       return;
+                               }
+                               
+                       
+                               var lr = (Gtk.TreeListRow)((Gtk.ListItem)listitem).get_item();
+                               var jr = (JsRender.JsRender) lr.get_item();
+                               //GLib.debug("change  %s to %s", lbl.label, np.name);
+                               lbl.label = jr.name; // for dir's we could hsow the sub path..
+                               lbl.tooltip_markup = jr.path;
+                                
+                           expand.set_hide_expander(  jr.childfiles.n_items < 1);
+                               expand.set_list_row(lr);
+                        
+                               expand.set_hide_expander(  jr.xtype != "Dir" );
+                                expand.set_list_row(lr);
+                        
+                               // bind image...
+                               
+                       });
+               }
+
+               // user defined functions
+       }
+
+
+       public class Xcls_ColumnViewColumn40 : Object
+       {
+               public Gtk.ColumnViewColumn el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_ColumnViewColumn40(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       var child_1 = new Xcls_SignalListItemFactory41( _this );
+                       child_1.ref();
+                       this.el = new Gtk.ColumnViewColumn( "use", child_1.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+       public class Xcls_SignalListItemFactory41 : Object
+       {
+               public Gtk.SignalListItemFactory el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_SignalListItemFactory41(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.SignalListItemFactory();
+
+                       // my vars (dec)
+
+                       // set gobject values
+
+                       //listeners
+                       this.el.setup.connect( (listitem) => {
+                       
+                               var btn = new Gtk.CheckButton();
+                        
+                               ((Gtk.ListItem)listitem).set_child(btn);
+                               
+                               btn.toggled.connect(() =>  {
+                                       if (_this.cg_loading) {
+                                               return;
+                                       }
+                                       var lr = (Gtk.TreeListRow)((Gtk.ListItem)listitem).get_item();
+                                       var jr = (JsRender.JsRender) lr.get_item();
+                                       jr.compile_group_selected = btn.active;
+                                       
+                                       
+                               });
+                       });
+                       this.el.bind.connect( (listitem) => {
+                                //GLib.debug("listitme is is %s", ((Gtk.ListItem)listitem).get_type().name());
+                               
+                               
+                               
+                               //var expand = (Gtk.TreeExpander) ((Gtk.ListItem)listitem).get_child();
+                               var btn = (Gtk.CheckButton)  ((Gtk.ListItem)listitem).get_child();
+                                 
+                        
+                               var lr = (Gtk.TreeListRow)((Gtk.ListItem)listitem).get_item();
+                               var jr = (JsRender.JsRender) lr.get_item();
+                               //GLib.debug("change  %s to %s", lbl.label, np.name);
+                       
+                               //btn.active = jr.compile_group_selected;
+                               btn.active = _this.selected_target.has_file(jr);
+                               
+                               //jr.bind_property("compile_group_selected",
+                           //                btn, "active",
+                           //               GLib.BindingFlags.BIDIRECTIONAL); 
+                               // bind image...
+                               
+                       });
+               }
+
+               // user defined functions
+       }
+
+
+
+
+
+       public class Xcls_Box42 : Object
+       {
+               public Gtk.Box el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Box42(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       var child_1 = new Xcls_Box43( _this );
+                       child_1.ref();
+                       this.el.append( child_1.el );
+                       var child_2 = new Xcls_ScrolledWindow46( _this );
+                       child_2.ref();
+                       this.el.append( child_2.el );
+                       new Xcls_set_vboxb( _this );
+                       this.el.append( _this.set_vboxb.el );
+               }
+
+               // user defined functions
+       }
+       public class Xcls_Box43 : Object
+       {
+               public Gtk.Box el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Box43(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.hexpand = true;
+                       var child_1 = new Xcls_Button44( _this );
+                       child_1.ref();
+                       this.el.append( child_1.el );
+                       var child_2 = new Xcls_Button45( _this );
+                       child_2.ref();
+                       this.el.append( child_2.el );
+               }
+
+               // user defined functions
+       }
+       public class Xcls_Button44 : Object
+       {
+               public Gtk.Button el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Button44(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Button();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.hexpand = true;
+                       this.el.label = "Add Compile Target";
+
+                       //listeners
+                       this.el.clicked.connect( ()  => {
+                           
+                              if (_this.project.compilegroups.has_key("NEW GROUP")) {
+                               return;
+                           }
+                           var cg = new Project.GtkValaSettings(_this.project, "NEW GROUP");
+                           _this.project.compilegroups.set(cg.name, cg);
+                            _this.project.loadTargetsIntoStore(_this.target_model.el);
+                            //  select it.. ?? should load it??
+                            for(var i =0;i < _this.target_model.el.n_items; i++) {
+                               var ncg = (Project.GtkValaSettings) _this.target_model.el.get_item(i);
+                               if (ncg.name == cg.name) {
+                                       _this.target_sel.el.selected = i;
+                                       _this.target_sel.selectTarget(cg);
+                                       break;
+                                       }
+                               } 
+                               
+                               
+                                
+                       });
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_Button45 : Object
+       {
+               public Gtk.Button el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Button45(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Button();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.hexpand = true;
+                       this.el.label = "Remove Target";
+
+                       //listeners
+                       this.el.clicked.connect( ()  => {
+                           // load the new values.
+                               if (_this.target_sel.el.selected == Gtk.INVALID_LIST_POSITION) {
+                                       GLib.debug("nothing selected");
+                                       return;
+                               }
+                               
+                                
+                               // add the directory..
+                               var cg = (Project.GtkValaSettings) _this.target_model.el.get_item(_this.target_sel.el.selected);
+                                
+                                
+                               GLib.debug("remove: %s\n", cg.name);
+                               if (!_this.project.compilegroups.unset(cg.name)) {
+                                       GLib.debug("remove failed");
+                               }
+                               _this.project.loadTargetsIntoStore(_this.target_model.el);
+                       });
+               }
+
+               // user defined functions
+       }
+
+
+       public class Xcls_ScrolledWindow46 : Object
+       {
+               public Gtk.ScrolledWindow el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_ScrolledWindow46(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.ScrolledWindow();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.vexpand = true;
+                       var child_1 = new Xcls_ColumnView47( _this );
+                       child_1.ref();
+                       this.el.child = child_1.el;
+
+                       // init method
+
+                       {  
+                       this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
+                       
+                       }
+               }
+
+               // user defined functions
+       }
+       public class Xcls_ColumnView47 : Object
+       {
+               public Gtk.ColumnView el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_ColumnView47(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       new Xcls_target_sel( _this );
+                       this.el = new Gtk.ColumnView( _this.target_sel.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       var child_2 = new Xcls_ColumnViewColumn50( _this );
+                       child_2.ref();
+                       this.el.append_column ( child_2.el  );
+               }
+
+               // user defined functions
+       }
+       public class Xcls_target_sel : Object
+       {
+               public Gtk.SingleSelection el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_target_sel(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.target_sel = this;
+                       new Xcls_target_model( _this );
+                       this.el = new Gtk.SingleSelection( _this.target_model.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+
+                       //listeners
+                       this.el.selection_changed.connect( (position, n_items) => {
+                       
+                                
+                               // load the new values.
+                               if (this.el.selected == Gtk.INVALID_LIST_POSITION) {
+                                       this.selectTarget(null);
+                                       return;
+                               }
+                               this.selectTarget(null);
+                               
+                        
+                       
+                               // add the directory..
+                               var cg = (Project.GtkValaSettings) _this.target_model.el.get_item(this.el.selected);
+                               
+                               this.selectTarget(cg);
+                          
+                       });
+               }
+
+               // user defined functions
+               public void selectTarget (Project.GtkValaSettings? cg) {
+               // load the new values
+                        _this.selected_target = cg;  
+                        _this.project.active_cg = cg;
+                        
+               
+                       if (cg == null) {
+                                
+                               _this.set_vbox.el.hide();       
+                               _this.set_vboxb.el.hide();      
+                               return;
+                       }
+                       
+                       
+                       _this.set_vbox.el.show();
+                       _this.set_vboxb.el.show();
+                       // add the directory..
+                
+                        
+                        GLib.debug("loading dirs into project list");
+                        cg.loading_ui = true;
+                        _this.cg_loading = true;
+               
+                         _this.treeview.el.set_model(new Gtk.SingleSelection(null));
+                         _this.project.loadDirsIntoStore(_this.treemodel.el);
+                         _this.treeview.el.set_model(_this.treeselmodel.el);
+                         
+                        cg.loading_ui = false;
+                        
+                        _this.cg_loading = false;
+                        GLib.debug("Set name to %s", cg.name);
+                        
+                       _this.build_name.el.buffer.set_text(cg.name.data);
+                       _this.build_as_library.el.active = cg.is_library;
+                
+                       _this.build_execute_args.el.buffer.set_text(  cg.execute_args.data );
+                
+               }
+       }
+       public class Xcls_target_model : Object
+       {
+               public GLib.ListStore el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_target_model(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.target_model = this;
+                       this.el = new GLib.ListStore( typeof(Project.GtkValaSettings) );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+
+
+       public class Xcls_ColumnViewColumn50 : Object
+       {
+               public Gtk.ColumnViewColumn el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_ColumnViewColumn50(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       var child_1 = new Xcls_SignalListItemFactory51( _this );
+                       child_1.ref();
+                       this.el = new Gtk.ColumnViewColumn( "Build Target", child_1.el );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.expand = true;
+               }
+
+               // user defined functions
+       }
+       public class Xcls_SignalListItemFactory51 : Object
+       {
+               public Gtk.SignalListItemFactory el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_SignalListItemFactory51(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.SignalListItemFactory();
+
+                       // my vars (dec)
+
+                       // set gobject values
+
+                       //listeners
+                       this.el.setup.connect( (item) => {
+                               //var j = (JsRender.JsRender) item;
+                               var gi = (Gtk.ListItem)item;
+                                
+                               var lbl = new Gtk.Label("");
+                               lbl.halign = Gtk.Align.START;
+                               gi.set_child(lbl);
+                       
+                       
+                       
+                       });
+                       this.el.bind.connect( (listitem) => {
+                        
+                               var lbl = (Gtk.Label)  ((Gtk.ListItem)listitem).get_child();
+                                  
+                               var item = (Project.GtkValaSettings)  ((Gtk.ListItem)listitem).get_item();
+                       
+                               item.bind_property("name",
+                                       lbl, "label",
+                                  GLib.BindingFlags.SYNC_CREATE);
+                       
+                                 
+                       });
+               }
+
+               // user defined functions
+       }
+
+
+
+
+       public class Xcls_set_vboxb : Object
+       {
+               public Gtk.Box el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_set_vboxb(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.set_vboxb = this;
+                       this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       var child_1 = new Xcls_Label53( _this );
+                       child_1.ref();
+                       this.el.append( child_1.el );
+                       new Xcls_build_name( _this );
+                       this.el.append( _this.build_name.el );
+                       var child_3 = new Xcls_Label55( _this );
+                       child_3.ref();
+                       this.el.append( child_3.el );
+                       new Xcls_build_execute_args( _this );
+                       this.el.append( _this.build_execute_args.el );
+                       new Xcls_build_as_library( _this );
+                       this.el.append( _this.build_as_library.el );
+               }
+
+               // user defined functions
+       }
+       public class Xcls_Label53 : Object
+       {
+               public Gtk.Label el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Label53(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Label( "Build Name (executable name)" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_build_name : Object
+       {
+               public Gtk.Entry el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+               public bool in_insert;
+
+               // ctor
+               public Xcls_build_name(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.build_name = this;
+                       this.el = new Gtk.Entry();
+
+                       // my vars (dec)
+                       this.in_insert = false;
+
+                       // set gobject values
+
+                       // init method
+
+                       var ed = (this.el.get_delegate() as Gtk.Editable);
+                       if (ed != null) {
+                               ed.insert_text.connect((text, length, ref position) => {
+                                       if (this.in_insert) {
+                                               return;
+                                       }
+                                       GLib.debug("got insert text %s", text);
+                                       
+                                       var nt = "";
+                                       for(var i = 0;i < text.length; i++){ 
+                                               if (Posix.isupper(text[i]) ||Posix.islower(text[i])  ) {
+                                                       nt +=  text[i].to_string();
+                                               }       
+                                       }
+                                       if (nt.length < 1) {
+                                               GLib.Signal.stop_emission_by_name(ed, "insert_text");
+                                               return;
+                                       }
+                       
+                                       this.in_insert = true;
+                                
+                                       this.el.insert_text(nt,nt.length, ref position);
+                                       this.in_insert = false;
+                                       GLib.Signal.stop_emission_by_name(ed, "insert_text");
+                               });
+                       
+                       }
+
+                       //listeners
+                       this.el.insert_text.connect( (text, length, ref position) => {
+                               if (this.in_insert) {
+                                       return;
+                               }
+                               GLib.debug("got insert text %s", text);
+                               
+                               var nt = "";
+                               for(var i = 0;i < text.length; i++){ 
+                                       if (Posix.isalpha(text[i])) {
+                                               nt +=  text[i].to_string();
+                                       }       
+                               }
+                               if (nt.length < 1) {
+                                       return;
+                               }
+                       
+                               this.in_insert = true;
+                        
+                               this.el.insert_text(text,length, ref position);
+                               this.in_insert = false;
+                       });
+                       this.el.changed.connect( ()  => {
+                               if (_this.selected_target == null) {
+                                       return;
+                               }
+                               var name = this.el.text;
+                               // name ischanging.. probably always..
+                               if (_this.selected_target.name != name) {
+                                       _this.project.compilegroups.unset(_this.selected_target.name);
+                                       _this.project.compilegroups.set(name, _this.selected_target);
+                               }
+                       
+                               _this.selected_target.name = this.el.buffer.text;
+                       });
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_Label55 : Object
+       {
+               public Gtk.Label el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Label55(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Label( "test argments - when run after a build" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_build_execute_args : Object
+       {
+               public Gtk.Entry el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_build_execute_args(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.build_execute_args = this;
+                       this.el = new Gtk.Entry();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.placeholder_text = "eg.  -f somefile -g ";
+
+                       //listeners
+                       this.el.changed.connect( () => {
+                           if (_this.selected_target == null) {
+                               return;
+                           }
+                           _this.selected_target.execute_args = this.el.buffer.text;
+                           
+                       });
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_build_as_library : Object
+       {
+               public Gtk.CheckButton el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_build_as_library(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.build_as_library = this;
+                       this.el = new Gtk.CheckButton();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.label = "build as library";
+
+                       //listeners
+                       this.el.notify["active"].connect( () => {
+                           if (_this.selected_target == null) {
+                               return;
+                           }
+                           _this.selected_target.is_library = this.el.active;
+                           
+                       });
+               }
+
+               // user defined functions
+       }
+
+
+
+
+
+       public class Xcls_Box57 : Object
+       {
+               public Gtk.Box el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Box57(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.margin_end = 4;
+                       this.el.margin_start = 4;
+                       this.el.hexpand = true;
+                       this.el.margin_bottom = 4;
+                       this.el.margin_top = 4;
+                       var child_1 = new Xcls_Button58( _this );
+                       child_1.ref();
+                       this.el.append( child_1.el );
+                       var child_2 = new Xcls_Label59( _this );
+                       child_2.ref();
+                       this.el.append( child_2.el );
+                       new Xcls_save_btn( _this );
+                       this.el.append( _this.save_btn.el );
+               }
+
+               // user defined functions
+       }
+       public class Xcls_Button58 : Object
+       {
+               public Gtk.Button el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Button58(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Button();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.label = "Cancel";
+
+                       //listeners
+                       this.el.clicked.connect( () => { 
+                       
+                         _this.done = true;
+                           _this.el.hide(); 
+                       });
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_Label59 : Object
+       {
+               public Gtk.Label el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Label59(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Label( "" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.hexpand = true;
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_save_btn : Object
+       {
+               public Gtk.Button el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_save_btn(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.save_btn = this;
+                       this.el = new Gtk.Button();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.css_classes = { "suggested-action" };
+                       this.el.label = "Save";
+
+                       //listeners
+                       this.el.clicked.connect( ( ) =>  { 
+                       
+                        
+                       _this.project.save(); 
+                        
+                               // what about .js ?
+                       _this.done = true;
+                       _this.el.hide();
+                       if (_this.doneObj != null) {
+                               _this.doneObj.call(_this.project);
+                       }
+                        
+                          
+                       });
+               }
+
+               // user defined functions
+       }