src/Builder4/WindowRooView.bjs
[app.Builder.js] / src / Builder4 / WindowRooView.vala
index 4fa2fa3..35bb941 100644 (file)
@@ -1072,17 +1072,17 @@ public class Xcls_WindowRooView : Object
                                var kv = prop.split(":");
                                if (kv[0] == "p") {
                                
-                                       var k = prop.get_key(kv[1]);
+                                       //var k = prop.get_key(kv[1]);
                                        // fixme -- need to determine if it's an editable property...
                                        this.propSelected = prop;
                                        
-                               } elseif (kv[0] == "l") {
+                               } else if (kv[0] == "l") {
                                         this.propSelected = prop;
                                        
                                }
                     }
+                    ltree.view.setCursor(tp, "editor");
                     
-                   ltree.view.el.set_cursor(new Gtk.TreePath.from_string(tp), null, false); 
                    
                     
                     // scrolling is disabled... as node selection calls scroll 10ms after it changes.
@@ -1141,11 +1141,21 @@ public class Xcls_WindowRooView : Object
                this.el.scroll_to_iter(iter,  0.1f, true, 0.0f, 0.5f);
                }
             
-            var start = sel.line_start;
-            var end = sel.line_end;
+            var start_line = sel.line_start;
+            var end_line = sel.line_end;
             
+            
+            this.el.editable = false;
             // now if we have selected a property...
             if (this.propSelected.length> 0 ) {
+        
+                       int nstart, nend;
+                       if (sel.getPropertyRange(this.propSelected, out nstart, out nend) && nend > nstart) {
+                               start_line = nstart;
+                               end_line = nend;
+                               this.el.editable = true;
+                       }
+                       print("propSelected = %s range  %d -> %d\n", this.propSelected, nstart, nend);          
                        
                        
             }
@@ -1153,7 +1163,7 @@ public class Xcls_WindowRooView : Object
             
             
             for (var i = 0; i < buf.get_line_count();i++) {
-                if (i < (start -1) || i > (end -1)) {
+                if (i < (start_line -1) || i > (end_line -1)) {
                    
                     sbuf.get_iter_at_line(out iter, i);
                     sbuf.create_source_mark(null, "grey", iter);