Fix #7291 - depricated signals hide
authorAlan Knowles <alan@roojs.com>
Sun, 3 Jul 2022 02:39:36 +0000 (10:39 +0800)
committerAlan Knowles <alan@roojs.com>
Sun, 3 Jul 2022 02:39:36 +0000 (10:39 +0800)
src/Palete/Gtk.vala
src/Palete/VapiParser.vala

index 2458df2..fbd623f 100644 (file)
@@ -546,7 +546,7 @@ namespace Palete {
                                case JsRender.NodePropType.PROP:
                                        return this.filterProps(cls.props);
                                case JsRender.NodePropType.LISTENER:
-                                       return cls.signals;
+                                       return this.filterSignals(cls.signals);
                                case JsRender.NodePropType.METHOD:
                                        return cls.methods;
                                case JsRender.NodePropType.CTOR:  // needed to query the arguments of a ctor.
@@ -599,8 +599,32 @@ namespace Palete {
                
                
                }
+                               // get rid of depricated from signal list..
+               public Gee.HashMap<string,GirObject>  filterSignals(Gee.HashMap<string,GirObject> props)
+               {
+                       // we shold probably cache this??
+                       
+                       var outprops = new Gee.HashMap<string,GirObject>(); 
+                       
+                       foreach(var k in props.keys) {
+                               var val = props.get(k);
+                                
+                               if (val.is_deprecated) {
+                                       continue;
+                               }
+                               
+                               outprops.set(k,val);
+                                       
+                               // do nothing? - classes not allowed?
+                               
+                       }
+                       
+                       
+                       return outprops;
                
                
+               }
+               
                public string[] getInheritsFor(string ename)
                {
                        string[] ret = {};
index 12b73ac..8f0ec6b 100644 (file)
@@ -376,7 +376,10 @@ namespace Palete {
 #elif VALA_0_36
                        var dt  = sig.return_type.data_type;
 #endif                 
-                        
+                       if (sig.version.deprecated) { 
+                               GLib.debug("class %s is deprecated", c.name);
+                               c.is_deprecated = true;
+                       } 
                        
                        var retval = "";