def testRemovingLastRow(self): grid = GridLayout(2, 1) grid.addComponent(Label('Col1')) grid.addComponent(Label('Col2')) try: # Removing the last row in the grid grid.removeRow(0) except ValueError: # Removing the last row should not throw a ValueError self.fail('removeRow(0) threw an ValueError ' 'when removing the last row') # The column amount should be preserved self.assertEquals(2, grid.getColumns()) # There should be one row left self.assertEquals(1, grid.getRows()) # There should be no component left in the grid layout self.assertEquals(grid.getComponent(0, 0), None, 'A component should not be left in the layout') self.assertEquals(grid.getComponent(1, 0), None, 'A component should not be left in the layout') # The cursor should be in the first cell self.assertEquals(0, grid.getCursorX()) self.assertEquals(0, grid.getCursorY())
def setUp(self): super(ComponentAttachDetachListenerTest, self).setUp() # General variables self._attachCounter = 0 self._attachedComponent = None self._attachTarget = None self._foundInContainer = False self._detachCounter = 0 self._detachedComponent = None self._detachedTarget = None # Ordered layout specific variables self._indexOfComponent = -1 # Grid layout specific variables self._componentArea = None # Absolute layout specific variables self._componentPosition = None self._olayout = HorizontalLayout() listener = MyAttachListener(self) self._olayout.addListener(listener, IComponentAttachListener) listener = MyDetachListener(self) self._olayout.addListener(listener, IComponentDetachListener) self._gridlayout = GridLayout() listener = MyAttachListener(self) self._gridlayout.addListener(listener, IComponentAttachListener) listener = MyDetachListener(self) self._gridlayout.addListener(listener, IComponentDetachListener) self._absolutelayout = AbsoluteLayout() listener = MyAttachListener(self) self._absolutelayout.addListener(listener, IComponentAttachListener) listener = MyDetachListener(self) self._absolutelayout.addListener(listener, IComponentDetachListener) self._csslayout = CssLayout() listener = MyAttachListener(self) self._csslayout.addListener(listener, IComponentAttachListener) listener = MyDetachListener(self) self._csslayout.addListener(listener, IComponentDetachListener)
def init(self): # This is called whenever a colorpicker popup is closed main = Window() main.setWidth('1000px') self.setMainWindow(main) # Create an instance of the preview and add it to the window # self._display = Embedded('Color preview') self._display = Canvas() self._display.setWidth('270px') self._display.setHeight('270px') # Add the foreground and background colorpickers to a layout self._mainLayout = mainLayout = HorizontalLayout() mainLayout.setMargin(True) mainLayout.setSpacing(True) main.setContent(mainLayout) layout = VerticalLayout() layout.setWidth('450px') layout.setSpacing(True) optPanel = Panel('Customize the color picker popup window', GridLayout(3, 2)) optPanel.getContent().setSizeFull() optPanel.getContent().setMargin(True) optPanel.getContent().setSpacing(True) self._rgbBox.addListener(RgbClickListener(self), IClickListener) self._rgbBox.setValue(self._rgbVisible) self._rgbBox.setImmediate(True) optPanel.getContent().addComponent(self._rgbBox) self._hsvBox.addListener(HsvClickListener(self), IClickListener) self._hsvBox.setValue(self._hsvVisible) self._hsvBox.setImmediate(True) optPanel.getContent().addComponent(self._hsvBox) self._swaBox.addListener(SwaClickListener(self), IClickListener) self._swaBox.setValue(self._swaVisible) self._swaBox.setImmediate(True) optPanel.getContent().addComponent(self._swaBox) self._hisBox.addListener(HisClickListener(self), IClickListener) self._hisBox.setValue(self._historyVisible) self._hisBox.setImmediate(True) optPanel.getContent().addComponent(self._hisBox) self._txtBox.addListener(TxtClickListener(self), IClickListener) self._txtBox.setValue(self._txtfieldVisible) self._txtBox.setImmediate(True) optPanel.getContent().addComponent(self._txtBox) layout.addComponent(optPanel) panel1 = Panel( 'Button like colorpicker with current color and CSS code', HorizontalLayout()) panel1.getContent().setSizeFull() panel1.getContent().setMargin(True) self._colorpicker1 = ColorPicker('Foreground', self._foregroundColor) self._colorpicker1.setWidth('100px') self._colorpicker1.addListener(self) panel1.addComponent(self._colorpicker1) panel1.getContent().setComponentAlignment(self._colorpicker1, Alignment.MIDDLE_CENTER) self._colorpicker2 = ColorPicker('Background', self._backgroundColor) self._colorpicker2.addListener(self) self._colorpicker2.setWidth('100px') panel1.addComponent(self._colorpicker2) panel1.getContent().setComponentAlignment(self._colorpicker2, Alignment.MIDDLE_CENTER) layout.addComponent(panel1) panel2 = Panel( 'Button like colorpicker with current color and custom caption', HorizontalLayout()) panel2.getContent().setSizeFull() panel2.getContent().setMargin(True) self._colorpicker3 = ColorPicker('Foreground', self._foregroundColor) self._colorpicker3.addListener(self) self._colorpicker3.setWidth('120px') self._colorpicker3.setButtonCaption('Foreground') panel2.addComponent(self._colorpicker3) panel2.getContent().setComponentAlignment(self._colorpicker3, Alignment.MIDDLE_CENTER) self._colorpicker4 = ColorPicker('Background', self._backgroundColor) self._colorpicker4.addListener(self) self._colorpicker4.setWidth('120px') self._colorpicker4.setButtonCaption('Background') panel2.addComponent(self._colorpicker4) panel2.getContent().setComponentAlignment(self._colorpicker4, Alignment.MIDDLE_CENTER) layout.addComponent(panel2) panel3 = Panel('Color area color picker with caption', HorizontalLayout()) panel3.getContent().setSizeFull() panel3.getContent().setMargin(True) self._colorpicker5 = ColorPicker('Foreground', self._foregroundColor) self._colorpicker5.setCaption('Foreground') self._colorpicker5.addListener(self) self._colorpicker5.setButtonStyle(ButtonStyle.BUTTON_AREA) panel3.addComponent(self._colorpicker5) panel3.getContent().setComponentAlignment(self._colorpicker5, Alignment.MIDDLE_CENTER) self._colorpicker6 = ColorPicker('Background', self._backgroundColor) self._colorpicker6.setCaption('Background') self._colorpicker6.addListener(self) self._colorpicker6.setButtonStyle(ButtonStyle.BUTTON_AREA) panel3.addComponent(self._colorpicker6) panel3.getContent().setComponentAlignment(self._colorpicker6, Alignment.MIDDLE_CENTER) layout.addComponent(panel3) mainLayout.addComponent(layout) mainLayout.addComponent(self._display) self.updateDisplay(self._foregroundColor, self._backgroundColor)