resources/Editors/Editor.Roo.grid.Grid.bjs
[app.Builder.js] / src / Builder4 / WindowState.vala
index 948d412..359677b 100644 (file)
@@ -38,36 +38,44 @@ public class WindowState : Object
     public Xcls_ClutterFiles     clutterfiles;
 
     public Xcls_WindowLeftProjects left_projects; // can not see where this is initialized.. 
+    
+    public DialogTemplateSelect template_select; 
+    
+    // dialogs??
+    public Xcls_DialogPluginWebkit webkit_plugin;
+    
     // ctor 
     public WindowState(Xcls_MainWindow win)
     {
-        this.win = win;
-        // initialize
-
-        // left elements..
-        this.leftTreeInit();
-        this.propsListInit();
-
-        // on clutter space...
-        this.projectEditInit();
-        this.codeEditInit();
-        this.projectListInit();
-        this.fileViewInit();
-        
-        // adding stuff
-        this.objectAddInit();
-        this.propsAddInit();
-     
-        
-        // previews...
-        this.gtkViewInit();
-        this.webkitViewInit();
+               this.win = win;
+               // initialize
+
+               // left elements..
+               this.leftTreeInit();
+               this.propsListInit();
+
+               // on clutter space...
+               this.projectEditInit();
+               this.codeEditInit();
+               this.projectListInit();
+               this.fileViewInit();
 
-        // dialogs
+               // adding stuff
+               this.objectAddInit();
+               this.propsAddInit();
 
-        this.fileNewInit();
 
-        this.children_loaded = true;
+               // previews...
+               this.gtkViewInit();
+               this.webkitViewInit();
+
+               // dialogs
+
+               this.fileNewInit();
+
+               this.webkit_plugin = new Xcls_DialogPluginWebkit();
+               this.template_select = new DialogTemplateSelect();
+               this.children_loaded = true;
     }
 
 
@@ -439,17 +447,32 @@ public class WindowState : Object
         this.window_gladeview  =new Xcls_GtkView();
         this.window_gladeview.ref();
     }
