def __init__(self): super(TextFieldTextChangeEventExample, self).__init__() nameContainer = ExampleUtil.getNameContainer() filterField = TextField('Filter') filterField.setTextChangeEventMode(TextChangeEventMode.LAZY) filterField.setTextChangeTimeout(200) filterField.addListener(FilterListener(nameContainer), ITextChangeListener) table = Table(None, nameContainer) table.setColumnHeaderMode(Table.COLUMN_HEADER_MODE_HIDDEN) self.setSpacing(False) self.addComponent(filterField) self.addComponent(table) filterField.setWidth('150px') table.setWidth('150px')
class MuntjacTableView(MuntjacControl, AbstractTkTableView): """ A Muntjac implementation of TableView. See Also -------- TableView """ #: The underlying model. model_wrapper = None #-------------------------------------------------------------------------- # Setup methods #-------------------------------------------------------------------------- def create(self, parent): """ Create the underlying Table control. """ self.widget = Table() parent.addComponent(self.widget) def initialize(self): """ Initialize the widget with the attributes of this instance. """ super(MuntjacTableView, self).initialize() shell = self.shell_obj self.set_table_model(shell.item_model) self.set_vertical_header_vis(shell.vertical_header_visible) self.set_horizontal_header_vis(shell.horizontal_header_visible) #-------------------------------------------------------------------------- # Implementation #-------------------------------------------------------------------------- def shell_item_model_changed(self, item_model): """ The change handler for the 'item_model' attribute. """ self.set_table_model(item_model) def shell_vertical_header_visible_changed(self, visible): self.set_vertical_header_vis(visible) def shell_horizontal_header_visible_changed(self, visible): self.set_horizontal_header_vis(visible) def set_table_model(self, model): """ Set the table view's model. """ model_wrapper = AbstractItemModelWrapper(model) self.widget.setContainerDataSource(model_wrapper) self.model_wrapper = model_wrapper def set_vertical_header_vis(self, visible): if visible: self.widget.setRowHeaderMode(Table.ROW_HEADER_MODE_EXPLICIT) else: self.widget.setRowHeaderMode(Table.ROW_HEADER_MODE_HIDDEN) def set_horizontal_header_vis(self, visible): if visible: self.widget.setColumnHeaderMode(Table.COLUMN_HEADER_MODE_EXPLICIT) else: self.widget.setColumnHeaderMode(Table.COLUMN_HEADER_MODE_HIDDEN)