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')
Пример #2
0
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)