-
-    public void switchState(State new_state)
+    
+    public void easingSaveAll()
     {
-        
-        // save the easing state of everything..
         this.win.addpropsview.el.save_easing_state();
         this.win.codeeditview.el.save_easing_state();
         this.win.objectview.el.save_easing_state();
         this.win.projecteditview.el.save_easing_state();
         this.win.rooview.el.save_easing_state();
         this.clutterfiles.el.save_easing_state();
+         
+    }
+    public void easingRestoreAll()
+    {
+        this.win.addpropsview.el.restore_easing_state();
+        this.win.codeeditview.el.restore_easing_state();
+        this.win.objectview.el.restore_easing_state();
+        this.win.projecteditview.el.restore_easing_state();
+        this.win.rooview.el.restore_easing_state();
+        this.clutterfiles.el.restore_easing_state();
+        
+    }
+    public void switchState(State new_state)
+    {
+        
+        // save the easing state of everything..
+        this.easingSaveAll();
         
         switch (this.state) {
 
@@ -470,8 +493,7 @@ public class WindowState : Object
            case State.PROP:
                 
                 this.win.addpropsview.el.set_scale(0.0f,0.0f);
-                this.win.addpropsview.el.restore_easing_state();   
-                break;
+                 break;
                 
             case State.CODE:
 
@@ -479,21 +501,21 @@ public class WindowState : Object
                 this.code_editor.saveContents();
               
                 this.win.codeeditview.el.set_scale(0.0f,0.0f);
-                this.win.codeeditview.el.restore_easing_state();    
-                break;
+                 break;
 
 
              case State.OBJECT:
                
                 this.win.objectview.el.set_scale(0.0f,0.0f);
-                this.win.objectview.el.restore_easing_state();    
-                break;
+                 break;
 
            case State.PROJECT:
+                if (this.win.project.xtype == "Gtk") {
+                    this.vala_projectsettings.save();
+                } 
                 
                 this.win.projecteditview.el.set_scale(0.0f,0.0f);
-                this.win.projecteditview.el.restore_easing_state();    
-                break;
+                 break;
 
           case State.FILES:
                 // hide files...
@@ -504,15 +526,14 @@ public class WindowState : Object
                 this.win.rooview.el.set_scale(1.0f,1.0f);
                 this.win.rooview.el.set_pivot_point(0.5f,0.5f);
                 this.win.rooview.el.set_opacity(0xff);
-                this.win.rooview.el.restore_easing_state();  
+               
                 
                
                  this.clutterfiles.el.set_easing_duration(1000);
                 this.clutterfiles.el.set_pivot_point(0.5f,0.5f);
                 this.clutterfiles.el.set_rotation_angle(Clutter.RotateAxis.Y_AXIS, -180.0f);
                 this.clutterfiles.el.set_opacity(0);
-                this.clutterfiles.el.restore_easing_state();  
-
                 //this.clutterfiles.el.hide();
                  
 
@@ -520,13 +541,15 @@ public class WindowState : Object
 
                 
         }
-        this.resizeCanvasElements();
+       
         var oldstate  =this.state;
         this.state = new_state;
-
+        
+        
                 
         this.buttonsShowHide();
         
+        
         switch (this.state) {
             
             case State.PREVIEW:  // this is the default state when working...
@@ -538,10 +561,8 @@ public class WindowState : Object
                     // it's handled above..
                     print ("changing state to preview from NOT files..");
                      
-                    this.resizeCanvasElements();
-
                     this.win.rooview.el.set_scale(1.0f,1.0f);
-                    this.win.rooview.el.restore_easing_state();
                  }
                
                 break;
@@ -554,6 +575,8 @@ public class WindowState : Object
                 if (ae == null) {
                     this.state = oldstate;
                     this.buttonsShowHide();
+                    this.resizeCanvasElements();
+                    this.easingRestoreAll();
                     return;
                 }
                 this.add_props.el.show_all();
@@ -567,16 +590,11 @@ public class WindowState : Object
  
                 
                 // -- FIXME? this needs to be State aware?
-                this.resizeCanvasElements();
-        
+         
                 this.win.rooview.el.set_pivot_point(1.0f,0.5f);
-                this.win.rooview.el.restore_easing_state();
-                
-              
-                
+                  
                 this.win.addpropsview.el.set_scale(1.0f,1.0f);
-                this.win.addpropsview.el.restore_easing_state();
-                break;
+                 break;
            
             case State.OBJECT:
                  var n = this.left_tree.getActiveElement();
@@ -584,12 +602,16 @@ public class WindowState : Object
                 if (this.left_tree.model.file == null) {
                     this.state =oldstate;
                     this.buttonsShowHide();
+                    this.resizeCanvasElements();
+                    this.easingRestoreAll();
                     return;
                 }
                 
                 if (n == null && this.left_tree.model.file.tree != null) {
                     this.state = oldstate;
                     this.buttonsShowHide();
+                    this.resizeCanvasElements();
+                    this.easingRestoreAll();
                     return;
                 }
 
@@ -597,13 +619,10 @@ public class WindowState : Object
                 this.rightpalete.load(this.left_tree.getActiveFile().palete(), n == null ? "*top" : n.fqn());
 
                 
-               // this.resizeCanvasElements();
-                this.win.rooview.el.restore_easing_state();
-
-                
+              
             
                 this.win.objectview.el.set_scale(1.0f,1.0f);
-                this.win.objectview.el.restore_easing_state();    
+                 
                 break;
               
               
@@ -612,20 +631,16 @@ public class WindowState : Object
                 this.code_editor.el.show_all();
                 
                 // caller needs to call editor - show....
-                 //this.resizeCanvasElements();
-                this.win.rooview.el.restore_easing_state();
-                
+                  
  
-                this.win.codeeditview.el.save_easing_state();
-                this.win.codeeditview.el.set_scale(1.0f,1.0f);
-                this.win.codeeditview.el.restore_easing_state();    
-                break;
+                 this.win.codeeditview.el.set_scale(1.0f,1.0f);
+                 break;
 
 
 
            case State.PROJECT:
 
-             if (this.win.project.xtype == "Roo") {
+               if (this.win.project.xtype == "Roo") {
                     this.projectsettings.el.show_all();
                     this.projectsettings.show(this.win.project);
                 } else {
@@ -633,12 +648,11 @@ public class WindowState : Object
                     this.vala_projectsettings.show((Project.Gtk)this.win.project);
                 }
 
+                this.win.rooview.el.set_pivot_point(1.0f,1.0f); // bottom right..
                 
-                this.resizeCanvasElements();
                 this.win.projecteditview.el.set_scale(1.0f,1.0f);
                 
-                this.win.projecteditview.el.restore_easing_state();
-                this.win.rooview.el.restore_easing_state();
+               
                 break;
                 
            case State.FILES:  // can only get here from PREVIEW state.. in theory..
@@ -659,22 +673,23 @@ public class WindowState : Object
                     this.left_projects.selectProject(this.win.project);
                 }
              
-                this.win.rooview.el.restore_easing_state();
                 
                 this.clutterfiles.el.show_all();
-                this.clutterfiles.el.save_easing_state();
+                 
                 this.clutterfiles.el.set_easing_duration(1000);
                 this.clutterfiles.el.set_pivot_point(0.5f,0.5f);
                 this.clutterfiles.el.set_rotation_angle(Clutter.RotateAxis.Y_AXIS, 0.0f);
                 this.clutterfiles.el.set_opacity(0xff);
-                this.clutterfiles.el.restore_easing_state();  
+                
                 
                 
                 break;
 
 
         }
-
+        this.resizeCanvasElements();
+        this.easingRestoreAll();
+        
             
     }
     
@@ -747,7 +762,8 @@ public class WindowState : Object
                 this.win.projecteditview.el.set_size(alloc.width-50, alloc.height / 2.0f);
                
                // this.win.rooview.el.save_easing_state();
-                this.win.rooview.el.set_size(alloc.width / 2.0f, alloc.height / 2.0f);
+                //this.win.rooview.el.set_size(alloc.width / 2.0f, alloc.height / 2.0f);
+                this.win.rooview.el.set_scale(0.5f, 0.5f);
                 //this.win.rooview.el.restore_easing_state();
                 break;
 
@@ -800,7 +816,7 @@ public class WindowState : Object
         this.win.addfilebutton.el.hide();
         this.win.delprojectbutton.el.hide();
         this.win.new_window.el.hide();
-
+        this.win.reload_resources.el.hide();
         
         switch (this.state) {
             
@@ -841,6 +857,7 @@ public class WindowState : Object
                 this.win.addfilebutton.el.show();
                 this.win.delprojectbutton.el.show();
                 this.win.new_window.el.show();
+                this.win.reload_resources.el.show();
                 break;
         }