Htk.Widget = new Class ({ Extends: Vn.Object ,Properties: { class: { type: String ,set: function (x) { this.node.className = x +' '+ this.node.className; } ,get: function () { return this.node.className; } } } /** Main HTML node that represents the widget **/ ,node: null ,builder: null ,builderInit: function (path) { var builder = new Vn.Builder (); builder.signalData = this; builder.loadXml (path); var res = this.builder = builder.load (); this.node = res.$('main'); res.link (); } ,createElement: function (tagName) { this.node = document.createElement (tagName); return this.node; } ,getNode: function () { return this.node; } ,$: function (id) { if (this.builder) return this.builder.getById (id); return null; } ,remove: function () { Vn.Node.remove (this.node); } ,_destroy: function () { if (this.builder) this.builder.unref (); this.parent (); } });