this.methods = methods;
this.allmethods = methods;
this.implementations = implementations;
- print(JSON.stringify(methods,null,4)); Seed.exit();
+ //print(JSON.stringify(methods,null,4)); Seed.exit();
// dump out a usage file..
-
+ function verifyUsageMethod(parent,child,method)
+ {
+ // currently only verifies add on container.
+ if (method !='Gtk.Container:add') {
+ return true;
+ }
+ var cls = parent.split('.').pop();
+ var x = new imports.gi.Gtk[cls]();
+ print(parent + " : says children are of type : " + x.child_type());
+ return true;
+
+ }
function is_a(cls, instance_of) {
return methods[cls].extendsClasses.indexOf(instance_of) > -1;
function verifyUsage(parent,child)
{
// find all the methods that child can be added to parent.
- var methods = methods[parent].can_contain_using;
- for(var i =0;i<methods.length;i++) {
- var m = methods[i].split(':');
+ var mts = methods[parent].can_contain_using;
+ for(var i =0;i<mts.length;i++) {
+ var m = mts[i].split(':');
if (!is_a(child,m[0])) {
continue;
}
- if (verifyUsageMethod(parent,child,m[1])) {
+ if (verifyUsageMethod(parent,child,mts[i])) {
return true;
}
}
usage[par] = [];
}
- verifyUsage(par,cls);
+ if (!verifyUsage(par,cls)) {
+ continue;
+ }
usage[par].pushUnique(cls);
if (typeof(tops[cls]) == 'undefined') {
//print(JSON.stringify(implementations,null,4));
}
+imports.gi.Gtk.init(Seed.argv);
BuildLists();
// we now have a list of classes / methods that can be used..