resources/RooUsage.txt
[app.Builder.js] / src / Builder4 / ProjectSettings.vala
index b23ab50..2989045 100644 (file)
@@ -2,7 +2,7 @@ static Xcls_ProjectSettings  _ProjectSettings;
 
 public class Xcls_ProjectSettings : Object 
 {
-    public Gtk.VBox el;
+    public Gtk.Box el;
     private Xcls_ProjectSettings  _this;
 
     public static Xcls_ProjectSettings singleton()
@@ -19,9 +19,10 @@ public class Xcls_ProjectSettings : Object
     public Xcls_rootURL rootURL;
     public Xcls_view view;
     public Xcls_database_DBTYPE database_DBTYPE;
-    public Xcls_database_DBTYPE database_DBTYPE;
+    public Xcls_database_DBNAME database_DBNAME;
     public Xcls_database_DBUSERNAME database_DBUSERNAME;
     public Xcls_database_DBPASSWORD database_DBPASSWORD;
+    public Xcls_database_ERROR database_ERROR;
 
         // my vars (def)
     public signal void buttonPressed (string btn);
@@ -31,13 +32,14 @@ public class Xcls_ProjectSettings : Object
     public Xcls_ProjectSettings()
     {
         _this = this;
-        this.el = new Gtk.VBox( false, 0 );
+        this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
 
         // my vars (dec)
 
         // set gobject values
+        this.el.homogeneous = false;
         this.el.border_width = 5;
-        var child_0 = new Xcls_HBox2( _this );
+        var child_0 = new Xcls_Box2( _this );
         child_0.ref();
         this.el.pack_start (  child_0.el , false,false,0 );
         var child_1 = new Xcls_Notebook5( _this );
@@ -63,8 +65,11 @@ public class Xcls_ProjectSettings : Object
            
         _this.rootURL.el.set_text( _this.project.rootURL );
         _this.base_template.el.set_text(_this.project.base_template);    
-       
-        
+         var js = _this.project;
+        _this.database_DBTYPE.el.set_text(     js.get_string_member("DBTYPE") );
+        _this.database_DBNAME.el.set_text(    js.get_string_member("DBNAME") );
+        _this.database_DBUSERNAME.el.set_text(    js.get_string_member("DBUSERNAME") );
+        _this.database_DBPASSWORD.el.set_text(    js.get_string_member("DBPASSWORD") );
         //this.el.show_all();
     }
     public void save ()
@@ -79,25 +84,37 @@ public class Xcls_ProjectSettings : Object
         _this.project.rootURL = _this.rootURL.el.get_text();
         _this.project.base_template = _this.base_template.el.get_text();    
         
+        var js = _this.project.json_project_data;
+        js.set_string_member("DBTYPE", _this.database_DBTYPE.el.get_text());
+       js.set_string_member("DBNAME", _this.database_DBNAME.el.get_text());
+        js.set_string_member("DBUSERNAME", _this.database_DBUSERNAME.el.get_text());
+        js.set_string_member("DBPASSWORD", _this.database_DBPASSWORD.el.get_text());
+    //    _this.project.set_string_member("DBHOST", _this.DBTYPE.el.get_text());    
+        
+        // need to re-init the database 
+        
+        _this.project.initRooDatabase();
+         
         
     }
-    public class Xcls_HBox2 : Object 
+    public class Xcls_Box2 : Object 
     {
-        public Gtk.HBox el;
+        public Gtk.Box el;
         private Xcls_ProjectSettings  _this;
 
 
             // my vars (def)
 
         // ctor 
-        public Xcls_HBox2(Xcls_ProjectSettings _owner )
+        public Xcls_Box2(Xcls_ProjectSettings _owner )
         {
             _this = _owner;
-            this.el = new Gtk.HBox( true, 0 );
+            this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
 
             // my vars (dec)
 
             // set gobject values
+            this.el.homogeneous = true;
             this.el.expand = false;
             this.el.vexpand = false;
             var child_0 = new Xcls_Button3( _this );
@@ -191,10 +208,10 @@ public class Xcls_ProjectSettings : Object
             child_0.ref();
             var child_1 = new Xcls_label_database( _this );
             child_1.ref();
-            var child_2 = new Xcls_VBox8( _this );
+            var child_2 = new Xcls_Box8( _this );
             child_2.ref();
             this.el.append_page (  child_2.el , _this.label_global.el );
-            var child_3 = new Xcls_VBox19( _this );
+            var child_3 = new Xcls_Box19( _this );
             child_3.ref();
             this.el.append_page (  child_3.el , _this.label_database.el );
         }
@@ -245,33 +262,34 @@ public class Xcls_ProjectSettings : Object
 
         // user defined functions 
     }
