var pname = GIRepository.base_info_get_namespace(pi) + '.' +
GIRepository.base_info_get_name(pi);
this.getPropertiesFor(pname, 'props');
-
+
+
elist.push.apply(elist,this.proplist[pname]['events']);
plist.push.apply(plist,this.proplist[pname]['props']);
ilist.push.apply(ilist,this.proplist[pname]['inherits']);
+ this.overrides(this.proplist[pname]['methods'], mlist);
+
+
}
// implements needs to be more carefull as it could add dupes..
}
this.getPropertiesFor(iface, 'props');
ilist.push(iface);
+
elist.push.apply(elist,this.proplist[iface]['events']);
plist.push.apply(plist,this.proplist[iface]['props']);
+ this.overrides(this.proplist[pname]['methods'], mlist);
}
function sfunc(a,b) {
if (a.name == b.name) return 0;
}
plist.sort(sfunc);
elist.sort(sfunc);
-
+ mlist.sort(sfunc);
return this.proplist[ename][type];
GIRepository.base_info_get_name(interface_info);
},
+
+ overrides : function (top, bottom)
+ {
+ function inTop(b)
+ {
+ return top.every(function(t) {
+ if (t.name == b.name) {
+ return false;
+ }
+ });
+ }
+ bottom.forEach(function(e) {
+ if (!inTop(e)) {
+ top.push(e);
+ }
+ }
+
+ }
+
/**
* guess type..
*