src/Builder4/MainWindow.vala
[app.Builder.js] / src / Builder4 / MainWindow.vala
index 72973f6..83382ef 100644 (file)
@@ -38,9 +38,12 @@ public class Xcls_MainWindow : Object
     public Xcls_addfilebutton addfilebutton;
     public Xcls_delprojectbutton delprojectbutton;
     public Xcls_statusbar statusbar;
+    public Xcls_search_entry search_entry;
+    public Xcls_search_results search_results;
     public Xcls_statusbar_errors statusbar_errors;
     public Xcls_statusbar_warnings statusbar_warnings;
     public Xcls_statusbar_depricated statusbar_depricated;
+    public Xcls_statusbar_run statusbar_run;
 
         // my vars (def)
     public Project.Project project;
@@ -103,6 +106,26 @@ public class Xcls_MainWindow : Object
             Resources.singleton().checkResources();
         
         });
+        this.el.key_release_event.connect( (event) => {
+            
+            if (this.search_entry.el.is_visible()) {
+                       if (event.keyval == Gdk.Key.f && (event.state & Gdk.ModifierType.CONTROL_MASK ) > 0 ) {
+                           print("SAVE: ctrl-f  pressed");
+                               this.search_entry.el.grab_focus();
+                           return false;
+                       }
+                       
+                         if (event.keyval == Gdk.Key.g && (event.state & Gdk.ModifierType.CONTROL_MASK ) > 0 ) {
+                           print("SAVE: ctrl-g  pressed");
+                               this.search_entry.forwardSearch(true);
+                           return false;
+                       }
+               }    
+           // print(event.key.keyval)
+            
+            return false;
+        
+        });
     }
 
     // user defined functions
@@ -410,7 +433,7 @@ public class Xcls_MainWindow : Object
             var child_0 = new Xcls_mainpane( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , true,true,0 );
-            var child_1 = new Xcls_HBox66( _this );
+            var child_1 = new Xcls_Box66( _this );
             child_1.ref();
             this.el.pack_end (  child_1.el , false,true,0 );
         }
@@ -441,7 +464,7 @@ public class Xcls_MainWindow : Object
             var child_0 = new Xcls_leftpane( _this );
             child_0.ref();
             this.el.add1 (  child_0.el  );
-            var child_1 = new Xcls_VBox17( _this );
+            var child_1 = new Xcls_Box17( _this );
             child_1.ref();
             this.el.add2 (  child_1.el  );
         }
@@ -468,14 +491,14 @@ public class Xcls_MainWindow : Object
             // set gobject values
             var child_0 = new Xcls_editpane( _this );
             child_0.ref();