-    public class Xcls_VBox8 : Object 
+    public class Xcls_Box8 : Object 
     {
-        public Gtk.VBox el;
+        public Gtk.Box el;
         private Xcls_ProjectSettings  _this;
 
 
             // my vars (def)
 
         // ctor 
-        public Xcls_VBox8(Xcls_ProjectSettings _owner )
+        public Xcls_Box8(Xcls_ProjectSettings _owner )
         {
             _this = _owner;
-            this.el = new Gtk.VBox( false, 0 );
+            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
 
             // my vars (dec)
 
             // set gobject values
+            this.el.homogeneous = false;
             var child_0 = new Xcls_path( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , false,false,0 );
-            var child_1 = new Xcls_Label10( _this );
+            var child_1 = new Xcls_Box10( _this );
             child_1.ref();
             this.el.pack_start (  child_1.el , false,false,0 );
-            var child_2 = new Xcls_HBox11( _this );
+            var child_2 = new Xcls_Box13( _this );
             child_2.ref();
             this.el.pack_start (  child_2.el , false,false,0 );
-            var child_3 = new Xcls_HBox14( _this );
+            var child_3 = new Xcls_Label16( _this );
             child_3.ref();
             this.el.pack_start (  child_3.el , false,false,0 );
             var child_4 = new Xcls_ScrolledWindow17( _this );
@@ -299,51 +317,32 @@ public class Xcls_ProjectSettings : Object
             // my vars (dec)
 
             // set gobject values
+            this.el.margin = 3;
             this.el.xalign = 0f;
         }
 
         // user defined functions 
     }
