src/Palete/Palete.vala
[app.Builder.js] / src / Palete / VapiParser.vala
index 42200dd..0812d60 100644 (file)
@@ -46,6 +46,7 @@ namespace Palete {
                        if (parent == null) {
                                Gir.cache.set(element.name, (Gir)g);
                        } else {
+                               // we add it as a class of the package.. even though its a namespace..
                                parent.classes.set(element.name, g);
                        }
                        
@@ -62,6 +63,9 @@ namespace Palete {
                        foreach(var c in element.get_namespaces()) {
                                this.add_namespace(g, c);
                        }
+                       foreach(var c in element.get_methods()) {
+                               this.add_method(g, c);
+                       }
                        element.accept_children(this); // catch sub namespaces..
                        
                        
@@ -181,6 +185,7 @@ namespace Palete {
                        c.gparent = parent;
                        c.ns = parent.ns;
                        c.propertyof = parent.name;
+                       
                        c.type  = prop.property_type.data_type == null ? "" : prop.property_type.data_type.get_full_name();
                        parent.props.set(prop.name,c);
                        
@@ -256,18 +261,21 @@ namespace Palete {
                        cc.gparent = c;
                        cc.ns = c.ns;
                        c.paramset = cc;
-                       
+                       c.sig = "(";
                        
                        foreach(var p in params) {
                                if (p.name == null && !p.ellipsis) {
                                        continue;
                                }
-                               this.add_param(cc, p);
+                               var pp = this.add_param(cc, p);
+                               c.sig += (c.sig == "(" ? "" : ",");
+                               c.sig += " " + (pp.direction == "in" ? "" : pp.direction) + " " + pp.type + " " + pp.name;
                        }
+                       c.sig += (c.sig == "(" ? ")" : " )");
                        
                }
                
-               public void add_param(GirObject parent, Vala.Parameter pam)
+               public GirObject add_param(GirObject parent, Vala.Parameter pam)
                {
                        
                        var n = pam.name;
@@ -277,12 +285,26 @@ namespace Palete {
                        var c = new GirObject("Param",n);
                        c.gparent = parent;
                        c.ns = parent.ns;
+                       c.direction = "??";
+                       switch (pam.direction) {
+                               case Vala.ParameterDirection.IN:
+                                       c.direction = "in";
+                                       break;
+                               case Vala.ParameterDirection.OUT:
+                                       c.direction = "out";
+                                       break;
+                               case Vala.ParameterDirection.REF:
+                                       c.direction = "ref";
+                                       break;
+                       }
+                       
                        parent.params.add(c);
                        
                        if (!pam.ellipsis) {
                                c.type = pam.variable_type.data_type == null ? "" : pam.variable_type.data_type.get_full_name();
                        }
                        Gir.checkParamOverride(c); 
+                       return c;
                        
                }
                
@@ -294,8 +316,11 @@ namespace Palete {
                
                        context.experimental = false;
                        context.experimental_non_null = false;
-                       
-#if VALA_0_28
+#if VALA_0_32
+                       var ver=32;                     
+#elif VALA_0_30
+                       var ver=30;                     
+#elif VALA_0_28
                        var ver=28;
 #elif VALA_0_26        
                        var ver=26;
@@ -355,7 +380,13 @@ namespace Palete {
                        if (!context.add_external_package ("webkit2gtk-4.0")) {
                                context.add_external_package ("webkit2gtk-3.0");
                        }
+                       // these are supposed to be in the 'deps' file, but it's not getting read..
+                       context.add_external_package ("cogl-1.0");
+                       context.add_external_package ("json-glib-1.0");
                        context.add_external_package ("clutter-gtk-1.0");
+
+
+                   
                        context.add_external_package ("gdl-3.0");
                        context.add_external_package ("gtksourceview-3.0");
                        context.add_external_package ("vte-2.90"); //??? -- hopefullly that works..