src/Builder4/WindowState.vala
[app.Builder.js] / src / Builder4 / WindowState.vala
index e2d37f8..08dd43b 100644 (file)
@@ -93,15 +93,9 @@ public class WindowState : Object
                this.template_select = new DialogTemplateSelect();
                this.children_loaded = true;
                
-               this.left_tree.node_selected.connect((sel) => {
-                       if (this.file.xtype == "Roo") { 
-                               this.window_rooview.sourceview.nodeSelected(sel);                       
-                       } else {
-                               this.window_gladeview.sourceview.nodeSelected(sel);
-                       }
-               });
+               
                this.valasource = new Palete.ValaSource();
-               this.valasource.compiled.connect(this.valaCompiled);
+               this.valasource.compiled.connect(this.showCompileResult);
                
                this.compile_results = new  Xcls_ValaCompileResults();
                this.compile_results.window = this.win;
@@ -126,16 +120,31 @@ public class WindowState : Object
                this.left_tree.el.show_all();
                   
                this.left_tree.before_node_change.connect(() => {
+                       // if the node change is caused by the editor (code preview)
+                       if (this.left_tree.view.lastEventSource == "editor") {
+                               return true;
+                       }
                        return this.leftTreeBeforeChange();
 
                });
-
-               this.left_tree.node_selected.connect((sel) => {
-                       this.leftTreeNodeSelected(sel);
+               
+               this.left_tree.node_selected.connect((sel, source) => {
+                       if (source == "editor") {
+                               return;
+                       }
+                       if (this.file.xtype == "Roo") { 
+                               this.window_rooview.sourceview.nodeSelected(sel,true); // foce scroll.
+                       } else {
+                               this.window_gladeview.sourceview.nodeSelected(sel);
+                       }
+               });
+               
+               this.left_tree.node_selected.connect((sel, source) => {
+                       this.leftTreeNodeSelected(sel, source);
                });
         
                this.left_tree.changed.connect(() => {
-                       
+                       print("LEFT TREE: Changed fired\n");
                        this.file.save();
                        if (this.left_tree.getActiveFile().xtype == "Roo" ) {
                                   this.window_rooview.requestRedraw();
@@ -159,7 +168,7 @@ public class WindowState : Object
                return false;
        }
        
-       public void leftTreeNodeSelected(JsRender.Node? sel)
+       public void leftTreeNodeSelected(JsRender.Node? sel, string source)
        {
 
                print("node_selected called %s\n", (sel == null) ? "NULL" : "a value");
@@ -503,6 +512,7 @@ public class WindowState : Object
                         
 
        }
        // our project properties is different for Roo and Gtk
        // it would be better to change the above code to use this, 
        public void attachProjectSettings() {
@@ -519,9 +529,16 @@ public class WindowState : Object
                        ctr_p.add(this.vala_projectsettings.el);
                        this.vala_projectsettings.el.show_all();
                }
-       
-       
+    }
+        /*
+       public void fileViewOpenPlain(string fname)
+       {
+               
+               this.switchState (State.CODEONLY); 
+               this.code_editor.showPlainFile(fname);
        }
+ */
+        
        // ---------  webkit view
        public void webkitViewInit()
        {
@@ -1118,7 +1135,7 @@ public class WindowState : Object
        }
        
        
-       public void valaCompiled(Json.Object obj)
+       public void showCompileResult(Json.Object obj)
                {
                        // vala has finished compiling...
                        print("vala compiled");