-    public class Xcls_Label10 : Object 
-    {
-        public Gtk.Label el;
-        private Xcls_ProjectSettings  _this;
-
-
-            // my vars (def)
-
-        // ctor 
-        public Xcls_Label10(Xcls_ProjectSettings _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Label( "HTML To insert at end of <HEAD>" );
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions 
-    }
-    public class Xcls_HBox11 : Object 
+    public class Xcls_Box10 : Object 
     {
-        public Gtk.HBox el;
+        public Gtk.Box el;
         private Xcls_ProjectSettings  _this;
 
 
             // my vars (def)
 
         // ctor 
-        public Xcls_HBox11(Xcls_ProjectSettings _owner )
+        public Xcls_Box10(Xcls_ProjectSettings _owner )
         {
             _this = _owner;
-            this.el = new Gtk.HBox( false, 0 );
+            this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
 
             // my vars (dec)
 
             // set gobject values
+            this.el.homogeneous = false;
             this.el.expand = false;
-            var child_0 = new Xcls_Label12( _this );
+            var child_0 = new Xcls_Label11( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , false,false,0 );
             var child_1 = new Xcls_base_template( _this );
@@ -353,7 +352,7 @@ public class Xcls_ProjectSettings : Object
 
         // user defined functions 
     }
-    public class Xcls_Label12 : Object 
+    public class Xcls_Label11 : Object 
     {
         public Gtk.Label el;
         private Xcls_ProjectSettings  _this;
@@ -362,7 +361,7 @@ public class Xcls_ProjectSettings : Object
             // my vars (def)
 
         // ctor 
-        public Xcls_Label12(Xcls_ProjectSettings _owner )
+        public Xcls_Label11(Xcls_ProjectSettings _owner )
         {
             _this = _owner;
             this.el = new Gtk.Label( "HTML template file" );
@@ -370,6 +369,7 @@ public class Xcls_ProjectSettings : Object
             // my vars (dec)
 
             // set gobject values
+            this.el.margin = 3;
         }
 
         // user defined functions 
@@ -396,25 +396,26 @@ public class Xcls_ProjectSettings : Object
 
         // user defined functions 
     }
-    public class Xcls_HBox14 : Object 
+    public class Xcls_Box13 : Object 
     {
-        public Gtk.HBox el;
+        public Gtk.Box el;
         private Xcls_ProjectSettings  _this;
 
 
             // my vars (def)
 
         // ctor 
-        public Xcls_HBox14(Xcls_ProjectSettings _owner )
+        public Xcls_Box13(Xcls_ProjectSettings _owner )
         {
             _this = _owner;
-            this.el = new Gtk.HBox( false, 0 );
+            this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
 
             // my vars (dec)
 
             // set gobject values
+            this.el.homogeneous = false;
             this.el.expand = false;
-            var child_0 = new Xcls_Label15( _this );
+            var child_0 = new Xcls_Label14( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , false,false,0 );
             var child_1 = new Xcls_rootURL( _this );
@@ -424,7 +425,7 @@ public class Xcls_ProjectSettings : Object
 
         // user defined functions 
     }
-    public class Xcls_Label15 : Object 
+    public class Xcls_Label14 : Object 
     {
         public Gtk.Label el;
         private Xcls_ProjectSettings  _this;
@@ -433,7 +434,7 @@ public class Xcls_ProjectSettings : Object
             // my vars (def)
 
         // ctor 
-        public Xcls_Label15(Xcls_ProjectSettings _owner )
+        public Xcls_Label14(Xcls_ProjectSettings _owner )
         {
             _this = _owner;
             this.el = new Gtk.Label( "root URL" );
@@ -441,6 +442,7 @@ public class Xcls_ProjectSettings : Object
             // my vars (dec)
 
             // set gobject values
+            this.el.margin = 3;
         }
 
         // user defined functions 
@@ -467,6 +469,27 @@ public class Xcls_ProjectSettings : Object
 
         // user defined functions 
     }
+    public class Xcls_Label16 : Object 
+    {
+        public Gtk.Label el;
+        private Xcls_ProjectSettings  _this;
+
+
+            // my vars (def)
+
+        // ctor 
+        public Xcls_Label16(Xcls_ProjectSettings _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Label( "HTML To insert at end of <HEAD>" );
+
+            // my vars (dec)
+
+            // set gobject values
+        }
+
+        // user defined functions 
+    }
     public class Xcls_ScrolledWindow17 : Object 
     {
         public Gtk.ScrolledWindow el;
@@ -508,8 +531,6 @@ public class Xcls_ProjectSettings : Object
 
             // my vars (dec)
 
-            // set gobject values
-
             // init method 
 
             var description =   Pango.FontDescription.from_string("monospace");
@@ -542,23 +563,24 @@ public class Xcls_ProjectSettings : Object
 
         // user defined functions 
     }
-    public class Xcls_VBox19 : Object 
+    public class Xcls_Box19 : Object 
     {
-        public Gtk.VBox el;
+        public Gtk.Box el;
         private Xcls_ProjectSettings  _this;
 
 
             // my vars (def)
 
         // ctor 
-        public Xcls_VBox19(Xcls_ProjectSettings _owner )
+        public Xcls_Box19(Xcls_ProjectSettings _owner )
         {
             _this = _owner;
-            this.el = new Gtk.VBox( false, 0 );
+            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
 
             // my vars (dec)
 
             // set gobject values
+            this.el.homogeneous = false;
             var child_0 = new Xcls_Label20( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , false,false,0 );
@@ -568,7 +590,7 @@ public class Xcls_ProjectSettings : Object
             var child_2 = new Xcls_Label22( _this );
             child_2.ref();
             this.el.pack_start (  child_2.el , false,false,0 );
-            var child_3 = new Xcls_database_DBTYPE( _this );
+            var child_3 = new Xcls_database_DBNAME( _this );
             child_3.ref();
             this.el.pack_start (  child_3.el , false,false,0 );
             var child_4 = new Xcls_Label24( _this );
@@ -583,6 +605,12 @@ public class Xcls_ProjectSettings : Object
             var child_7 = new Xcls_database_DBPASSWORD( _this );
             child_7.ref();
             this.el.pack_start (  child_7.el , false,false,0 );
+            var child_8 = new Xcls_Button28( _this );
+            child_8.ref();
+            this.el.pack_start (  child_8.el , false,false,0 );
+            var child_9 = new Xcls_database_ERROR( _this );
+            child_9.ref();
+            this.el.pack_start (  child_9.el , false,false,0 );
         }
 
         // user defined functions 
@@ -627,6 +655,18 @@ public class Xcls_ProjectSettings : Object
             // my vars (dec)
 
             // set gobject values
+
+            // listeners 
+            this.el.key_press_event.connect( (ev) => {
+            
+                if (ev.keyval == Gdk.Key.Tab) {
+                    _this.database_DBNAME.el.grab_focus();
+                    return true;
+                }
+            
+            
+                return false;
+            });
         }
 
         // user defined functions 
@@ -653,7 +693,7 @@ public class Xcls_ProjectSettings : Object
 
         // user defined functions 
     }
-    public class Xcls_database_DBTYPE : Object 
+    public class Xcls_database_DBNAME : Object 
     {
         public Gtk.Entry el;
         private Xcls_ProjectSettings  _this;
@@ -662,15 +702,27 @@ public class Xcls_ProjectSettings : Object
             // my vars (def)
 
         // ctor 
-        public Xcls_database_DBTYPE(Xcls_ProjectSettings _owner )
+        public Xcls_database_DBNAME(Xcls_ProjectSettings _owner )
         {
             _this = _owner;
-            _this.database_DBTYPE = this;
+            _this.database_DBNAME = this;
             this.el = new Gtk.Entry();
 
             // my vars (dec)
 
             // set gobject values
+
+            // listeners 
+            this.el.key_press_event.connect( (ev) => {
+            
+                if (ev.keyval == Gdk.Key.Tab) {
+                    _this.database_DBUSERNAME.el.grab_focus();
+                    return true;
+                }
+            
+            
+                return false;
+            });
         }
 
         // user defined functions 
@@ -715,6 +767,18 @@ public class Xcls_ProjectSettings : Object
             // my vars (dec)
 
             // set gobject values
+
+            // listeners 
+            this.el.key_press_event.connect( (ev) => {
+            
+                if (ev.keyval == Gdk.Key.Tab) {
+                    _this.database_DBPASSWORD.el.grab_focus();
+                    return true;
+                }
+            
+            
+                return false;
+            });
         }
 
         // user defined functions 
@@ -761,6 +825,80 @@ public class Xcls_ProjectSettings : Object
             // set gobject values
         }
 
+        // user defined functions 
+    }
+    public class Xcls_Button28 : Object 
+    {
+        public Gtk.Button el;
+        private Xcls_ProjectSettings  _this;
+
+
+            // my vars (def)
+
+        // ctor 
+        public Xcls_Button28(Xcls_ProjectSettings _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Button();
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.label = "Check Connection";
+
+            // listeners 
+            this.el.clicked.connect( () => {
+            
+            
+              _this.database_ERROR.el.label    = "";
+                Gda.Connection cnc;
+                try {
+                    // assumes localhost...
+                     cnc = Gda.Connection.open_from_string (
+                               _this.database_DBTYPE.el.get_text(),
+                               "DB_NAME=" + _this.database_DBNAME.el.get_text(), 
+                               "USERNAME=" + _this.database_DBUSERNAME.el.get_text() + 
+                               ";PASSWORD=" + _this.database_DBPASSWORD.el.get_text(),
+                               Gda.ConnectionOptions.NONE
+                       );
+               //} catch (Gda.ConnectionError ce) { 
+               //   _this.database_ERROR.el.label = ce.message;        
+               } catch(Gda.ConnectionError ue) {
+                  _this.database_ERROR.el.label = ue.message;
+                    return;
+               }  catch(Gda.ConfigError ue) {
+                  _this.database_ERROR.el.label = ue.message;
+                    return;
+               }
+              _this.database_ERROR.el.label = "Connection Succeeded";
+               cnc.close();
+            });
+        }
+
+        // user defined functions 
+    }
+    public class Xcls_database_ERROR : Object 
+    {
+        public Gtk.Label el;
+        private Xcls_ProjectSettings  _this;
+
+
+            // my vars (def)
+
+        // ctor 
+        public Xcls_database_ERROR(Xcls_ProjectSettings _owner )
+        {
+            _this = _owner;
+            _this.database_ERROR = this;
+            this.el = new Gtk.Label( " " );
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.margin = 3;
+            this.el.xalign = 0f;
+        }
+
         // user defined functions 
     }
 }