-            this.el.pack_start (  child_0.el , false,true,0 );
+            this.el.pack_start (  child_0.el , true,true,0 );
         }
 
         // user defined functions
     }
     public class Xcls_editpane : Object
     {
-        public Gtk.VPaned el;
+        public Gtk.Paned el;
         private Xcls_MainWindow  _this;
 
 
@@ -486,7 +509,7 @@ public class Xcls_MainWindow : Object
         {
             _this = _owner;
             _this.editpane = this;
-            this.el = new Gtk.VPaned();
+            this.el = new Gtk.Paned( Gtk.Orientation.VERTICAL );
 
             // my vars (dec)
 
@@ -503,7 +526,7 @@ public class Xcls_MainWindow : Object
     }
     public class Xcls_tree : Object
     {
-        public Gtk.VBox el;
+        public Gtk.Box el;
         private Xcls_MainWindow  _this;
 
 
@@ -514,7 +537,7 @@ public class Xcls_MainWindow : Object
         {
             _this = _owner;
             _this.tree = this;
-            this.el = new Gtk.VBox( true, 0 );
+            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
 
             // my vars (dec)
 
@@ -526,7 +549,7 @@ public class Xcls_MainWindow : Object
 
     public class Xcls_props : Object
     {
-        public Gtk.VBox el;
+        public Gtk.Box el;
         private Xcls_MainWindow  _this;
 
 
@@ -537,7 +560,7 @@ public class Xcls_MainWindow : Object
         {
             _this = _owner;
             _this.props = this;
-            this.el = new Gtk.VBox( true, 0 );
+            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
 
             // my vars (dec)
 
@@ -549,19 +572,19 @@ public class Xcls_MainWindow : Object
 
 
 
-    public class Xcls_VBox17 : Object
+    public class Xcls_Box17 : Object
     {
-        public Gtk.VBox el;
+        public Gtk.Box el;
         private Xcls_MainWindow  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_VBox17(Xcls_MainWindow _owner )
+        public Xcls_Box17(Xcls_MainWindow _owner )
         {
             _this = _owner;
-            this.el = new Gtk.VBox( true, 0 );
+            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
 
             // my vars (dec)
 
@@ -1267,11 +1290,11 @@ public class Xcls_MainWindow : Object
             this.el.clicked.connect( ( ) => {
               
                 // create a new file in project..
-                if (_this.project == null || _this.windowstate.left_tree.model.file == null) {
+                if (_this.project == null || _this.windowstate.file == null) {
                     return  ;
                 }
                  _this.windowstate.file_details.show(
-                    _this.windowstate.left_tree.model.file, this.el
+                    _this.windowstate.file, this.el
                 );
                  
                 return  ;    
@@ -1453,11 +1476,11 @@ public class Xcls_MainWindow : Object
 
             //listeners
             this.el.enter_event.connect( (  event)  => {
-                this.el.background_color = new Clutter.Color.from_string("#333");
+                this.el.background_color =   Clutter.Color.from_string("#333");
                     return false;
             });
             this.el.leave_event.connect( (  event)  => {
-                this.el.background_color = new Clutter.Color.from_string("#000");
+                this.el.background_color =   Clutter.Color.from_string("#000");
                 return false;
             });
         }
@@ -2003,19 +2026,20 @@ public class Xcls_MainWindow : Object
             //listeners
             this.el.clicked.connect( () => {
                 // create a new file in project..
-                
+                print("add file selected\n");
                 // what's the currently selected project...
                 var proj = _this.windowstate.left_projects.getSelectedProject();
                 
                 if (proj == null) {
+                       print("no project selected?\n");
                     return  ;
                 }
                 
-                
+                print("creating file?");
                 
                 var f = JsRender.JsRender.factory(proj.xtype,  proj, "");
                 _this.project = proj;
-                
+                    print("showing popup?");
                  _this.windowstate.file_details.show(
                    f, this.el
                 );
@@ -2196,32 +2220,36 @@ public class Xcls_MainWindow : Object
 
 
 
-    public class Xcls_HBox66 : Object
+    public class Xcls_Box66 : Object
     {
-        public Gtk.HBox el;
+        public Gtk.Box el;
         private Xcls_MainWindow  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_HBox66(Xcls_MainWindow _owner )
+        public Xcls_Box66(Xcls_MainWindow _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;
             var child_0 = new Xcls_Label67( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , true,true,0 );
             var child_1 = new Xcls_statusbar( _this );
             child_1.ref();
             this.el.pack_start (  child_1.el , true,true,0 );
-            var child_2 = new Xcls_MenuBar69( _this );
+            var child_2 = new Xcls_search_entry( _this );
             child_2.ref();
-            this.el.pack_end (  child_2.el , false,true,0 );
+            this.el.pack_start (  child_2.el , false,true,0 );
+            var child_3 = new Xcls_MenuBar70( _this );
+            child_3.ref();
+            this.el.pack_end (  child_3.el , false,true,0 );
         }
 
         // user defined functions
@@ -2292,7 +2320,100 @@ public class Xcls_MainWindow : Object
         // user defined functions
     }
 
-    public class Xcls_MenuBar69 : Object
+    public class Xcls_search_entry : Object
+    {
+        public Gtk.SearchEntry el;
+        private Xcls_MainWindow  _this;
+
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_search_entry(Xcls_MainWindow _owner )
+        {
+            _this = _owner;
+            _this.search_entry = this;
+            this.el = new Gtk.SearchEntry();
+
+            // my vars (dec)
+
+            // set gobject values
+
+            // init method
+
+            var description =   Pango.FontDescription.from_string("monospace");
+               description.set_size(8000);
+                this.el.override_font(description);
+
+            //listeners
+            this.el.key_press_event.connect( (event) => {
+                
+               if (event.keyval == Gdk.Key.Return) {
+                       this.forwardSearch(false);
+                   return true;
+            
+               }    
+               // print(event.key.keyval)
+                
+                return false;
+            
+            });
+            this.el.changed.connect( () => {
+               if (this.el.text == "") {
+                       return;
+               }
+               var res = 0;
+               switch(_this.windowstate.state) {
+                       case WindowState.State.CODEONLY:
+                       case WindowState.State.CODE:
+                               // search the code being edited..
+                               res = _this.windowstate.code_editor.search(this.el.text);
+                               
+                               break;
+                       case WindowState.State.PREVIEW:
+                               if (_this.windowstate.file.xtype == "Gtk") {
+                                        res = _this.windowstate.window_gladeview.search(this.el.text);
+                               } else { 
+                                        res = _this.windowstate.window_rooview.search(this.el.text);                   
+                               }
+                       
+                       
+                               break;
+               }
+               if (res > 0) {
+                       _this.search_results.el.label = "%d Matches".printf(res);
+               } else {
+                       _this.search_results.el.label = "No Matches";
+               }
+                       
+               
+               
+            });
+        }
+
+        // user defined functions
+        public void forwardSearch (bool change_focus) {
+               switch(_this.windowstate.state) {
+                       case WindowState.State.CODEONLY:
+                       case WindowState.State.CODE:
+                               // search the code being edited..
+                               _this.windowstate.code_editor.forwardSearch(change_focus);
+                               
+                               break;
+                       case WindowState.State.PREVIEW:
+                               if (_this.windowstate.file.xtype == "Gtk") {
+                                       _this.windowstate.window_gladeview.forwardSearch(change_focus);
+                               } else { 
+                                        _this.windowstate.window_rooview.forwardSearch(change_focus);
+                               }
+                       
+                               break;
+               }
+               
+        }
+    }
+
+    public class Xcls_MenuBar70 : Object
     {
         public Gtk.MenuBar el;
         private Xcls_MainWindow  _this;
@@ -2301,7 +2422,7 @@ public class Xcls_MainWindow : Object
             // my vars (def)
 
         // ctor
-        public Xcls_MenuBar69(Xcls_MainWindow _owner )
+        public Xcls_MenuBar70(Xcls_MainWindow _owner )
         {
             _this = _owner;
             this.el = new Gtk.MenuBar();
@@ -2309,23 +2430,96 @@ public class Xcls_MainWindow : Object
             // my vars (dec)
 
             // set gobject values
-            var child_0 = new Xcls_MenuItem70( _this );
+            var child_0 = new Xcls_search_results( _this );
             child_0.ref();
             this.el.add (  child_0.el  );
-            var child_1 = new Xcls_statusbar_errors( _this );
+            var child_1 = new Xcls_MenuItem73( _this );
             child_1.ref();
             this.el.add (  child_1.el  );
-            var child_2 = new Xcls_statusbar_warnings( _this );
+            var child_2 = new Xcls_statusbar_errors( _this );
             child_2.ref();
             this.el.add (  child_2.el  );
-            var child_3 = new Xcls_statusbar_depricated( _this );
+            var child_3 = new Xcls_statusbar_warnings( _this );
             child_3.ref();
             this.el.add (  child_3.el  );
+            var child_4 = new Xcls_statusbar_depricated( _this );
+            child_4.ref();
+            this.el.add (  child_4.el  );
+            var child_5 = new Xcls_statusbar_run( _this );
+            child_5.ref();
+            this.el.add (  child_5.el  );
+        }
+
+        // user defined functions
+    }
+    public class Xcls_search_results : Object
+    {
+        public Gtk.ImageMenuItem el;
+        private Xcls_MainWindow  _this;
+
+
+            // my vars (def)
+        public Xcls_ValaCompileErrors popup;
+
+        // ctor
+        public Xcls_search_results(Xcls_MainWindow _owner )
+        {
+            _this = _owner;
+            _this.search_results = this;
+            this.el = new Gtk.ImageMenuItem();
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.always_show_image = true;
+            this.el.label = "Matches";
+            var child_0 = new Xcls_Image72( _this );
+            child_0.ref();
+            this.el.set_image (  child_0.el  );
+
+            //listeners
+            this.el.button_press_event.connect( () => {
+            /*
+                if (this.popup == null) {
+                    this.popup = new Xcls_ValaCompileErrors();
+                    this.popup.window = _this;
+                }
+               
+                
+                this.popup.show(this.notices, this.el);
+                */
+                return true;
+            });
         }
 
         // user defined functions
     }
-    public class Xcls_MenuItem70 : Object
+    public class Xcls_Image72 : Object
+    {
+        public Gtk.Image el;
+        private Xcls_MainWindow  _this;
+
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_Image72(Xcls_MainWindow _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Image();
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.icon_name = "system-search";
+            this.el.sensitive = false;
+        }
+
+        // user defined functions
+    }
+
+
+    public class Xcls_MenuItem73 : Object
     {
         public Gtk.MenuItem el;
         private Xcls_MainWindow  _this;
@@ -2334,7 +2528,7 @@ public class Xcls_MainWindow : Object
             // my vars (def)
 
         // ctor
-        public Xcls_MenuItem70(Xcls_MainWindow _owner )
+        public Xcls_MenuItem73(Xcls_MainWindow _owner )
         {
             _this = _owner;
             this.el = new Gtk.MenuItem();
@@ -2371,7 +2565,7 @@ public class Xcls_MainWindow : Object
             // set gobject values
             this.el.always_show_image = true;
             this.el.label = "Errors";
-            var child_0 = new Xcls_Image72( _this );
+            var child_0 = new Xcls_Image75( _this );
             child_0.ref();
             this.el.set_image (  child_0.el  );
 
@@ -2396,7 +2590,7 @@ public class Xcls_MainWindow : Object
         
         }
     }
-    public class Xcls_Image72 : Object
+    public class Xcls_Image75 : Object
     {
         public Gtk.Image el;
         private Xcls_MainWindow  _this;
@@ -2405,7 +2599,7 @@ public class Xcls_MainWindow : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Image72(Xcls_MainWindow _owner )
+        public Xcls_Image75(Xcls_MainWindow _owner )
         {
             _this = _owner;
             this.el = new Gtk.Image();
@@ -2443,7 +2637,7 @@ public class Xcls_MainWindow : Object
             // set gobject values
             this.el.always_show_image = true;
             this.el.label = "Warnings";
-            var child_0 = new Xcls_Image74( _this );
+            var child_0 = new Xcls_Image77( _this );
             child_0.ref();
             this.el.set_image (  child_0.el  );
 
@@ -2467,7 +2661,7 @@ public class Xcls_MainWindow : Object
         
         }
     }
-    public class Xcls_Image74 : Object
+    public class Xcls_Image77 : Object
     {
         public Gtk.Image el;
         private Xcls_MainWindow  _this;
@@ -2476,7 +2670,7 @@ public class Xcls_MainWindow : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Image74(Xcls_MainWindow _owner )
+        public Xcls_Image77(Xcls_MainWindow _owner )
         {
             _this = _owner;
             this.el = new Gtk.Image();
@@ -2514,7 +2708,7 @@ public class Xcls_MainWindow : Object
             // set gobject values
             this.el.always_show_image = true;
             this.el.label = "Depricated";
-            var child_0 = new Xcls_Image76( _this );
+            var child_0 = new Xcls_Image79( _this );
             child_0.ref();
             this.el.set_image (  child_0.el  );
 
@@ -2539,7 +2733,7 @@ public class Xcls_MainWindow : Object
         
         }
     }
-    public class Xcls_Image76 : Object
+    public class Xcls_Image79 : Object
     {
         public Gtk.Image el;
         private Xcls_MainWindow  _this;
@@ -2548,7 +2742,7 @@ public class Xcls_MainWindow : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Image76(Xcls_MainWindow _owner )
+        public Xcls_Image79(Xcls_MainWindow _owner )
         {
             _this = _owner;
             this.el = new Gtk.Image();
@@ -2563,6 +2757,70 @@ public class Xcls_MainWindow : Object
     }
 
 
+    public class Xcls_statusbar_run : Object
+    {
+        public Gtk.ImageMenuItem el;
+        private Xcls_MainWindow  _this;
+
+
+            // my vars (def)
+        public Xcls_ValaCompileErrors popup;
+
+        // ctor
+        public Xcls_statusbar_run(Xcls_MainWindow _owner )
+        {
+            _this = _owner;
+            _this.statusbar_run = this;
+            this.el = new Gtk.ImageMenuItem();
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.always_show_image = true;
+            this.el.label = "Run";
+            var child_0 = new Xcls_Image81( _this );
+            child_0.ref();
+            this.el.set_image (  child_0.el  );
+
+            //listeners
+            this.el.button_press_event.connect( () => {
+               if (_this.windowstate.file == null) {
+                       return true;
+               }
+               _this.windowstate.valasource.spawnExecute(_this.windowstate.file);
+               
+               _this.windowstate.compile_results.show(this.el,true);
+               
+               return true;
+            });
+        }
+
+        // user defined functions
+    }
+    public class Xcls_Image81 : Object
+    {
+        public Gtk.Image el;
+        private Xcls_MainWindow  _this;
+
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_Image81(Xcls_MainWindow _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Image();
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.icon_name = "media-playback-start";
+        }
+
+        // user defined functions
+    }
+
+