Uncommited changes synced
authorAlan Knowles <alan@roojs.com>
Tue, 17 Aug 2021 10:06:17 +0000 (18:06 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 17 Aug 2021 10:06:17 +0000 (18:06 +0800)
src/Palete/GirObject.vala
src/Palete/Roo.vala

index 3fd7dc3..a1a4ce7 100644 (file)
@@ -44,6 +44,7 @@ namespace Palete {
                public  GirObject gparent;
                public Gee.ArrayList<GirObject> params;
                public Gee.ArrayList<string> implements;
+               public Gee.ArrayList<string> implementations;
                public Gee.ArrayList<string> inherits; // full list of all classes and interfaces...
                public Gee.HashMap<string,GirObject> ctors;
                public Gee.HashMap<string,GirObject> methods;
@@ -81,6 +82,7 @@ namespace Palete {
                        this.gparent = null;
                        
                        this.implements = new Gee.ArrayList<string>();
+                       this.implementations  = new Gee.ArrayList<string>();
                        this.inherits  = new Gee.ArrayList<string>(); // list of all ancestors. (interfaces and parents)
                        this.includes   = new Gee.HashMap<string,string>();
 
index b23d662..1ee5172 100644 (file)
@@ -139,6 +139,13 @@ namespace Palete {
                                                var prop_type = classes.get(gir_obj.type);
                                                foreach(var imp_str in prop_type.implementations) {
                                                        cls.valid_cn.add(imp_str+ ":" +    gir_obj.name);
+                                                       if (!add_to.has_key(imp_str)) {
+                                                               add_to.set( imp_str, new Gee.ArrayList<string>());
+                                                       }
+                                                       if (!add_to.get( imp_str).contains(cls.name)) {
+                                                               add_to.get( imp_str ).add(cls.name );
+                                                       }
+                                                       
                                                }
                                                
                                                
@@ -491,7 +498,7 @@ namespace Palete {
                foreach(var str in ar) {
                        ret += str;
                } 
-               
+               GLib.debug("getChildList for %s returns %s", in_rval, string.join(", ", ret));
                return ret;     
                
                //return this.original_getChildList(  in_rval);