/** This class defines the data structure and operations required to handle a component's * slots. */ Base.Comp.Slot = Base.inherits({ /** The constructor generates a new slot bound to a specified component. * @param name the slot's name * @param component the component instance to which this slot belongs */ constructor: function (name, component) { this.id = ++Base.Comp.Slot.lId; this.name = name; this.component = component; this.events = new Base.Util.Hashtable(); }, /** This method calls the component's method for the slot the current instance * represents. * @param a an array containing the parameters to be passed to the * component's method. */ call: function(a) { this.component[this.name].apply(this.component, a); }, /** This method destroys a slot. */ destroy: function () { var k = this.events.keys(), i; for (i=0;i