def init(self): mainWindow = Window("Color Picker Demo Application") label = Label("Hello Muntjac user") mainWindow.addComponent(label) self.setMainWindow(mainWindow) # Create the color picker cp = ColorPicker("Our ColorPicker", Color.RED) mainWindow.addComponent(cp) # Set the button caption cp.setButtonCaption("Our color")
def init ( self, parent ): """ Finishes initializing the editor by creating the underlying toolkit widget. """ color = self.factory.to_muntjac_color(self) self.control = ColorPicker(initialColor=color) self.control.setButtonStyle(ButtonStyle.BUTTON_AREA) self.control.setSizeFull() self.control.addCallback(self.update_object, ColorChangeEvent)
class ColorPickerApplication(Application, IColorChangeListener): """Testing application for the ColorPicker. @author: John Ahlroos / ITMill Oy Ltd 2010 @author: Richard Lincoln """ _VERSION = '@VERSION@' def __init__(self): super(ColorPickerApplication, self).__init__() # The foreground color. self._foregroundColor = Color.BLACK # The currently selected # The background color. self._backgroundColor = Color.WHITE # The currently selected # The display box where the image is rendered. self._display = None self._mainLayout = None self._colorpicker1 = None self._colorpicker2 = None self._colorpicker3 = None self._colorpicker4 = None self._colorpicker5 = None self._colorpicker6 = None self._rgbVisible = True self._hsvVisible = True self._swaVisible = True self._historyVisible = True self._txtfieldVisible = True self._rgbBox = CheckBox('RGB tab visible') self._hsvBox = CheckBox('HSV tab visible') self._swaBox = CheckBox('Swatches tab visible') self._hisBox = CheckBox('History visible') self._txtBox = CheckBox('CSS field visible') def setPopupVisibilities(self): self._rgbBox.setEnabled(not (self._rgbVisible and not self._hsvVisible and not self._swaVisible)) self._hsvBox.setEnabled(not (not self._rgbVisible and self._hsvVisible and not self._swaVisible)) self._swaBox.setEnabled(not ( not self._rgbVisible and not self._hsvVisible and self._swaVisible) ) self._colorpicker1.setRGBVisibility(self._rgbVisible) self._colorpicker2.setRGBVisibility(self._rgbVisible) self._colorpicker3.setRGBVisibility(self._rgbVisible) self._colorpicker4.setRGBVisibility(self._rgbVisible) self._colorpicker5.setRGBVisibility(self._rgbVisible) self._colorpicker6.setRGBVisibility(self._rgbVisible) self._colorpicker1.setHSVVisibility(self._hsvVisible) self._colorpicker2.setHSVVisibility(self._hsvVisible) self._colorpicker3.setHSVVisibility(self._hsvVisible) self._colorpicker4.setHSVVisibility(self._hsvVisible) self._colorpicker5.setHSVVisibility(self._hsvVisible) self._colorpicker6.setHSVVisibility(self._hsvVisible) self._colorpicker1.setSwatchesVisibility(self._swaVisible) self._colorpicker2.setSwatchesVisibility(self._swaVisible) self._colorpicker3.setSwatchesVisibility(self._swaVisible) self._colorpicker4.setSwatchesVisibility(self._swaVisible) self._colorpicker5.setSwatchesVisibility(self._swaVisible) self._colorpicker6.setSwatchesVisibility(self._swaVisible) self._colorpicker1.setHistoryVisibility(self._historyVisible) self._colorpicker2.setHistoryVisibility(self._historyVisible) self._colorpicker3.setHistoryVisibility(self._historyVisible) self._colorpicker4.setHistoryVisibility(self._historyVisible) self._colorpicker5.setHistoryVisibility(self._historyVisible) self._colorpicker6.setHistoryVisibility(self._historyVisible) self._colorpicker1.setTextfieldVisibility(self._txtfieldVisible) self._colorpicker2.setTextfieldVisibility(self._txtfieldVisible) self._colorpicker3.setTextfieldVisibility(self._txtfieldVisible) self._colorpicker4.setTextfieldVisibility(self._txtfieldVisible) self._colorpicker5.setTextfieldVisibility(self._txtfieldVisible) self._colorpicker6.setTextfieldVisibility(self._txtfieldVisible) 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) def updateDisplay(self, fg, bg): """Update display. @param fg: the foreround color @param bg: the background color """ # imagesource = MyImageSource(fg, bg) # now = Date.now() # frmt = '%H%M%S' # imageresource = StreamResource(imagesource, # 'myimage' + now.strftime(frmt) + '.png', self) # imageresource.setCacheTime(0) # self._display.setSource(imageresource) canvas = self._display canvas.saveContext() canvas.clear() canvas.setFillStyle(str(self._backgroundColor)) canvas.fillRect(0, 0, 270, 270) canvas.saveContext() canvas.setFillStyle(str(self._foregroundColor)) canvas.arc(135, 135, 100, 0, 2 * pi, True) canvas.fill() canvas.restoreContext() canvas.restoreContext() def colorChanged(self, event): if ((event.getSource() == self._colorpicker1) or (event.getSource() == self._colorpicker3) or (event.getSource() == self._colorpicker5)): self._foregroundColor = event.getColor() if event.getSource() != self._colorpicker1: self._colorpicker1.setColor(event.getColor()) if event.getSource() != self._colorpicker3: self._colorpicker3.setColor(event.getColor()) if event.getSource() != self._colorpicker5: self._colorpicker5.setColor(event.getColor()) elif ((event.getSource() == self._colorpicker2) or (event.getSource() == self._colorpicker4) or (event.getSource() == self._colorpicker6)): self._backgroundColor = event.getColor() if event.getSource() != self._colorpicker2: self._colorpicker2.setColor(event.getColor()) if event.getSource() != self._colorpicker4: self._colorpicker4.setColor(event.getColor()) if event.getSource() != self._colorpicker6: self._colorpicker6.setColor(event.getColor()) else: return oldDisplay = self._display self._display = Canvas() self._display.setWidth('270px') self._display.setHeight('270px') self.updateDisplay(self._foregroundColor, self._backgroundColor) self._mainLayout.replaceComponent(oldDisplay, self._display) def getVersion(self): return self._VERSION
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)
class ColorPickerApplication(Application, IColorChangeListener): """Testing application for the ColorPicker. @author: John Ahlroos / ITMill Oy Ltd 2010 @author: Richard Lincoln """ _VERSION = '@VERSION@' def __init__(self): super(ColorPickerApplication, self).__init__() # The foreground color. self._foregroundColor = Color.BLACK # The currently selected # The background color. self._backgroundColor = Color.WHITE # The currently selected # The display box where the image is rendered. self._display = None self._mainLayout = None self._colorpicker1 = None self._colorpicker2 = None self._colorpicker3 = None self._colorpicker4 = None self._colorpicker5 = None self._colorpicker6 = None self._rgbVisible = True self._hsvVisible = True self._swaVisible = True self._historyVisible = True self._txtfieldVisible = True self._rgbBox = CheckBox('RGB tab visible') self._hsvBox = CheckBox('HSV tab visible') self._swaBox = CheckBox('Swatches tab visible') self._hisBox = CheckBox('History visible') self._txtBox = CheckBox('CSS field visible') def setPopupVisibilities(self): self._rgbBox.setEnabled(not (self._rgbVisible and not self._hsvVisible and not self._swaVisible)) self._hsvBox.setEnabled(not (not self._rgbVisible and self._hsvVisible and not self._swaVisible)) self._swaBox.setEnabled(not (not self._rgbVisible and not self._hsvVisible and self._swaVisible)) self._colorpicker1.setRGBVisibility(self._rgbVisible) self._colorpicker2.setRGBVisibility(self._rgbVisible) self._colorpicker3.setRGBVisibility(self._rgbVisible) self._colorpicker4.setRGBVisibility(self._rgbVisible) self._colorpicker5.setRGBVisibility(self._rgbVisible) self._colorpicker6.setRGBVisibility(self._rgbVisible) self._colorpicker1.setHSVVisibility(self._hsvVisible) self._colorpicker2.setHSVVisibility(self._hsvVisible) self._colorpicker3.setHSVVisibility(self._hsvVisible) self._colorpicker4.setHSVVisibility(self._hsvVisible) self._colorpicker5.setHSVVisibility(self._hsvVisible) self._colorpicker6.setHSVVisibility(self._hsvVisible) self._colorpicker1.setSwatchesVisibility(self._swaVisible) self._colorpicker2.setSwatchesVisibility(self._swaVisible) self._colorpicker3.setSwatchesVisibility(self._swaVisible) self._colorpicker4.setSwatchesVisibility(self._swaVisible) self._colorpicker5.setSwatchesVisibility(self._swaVisible) self._colorpicker6.setSwatchesVisibility(self._swaVisible) self._colorpicker1.setHistoryVisibility(self._historyVisible) self._colorpicker2.setHistoryVisibility(self._historyVisible) self._colorpicker3.setHistoryVisibility(self._historyVisible) self._colorpicker4.setHistoryVisibility(self._historyVisible) self._colorpicker5.setHistoryVisibility(self._historyVisible) self._colorpicker6.setHistoryVisibility(self._historyVisible) self._colorpicker1.setTextfieldVisibility(self._txtfieldVisible) self._colorpicker2.setTextfieldVisibility(self._txtfieldVisible) self._colorpicker3.setTextfieldVisibility(self._txtfieldVisible) self._colorpicker4.setTextfieldVisibility(self._txtfieldVisible) self._colorpicker5.setTextfieldVisibility(self._txtfieldVisible) self._colorpicker6.setTextfieldVisibility(self._txtfieldVisible) 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) def updateDisplay(self, fg, bg): """Update display. @param fg: the foreround color @param bg: the background color """ # imagesource = MyImageSource(fg, bg) # now = Date.now() # frmt = '%H%M%S' # imageresource = StreamResource(imagesource, # 'myimage' + now.strftime(frmt) + '.png', self) # imageresource.setCacheTime(0) # self._display.setSource(imageresource) canvas = self._display canvas.saveContext() canvas.clear() canvas.setFillStyle(str(self._backgroundColor)) canvas.fillRect(0, 0, 270, 270) canvas.saveContext() canvas.setFillStyle(str(self._foregroundColor)) canvas.arc(135, 135, 100, 0, 2 * pi, True) canvas.fill() canvas.restoreContext() canvas.restoreContext() def colorChanged(self, event): if ((event.getSource() == self._colorpicker1) or (event.getSource() == self._colorpicker3) or (event.getSource() == self._colorpicker5)): self._foregroundColor = event.getColor() if event.getSource() != self._colorpicker1: self._colorpicker1.setColor(event.getColor()) if event.getSource() != self._colorpicker3: self._colorpicker3.setColor(event.getColor()) if event.getSource() != self._colorpicker5: self._colorpicker5.setColor(event.getColor()) elif ((event.getSource() == self._colorpicker2) or (event.getSource() == self._colorpicker4) or (event.getSource() == self._colorpicker6)): self._backgroundColor = event.getColor() if event.getSource() != self._colorpicker2: self._colorpicker2.setColor(event.getColor()) if event.getSource() != self._colorpicker4: self._colorpicker4.setColor(event.getColor()) if event.getSource() != self._colorpicker6: self._colorpicker6.setColor(event.getColor()) else: return oldDisplay = self._display self._display = Canvas() self._display.setWidth('270px') self._display.setHeight('270px') self.updateDisplay(self._foregroundColor, self._backgroundColor) self._mainLayout.replaceComponent(oldDisplay, self._display) def getVersion(self): return self._VERSION
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)
class SimpleColorEditor ( BaseSimpleEditor ): """ Simple style of color editor, which displays a text field whose background color is the color value. Selecting the text field displays a dialog box for selecting a new color value. """ #--------------------------------------------------------------------------- # Finishes initializing the editor by creating the underlying toolkit # widget: #--------------------------------------------------------------------------- def init ( self, parent ): """ Finishes initializing the editor by creating the underlying toolkit widget. """ color = self.factory.to_muntjac_color(self) self.control = ColorPicker(initialColor=color) self.control.setButtonStyle(ButtonStyle.BUTTON_AREA) self.control.setSizeFull() self.control.addCallback(self.update_object, ColorChangeEvent) #--------------------------------------------------------------------------- # Invokes the pop-up editor for an object trait: #--------------------------------------------------------------------------- # def popup_editor(self): # """ Invokes the pop-up editor for an object trait. # """ # color = self.factory.to_muntjac_color(self) # color = QtGui.QColorDialog.getColor(color, self.control) # # if color.isValid(): # self.value = self.factory.from_muntjac_color(color) # self.update_editor() #--------------------------------------------------------------------------- # Handles the user entering input data in the edit control: #--------------------------------------------------------------------------- def update_object ( self ): """ Handles the user entering input data in the edit control. """ color = self.control.getColor() self.value = self.factory.from_muntjac_color(color) #--------------------------------------------------------------------------- # Updates the editor when the object trait changes external to the editor: #--------------------------------------------------------------------------- def update_editor ( self ): """ Updates the editor when the object trait changes externally to the editor. """ super( SimpleColorEditor, self ).update_editor() color = self.factory.to_muntjac_color( self ) self.control.setColor(color) #--------------------------------------------------------------------------- # Returns the text representation of a specified color value: #--------------------------------------------------------------------------- def string_value ( self, color ): """ Returns the text representation of a specified color value. """ return self.factory.str_color( color )