Fix #8039 - library support and add back roopacker dependancy
[roobuilder] / src / Builder4 / ValaProjectSettingsPopover.vala
index c6fc50a..2d55930 100644 (file)
@@ -16,6 +16,8 @@ public class ValaProjectSettingsPopover : Object
        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;
@@ -32,6 +34,7 @@ public class ValaProjectSettingsPopover : Object
        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)
@@ -39,9 +42,9 @@ public class ValaProjectSettingsPopover : Object
        public bool cg_loading;
        public Xcls_MainWindow window;
        public Project.GtkValaSettings? selected_target;
-       public uint border_width;
        public bool done;
        public Project.Gtk project;
+       public uint border_width;
 
        // ctor
        public ValaProjectSettingsPopover()
@@ -54,13 +57,14 @@ public class ValaProjectSettingsPopover : Object
                this.cg_loading = false;
                this.window = null;
                this.selected_target = null;
-               this.border_width = 0;
                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();
@@ -91,7 +95,12 @@ public class ValaProjectSettingsPopover : Object
            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;     
@@ -140,6 +149,7 @@ public class ValaProjectSettingsPopover : Object
 
                        // set gobject values
                        var child_1 = new Xcls_Label2( _this );
+                       child_1.ref();
                        this.el.title_widget = child_1.el;
                }
 
@@ -291,11 +301,9 @@ public class ValaProjectSettingsPopover : Object
 
                        // set gobject values
                        this.el.homogeneous = false;
-                       var child_1 = new Xcls_Label8( _this );
+                       var child_1 = new Xcls_Box834( _this );
                        child_1.ref();
                        this.el.append( child_1.el );
-                       new Xcls_compile_flags( _this );
-                       this.el.append( _this.compile_flags.el );
                        new Xcls_vapi_scroll( _this );
                        this.el.append( _this.vapi_scroll.el );
                        new Xcls_vapi_search( _this );
@@ -304,7 +312,43 @@ public class ValaProjectSettingsPopover : Object
 
                // user defined functions
        }
-       public class Xcls_Label8 : Object
+       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
+       }
+       public class Xcls_Label853 : Object
        {
                public Gtk.Label el;
                private ValaProjectSettingsPopover  _this;
@@ -313,16 +357,16 @@ public class ValaProjectSettingsPopover : Object
                        // my vars (def)
 
                // ctor
-               public Xcls_Label8(ValaProjectSettingsPopover _owner )
+               public Xcls_Label853(ValaProjectSettingsPopover _owner )
                {
                        _this = _owner;
-                       this.el = new Gtk.Label( "compile flags" );
+                       this.el = new Gtk.Label( "Compile flags:" );
 
                        // my vars (dec)
 
                        // set gobject values
                        this.el.halign = Gtk.Align.START;
-                       this.el.hexpand = true;
+                       this.el.hexpand = false;
                }
 
                // user defined functions
@@ -361,6 +405,121 @@ public class ValaProjectSettingsPopover : Object
                // user defined functions
        }
 
+       public class Xcls_Label886 : Object
+       {
+               public Gtk.Label el;
+               private 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
+       }
+
+       public class Xcls_version : Object
+       {
+               public Gtk.Entry el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_version(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       _this.version = this;
+                       this.el = new Gtk.Entry();
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.placeholder_text = "eg. 1.5";
+
+                       //listeners
+                       this.el.changed.connect( () => {
+                           
+                          _this.project.version = this.el.buffer.text;
+                          _this.project.save();
+                       //    _this.project.save();
+                       
+                       });
+               }
+
+               // user defined functions
+       }
+
+       public class Xcls_Label906 : Object
+       {
+               public Gtk.Label el;
+               private ValaProjectSettingsPopover  _this;
+
+
+                       // my vars (def)
+
+               // ctor
+               public Xcls_Label906(ValaProjectSettingsPopover _owner )
+               {
+                       _this = _owner;
+                       this.el = new Gtk.Label( "Licence:" );
+
+                       // my vars (dec)
+
+                       // set gobject values
+                       this.el.halign = Gtk.Align.START;
+                       this.el.hexpand = false;
+               }
+
+               // 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();
+
+                       // 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
+       }
+
+
        public class Xcls_vapi_scroll : Object
        {
                public Gtk.ScrolledWindow el;
@@ -385,6 +544,7 @@ public class ValaProjectSettingsPopover : Object
                        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;
                }
 
@@ -817,6 +977,7 @@ public class ValaProjectSettingsPopover : Object
                        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;
                }
 
@@ -1518,6 +1679,7 @@ public class ValaProjectSettingsPopover : Object
                        // 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
@@ -1630,7 +1792,7 @@ public class ValaProjectSettingsPopover : Object
                         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 );
                 
@@ -1762,6 +1924,8 @@ public class ValaProjectSettingsPopover : Object
                        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
@@ -1934,6 +2098,39 @@ public class ValaProjectSettingsPopover : Object
                // 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
+       }
+