src/Builder4/Editor.bjs
[app.Builder.js] / src / Palete / Roo.vala
index 60233b0..37d2d99 100644 (file)
@@ -88,7 +88,9 @@ namespace Palete {
                                var cls = new GirObject("class", key);  
                                cls.props = this.propsFromJSONArray("prop", value.get_object().get_array_member("props"),cls);
                                cls.signals = this.propsFromJSONArray("signal", value.get_object().get_array_member("events"),cls);
-                               cls.signals = this.propsFromJSONArray("method", value.get_object().get_array_member("methods"),cls);
+                               if (value.get_object().has_member("methods")) {
+                                       cls.methods = this.propsFromJSONArray("method", value.get_object().get_array_member("methods"),cls);
+                               }
                                
                                this.classes.set(key, cls);
                        });
@@ -228,7 +230,7 @@ namespace Palete {
                }
                public override  List<SourceCompletionItem> suggestComplete(
                                JsRender.JsRender file,
-                               JsRender.Node node,
+                               JsRender.Node? node,
                                string proptype, 
                                string key,
                                string complete_string
@@ -305,6 +307,9 @@ namespace Palete {
                                                        }
                                                        return ret;
                                                }
+                                               
+                                               
+                                               
                                                // check methods?? - we do not export that at present..
                                                return ret;      //no idea...
                                        }
@@ -358,9 +363,27 @@ namespace Palete {
                                }
                                print("matching property");
                                
+                               
+                               
+                               var citer = cls.methods.map_iterator();
+                               while (citer.next()) {
+                                       var prop = citer.get_value();
+                                       // does the name start with ...
+                                       if (parts[i].length > 0 && prop.name.index_of(parts[i],0) != 0) {
+                                               continue;
+                                       }
+                                       // got a matching property...
+                                       // return type?
+                                       ret.append(new SourceCompletionItem (
+                                                        prop.name + prop.sig + " :  ("+ prop.propertyof + ")", 
+                                                       prevbits + prop.name + "(", 
+                                                       null, 
+                                                       prop.doctxt));
+                               }
+                               
                                // get the properties / methods and subclasses.. of cls..
                                // we have cls.. - see if the string matches any of the properties..
-                               var citer = cls.props.map_iterator();
+                               citer = cls.props.map_iterator();
                                while (citer.next()) {
                                        var prop = citer.get_value();
                                        // does the name start with ...