Attribute changed old-javascript
[app.Builder.js] / old-javascript / Builder4 / EditProject.vala
diff --git a/old-javascript/Builder4/EditProject.vala b/old-javascript/Builder4/EditProject.vala
new file mode 100644 (file)
index 0000000..0203eec
--- /dev/null
@@ -0,0 +1,402 @@
+/* -- to compile
+valac  --pkg gio-2.0  --pkg posix  --pkg gtk+-3.0 --pkg libnotify --pkg gtksourceview-3.0  --pkg  libwnck-3.0 \
+    /tmp/EditProject.vala  -o /tmp/EditProject
+*/
+
+
+/* -- to test class
+static int main (string[] args) {
+    Gtk.init (ref args);
+    new Xcls_EditProject();
+    EditProject.show_all();
+     Gtk.main ();
+    return 0;
+}
+*/
+
+
+public static Xcls_EditProject  EditProject;
+
+public class Xcls_EditProject : Object 
+{
+    public Gtk.Dialog el;
+    private Xcls_EditProject  _this;
+
+    public static Xcls_EditProject singleton()
+    {
+        if (EditProject == null) {
+            EditProject= new Xcls_EditProject();
+        }
+        return EditProject;
+    }
+    public Xcls_xtype xtype;
+    public Xcls_cellrender cellrender;
+    public Xcls_model model;
+    public Xcls_dir dir;
+
+        // my vars
+
+        // ctor 
+    public Xcls_EditProject()
+    {
+        _this = this;
+        this.el = new Gtk.Dialog();
+
+        // my vars
+
+        // set gobject values
+        this.el.border_width = 3;
+        this.el.default_height = 500;
+        this.el.default_width = 600;
+        this.el.deletable = true;
+        this.el.modal = true;
+        this.el.name = "EditProject";
+        this.el.title = "Project Properties";
+        var child_0 = new Xcls_VBox2( _this );
+        child_0.ref();
+        this.el. get_content_area().add 
+ (  child_0.el  );
+        var child_1 = new Xcls_Button9( _this );
+        child_1.ref();
+        this.el.add_action_widget (  child_1.el , 1 );
+        var child_2 = new Xcls_Button10( _this );
+        child_2.ref();
+        this.el.add_action_widget (  child_2.el , 0 );
+
+        // listeners 
+        this.el.destroy_event.connect(  (self, event) => {
+          this.el.response(0);
+        //     this.el.hide();
+            return false;
+        } );
+    }
+
+    // userdefined functions 
+    public Project.Project? show() {
+              
+        
+            //[ 'xtype'  ].forEach(function(k) {
+            //    _this.get(k).setValue(typeof(c[k]) == 'undefined' ? '' : c[k]);
+            //});
+               // shouild set path..
+            _this.model.loadData();
+            this.el.show_all();
+            
+            var err_dialog = StandardErrorDialog.singleton();
+        
+            var id = -1;
+            while (id < 0) {
+                 id =  this.el.run();
+                 if (id < 1) {
+                        this.el.hide();
+                        return null;
+                }
+        
+                 
+                  if (_this.xtype.getValue().length < 1) {
+                       
+                        err_dialog.show(_this.el,"You have to set Project type");             
+                        id = -1;
+                        continue;
+                    }
+                    if (_this.dir.el.get_filename().length < 1) {
+         
+                        err_dialog.show(_this.el,"You have to select a folder");             
+                        id = -1;
+                        continue;
+                    }
+                   
+            }
+            
+            this.el.hide();
+            
+            
+            
+         
+            var fn = _this.dir.el.get_filename();
+            print("add %s\n" , fn);
+            
+            var project = Project.Project.factory(_this.xtype.getValue(), fn);
+            project.save();
+            Project.projects.set(project.name,project);
+            
+            //var pr = imports.Builder.Provider.ProjectManager.ProjectManager.update(this.project);
+            
+            return project;
+        
+            
+            //this.success = c.success;
+        }
+
+    // skip |xns - no return type
+    public class Xcls_VBox2 : Object 
+    {
+        public Gtk.VBox el;
+        private Xcls_EditProject  _this;
+
+
+            // my vars
+
+            // ctor 
+        public Xcls_VBox2(Xcls_EditProject _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.VBox( false, 0 );
+
+            // my vars
+
+            // set gobject values
+            var child_0 = new Xcls_HBox3( _this );
+            child_0.ref();
+            this.el.pack_start (  child_0.el , false,true,3 );
+            var child_1 = new Xcls_dir( _this );
+            child_1.ref();
+            this.el.pack_end (  child_1.el , true,true,5 );
+        }
+
+        // userdefined functions 
+
+        // skip |xns - no return type
+    }
+    public class Xcls_HBox3 : Object 
+    {
+        public Gtk.HBox el;
+        private Xcls_EditProject  _this;
+
+
+            // my vars
+
+            // ctor 
+        public Xcls_HBox3(Xcls_EditProject _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.HBox( false, 0 );
+
+            // my vars
+
+            // set gobject values
+            var child_0 = new Xcls_Label4( _this );
+            child_0.ref();
+            this.el.pack_start (  child_0.el , false,true,3 );
+            var child_1 = new Xcls_xtype( _this );
+            child_1.ref();
+            this.el.pack_end (  child_1.el , true,true,3 );
+        }
+
+        // userdefined functions 
+
+        // skip |xns - no return type
+    }
+    public class Xcls_Label4 : Object 
+    {
+        public Gtk.Label el;
+        private Xcls_EditProject  _this;
+
+
+            // my vars
+
+            // ctor 
+        public Xcls_Label4(Xcls_EditProject _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Label( "Project type :" );
+
+            // my vars
+
+            // set gobject values
+        }
+
+        // userdefined functions 
+
+        // skip |xns - no return type
+    }
+    public class Xcls_xtype : Object 
+    {
+        public Gtk.ComboBox el;
+        private Xcls_EditProject  _this;
+
+
+            // my vars
+
+            // ctor 
+        public Xcls_xtype(Xcls_EditProject _owner )
+        {
+            _this = _owner;
+            _this.xtype = this;
+            this.el = new Gtk.ComboBox();
+
+            // my vars
+
+            // set gobject values
+            var child_0 = new Xcls_cellrender( _this );
+            child_0.ref();
+            this.el.pack_start (  child_0.el , true );
+            var child_1 = new Xcls_model( _this );
+            child_1.ref();
+            this.el.set_model (  child_1.el  );
+
+            // init method 
+             this.el.add_attribute(_this.cellrender.el , "markup", 1 );  
+             
+        }
+
+        // userdefined functions 
+
+        // skip |setValue - no return type
+        public string getValue () {
+                 var ix = this.el.get_active();
+                    if (ix < 0 ) {
+                        return "";
+                    }
+                    switch(ix) {
+                        case 0:
+                            return "Roo";
+                        case 1:
+                            return "Gtk";
+                    }
+                    return "";
+            }
+
+        // skip |xns - no return type
+    }
+    public class Xcls_cellrender : Object 
+    {
+        public Gtk.CellRendererText el;
+        private Xcls_EditProject  _this;
+
+
+            // my vars
+
+            // ctor 
+        public Xcls_cellrender(Xcls_EditProject _owner )
+        {
+            _this = _owner;
+            _this.cellrender = this;
+            this.el = new Gtk.CellRendererText();
+
+            // my vars
+
+            // set gobject values
+        }
+
+        // userdefined functions 
+
+        // skip |xns - no return type
+    }
+    public class Xcls_model : Object 
+    {
+        public Gtk.ListStore el;
+        private Xcls_EditProject  _this;
+
+
+            // my vars
+
+            // ctor 
+        public Xcls_model(Xcls_EditProject _owner )
+        {
+            _this = _owner;
+            _this.model = this;
+            this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
+
+            // my vars
+
+            // set gobject values
+        }
+
+        // userdefined functions 
+        public void loadData  ( ) {
+                    this.el.clear();
+                                  
+                    Gtk.TreeIter iter;
+                            
+                    el.append(out iter);
+                    
+                    el.set_value(iter, 0, "Roo");
+                    el.set_value(iter, 1, "Roo Project");
+                     el.append(out iter);
+                    
+                    el.set_value(iter, 0, "Gtk");
+                    el.set_value(iter, 1, "Gtk Project");
+                     
+                          
+                                                 
+            }
+
+        // skip |xns - no return type
+    }
+    public class Xcls_dir : Object 
+    {
+        public Gtk.FileChooserWidget el;
+        private Xcls_EditProject  _this;
+
+
+            // my vars
+
+            // ctor 
+        public Xcls_dir(Xcls_EditProject _owner )
+        {
+            _this = _owner;
+            _this.dir = this;
+            this.el = new Gtk.FileChooserWidget( Gtk.FileChooserAction.SELECT_FOLDER );
+
+            // my vars
+
+            // set gobject values
+            this.el.create_folders = false;
+            this.el.select_multiple = false;
+        }
+
+        // userdefined functions 
+
+        // skip |xns - no return type
+    }
+    public class Xcls_Button9 : Object 
+    {
+        public Gtk.Button el;
+        private Xcls_EditProject  _this;
+
+
+            // my vars
+
+            // ctor 
+        public Xcls_Button9(Xcls_EditProject _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Button();
+
+            // my vars
+
+            // set gobject values
+            this.el.label = "OK";
+        }
+
+        // userdefined functions 
+
+        // skip |xns - no return type
+    }
+    public class Xcls_Button10 : Object 
+    {
+        public Gtk.Button el;
+        private Xcls_EditProject  _this;
+
+
+            // my vars
+
+            // ctor 
+        public Xcls_Button10(Xcls_EditProject _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Button();
+
+            // my vars
+
+            // set gobject values
+            this.el.label = "Cancel";
+        }
+
+        // userdefined functions 
+
+        // skip |xns - no return type
+    }
+}