+ load : function()
+ {
+ if (this._loaded) {
+ return; // already loaded..
+ }
+
+ if (this.parent) { // load up parents first
+ this.parent.load();
+ }
+ this.implementInterfaces.map(function(iface) {
+ iface.load();
+ });
+
+
+ //console.log("load(Class) " + this.alias);
+ // my props..
+ var props = [];
+ this.genericBuildList('object', 'property', props, 'properties');
+ this.genericBuildList('object', 'field', props, 'properties');
+
+ this.genericExtends( props, 'properties');
+ this.genericImplements( props, 'properties');
+
+ var signals = [];
+ this.genericBuildList('object', 'signal', signals, 'signals');
+ this.genericExtends( signals, 'signals');
+ this.genericImplements( signals, 'signals');
+
+
+ Introspect.references[this.alias] = Introspect.references[this.alias] || [];
+ if (this.alias == 'GObject.Object') {
+ this._loaded = true;
+ return;
+ }
+
+
+ this.constructors.push({
+ name : '', // not really...
+ params: this.properties.length ? [ { type : 'Object', be_null : true, name : 'properties' } ] : [],
+ returns : [],
+ isConstructor : true,
+ isStatic : false,
+ memberOf : this.alias,
+ exceptions : [],
+ // in theory..
+ desc : ''
+ });
+
+
+ var methods = [];
+ this.genericBuildList('object', 'method', methods, 'methods');
+ // dont inherit functiosn or consturctors...
+
+ this.genericExtends( methods, 'methods');
+ this.genericImplements( methods, 'methods');
+
+
+
+ //console.log("loaded(Class) " + this.alias);
+
+ this._loaded = true;