class ProgressIndicatorsExample(VerticalLayout): def __init__(self): super(ProgressIndicatorsExample, self).__init__() self.setSpacing(True) self.addComponent(Label('<strong>Normal mode</strong> ' 'Runs for 20 seconds', Label.CONTENT_XHTML)) hl = HorizontalLayout() hl.setSpacing(True) self.addComponent(hl) # Add a normal progress indicator self._pi1 = ProgressIndicator() self._pi1.setIndeterminate(False) self._pi1.setEnabled(False) hl.addComponent(self._pi1) hl.setComponentAlignment(self._pi1, Alignment.MIDDLE_LEFT) self._startButton1 = Button('Start normal', NormalListener(self)) self._startButton1.setStyleName('small') hl.addComponent(self._startButton1) self.addComponent(Label('<strong>Indeterminate mode</strong> ' 'Runs for 10 seconds', Label.CONTENT_XHTML)) hl = HorizontalLayout() hl.setSpacing(True) self.addComponent(hl) # Add an indeterminate progress indicator self._pi2 = ProgressIndicator() self._pi2.setIndeterminate(True) self._pi2.setPollingInterval(5000) self._pi2.setEnabled(False) hl.addComponent(self._pi2) l = IndeterminateListener(self) self._startButton2 = Button('Start indeterminate', l) self._startButton2.setStyleName('small') hl.addComponent(self._startButton2) def prosessed(self): i = self._worker1.getCurrent() if i == Worker1.MAX: self._pi1.setEnabled(False) self._startButton1.setEnabled(True) self._pi1.setValue(1.0) else: self._pi1.setValue(i / self.Worker1.MAX) def prosessed2(self): self._pi2.setEnabled(False) self._startButton2.setEnabled(True)
class ProgressIndicatorsExample(VerticalLayout): def __init__(self): super(ProgressIndicatorsExample, self).__init__() self.setSpacing(True) self.addComponent( Label('<strong>Normal mode</strong> ' 'Runs for 20 seconds', Label.CONTENT_XHTML)) hl = HorizontalLayout() hl.setSpacing(True) self.addComponent(hl) # Add a normal progress indicator self._pi1 = ProgressIndicator() self._pi1.setIndeterminate(False) self._pi1.setEnabled(False) hl.addComponent(self._pi1) hl.setComponentAlignment(self._pi1, Alignment.MIDDLE_LEFT) self._startButton1 = Button('Start normal', NormalListener(self)) self._startButton1.setStyleName('small') hl.addComponent(self._startButton1) self.addComponent( Label('<strong>Indeterminate mode</strong> ' 'Runs for 10 seconds', Label.CONTENT_XHTML)) hl = HorizontalLayout() hl.setSpacing(True) self.addComponent(hl) # Add an indeterminate progress indicator self._pi2 = ProgressIndicator() self._pi2.setIndeterminate(True) self._pi2.setPollingInterval(5000) self._pi2.setEnabled(False) hl.addComponent(self._pi2) l = IndeterminateListener(self) self._startButton2 = Button('Start indeterminate', l) self._startButton2.setStyleName('small') hl.addComponent(self._startButton2) def prosessed(self): i = self._worker1.getCurrent() if i == Worker1.MAX: self._pi1.setEnabled(False) self._startButton1.setEnabled(True) self._pi1.setValue(1.0) else: self._pi1.setValue(i / self.Worker1.MAX) def prosessed2(self): self._pi2.setEnabled(False) self._startButton2.setEnabled(True)
def add_button ( self, action, bbox, method=None, enabled=True, name=None, default=False ): """ Creates a button. """ ui = self.ui if ((action.defined_when != '') and (not ui.eval_when( action.defined_when ))): return None if name is None: name = action.name id = action.id button = Button( str(name) ) bbox.addComponent(button) bbox.setComponentAlignment(button, Alignment.MIDDLE_RIGHT) if default: button.focus() button.setEnabled(enabled) if (method is None) or (action.enabled_when != '') or (id != ''): editor = ButtonEditor( ui = ui, action = action, control = button ) if id != '': ui.info.bind( id, editor ) if action.visible_when != '': ui.add_visible( action.visible_when, editor ) if action.enabled_when != '': ui.add_enabled( action.enabled_when, editor ) if method is None: method = editor.perform if method is not None: button.addCallback(method, ClickEvent) if action.tooltip != '': button.setDescription(action.tooltip) return button
class TreeMultiSelectExample(VerticalLayout, action.IHandler): _ACTION_ADD = Action('Add child item') _ACTION_DELETE = Action('Delete') _ACTIONS = [_ACTION_ADD, _ACTION_DELETE] def __init__(self): super(TreeMultiSelectExample, self).__init__() self.setSpacing(True) # Create new Tree object using a hierarchical container from # ExampleUtil class self._tree = Tree('Hardware Inventory', ExampleUtil.getHardwareContainer()) # Set multiselect mode self._tree.setMultiSelect(True) self._tree.setImmediate(True) self._tree.addListener(TreeListener(self), IValueChangeListener) # Add Actionhandler self._tree.addActionHandler(self) # Set tree to show the 'name' property as caption for items self._tree.setItemCaptionPropertyId(ExampleUtil.hw_PROPERTY_NAME) self._tree.setItemCaptionMode( AbstractSelect.ITEM_CAPTION_MODE_PROPERTY) # Expand whole tree for idd in self._tree.rootItemIds(): self._tree.expandItemsRecursively(idd) # Create the 'delete button', inline click-listener self._deleteButton = Button('Delete', DeleteListener(self)) self._deleteButton.setEnabled(False) self.addComponent(self._deleteButton) self.addComponent(self._tree) # Returns the set of available actions def getActions(self, target, sender): return self._ACTIONS # Handle actions def handleAction(self, a, sender, target): if a == self._ACTION_ADD: # Allow children for the target item self._tree.setChildrenAllowed(target, True) # Create new item, disallow children, add name, set parent itemId = self._tree.addItem() self._tree.setChildrenAllowed(itemId, False) newItemName = 'New Item # %d' % itemId item = self._tree.getItem(itemId) p = item.getItemProperty(ExampleUtil.hw_PROPERTY_NAME) p.setValue(newItemName) self._tree.setParent(itemId, target) self._tree.expandItem(target) elif a == self._ACTION_DELETE: parent = self._tree.getParent(target) self._tree.removeItem(target) # If the deleted object's parent has no more children, set it's # childrenallowed property to false if parent is not None and len(self._tree.getChildren(parent)) == 0: self._tree.setChildrenAllowed(parent, False)
class TreeMultiSelectExample(VerticalLayout, action.IHandler): _ACTION_ADD = Action('Add child item') _ACTION_DELETE = Action('Delete') _ACTIONS = [_ACTION_ADD, _ACTION_DELETE] def __init__(self): super(TreeMultiSelectExample, self).__init__() self.setSpacing(True) # Create new Tree object using a hierarchical container from # ExampleUtil class self._tree = Tree('Hardware Inventory', ExampleUtil.getHardwareContainer()) # Set multiselect mode self._tree.setMultiSelect(True) self._tree.setImmediate(True) self._tree.addListener(TreeListener(self), IValueChangeListener) # Add Actionhandler self._tree.addActionHandler(self) # Set tree to show the 'name' property as caption for items self._tree.setItemCaptionPropertyId(ExampleUtil.hw_PROPERTY_NAME) self._tree.setItemCaptionMode(AbstractSelect.ITEM_CAPTION_MODE_PROPERTY) # Expand whole tree for idd in self._tree.rootItemIds(): self._tree.expandItemsRecursively(idd) # Create the 'delete button', inline click-listener self._deleteButton = Button('Delete', DeleteListener(self)) self._deleteButton.setEnabled(False) self.addComponent(self._deleteButton) self.addComponent(self._tree) # Returns the set of available actions def getActions(self, target, sender): return self._ACTIONS # Handle actions def handleAction(self, a, sender, target): if a == self._ACTION_ADD: # Allow children for the target item self._tree.setChildrenAllowed(target, True) # Create new item, disallow children, add name, set parent itemId = self._tree.addItem() self._tree.setChildrenAllowed(itemId, False) newItemName = 'New Item # %d' % itemId item = self._tree.getItem(itemId) p = item.getItemProperty(ExampleUtil.hw_PROPERTY_NAME) p.setValue(newItemName) self._tree.setParent(itemId, target) self._tree.expandItem(target) elif a == self._ACTION_DELETE: parent = self._tree.getParent(target) self._tree.removeItem(target) # If the deleted object's parent has no more children, set it's # childrenallowed property to false if parent is not None and len(self._tree.getChildren(parent)) == 0: self._tree.setChildrenAllowed(parent, False)