var Entry = require ('./entry'); var ColumnRadio = require ('../column/radio'); module.exports = new Class ({ Extends: Entry ,Tag: 'htk-table' ,initialize: function (props) { var tv = new Htk.TreeView (); this.node.appendChild (tv.getNode ()); var renderer = new ColumnRadio (); tv.appendColumn (0, renderer, ''); var rbGroup = renderer.rbGroup; rbGroup.addSignal ('changed', this.changed, this); this.treeview = tv; this.rbGroup = rbGroup; this.parent (props); } ,setModel: function (model) { this.treeview.setModel (model); model.addSignal ('status-changed', this.modelRefresh, this); this.selectValue (); } ,changed: function (rbGroup) { this.realValue = this.rbGroup.getValue (); this.signalEmit ('changed'); } ,selectValue: function () { this.rbGroup.setValue (this.realValue); } ,setRealValue: function () { this.selectValue (); } ,modelRefresh: function (model, status) { if (status == Db.Model.Status.READY) this.selectValue (); } ,setEditable: function (editable) { this.rbGroup.setEditable (editable); } });