Example #1
0
    def __init__(self,
                 parent,
                 getter,
                 setter,
                 emitter=None,
                 lightness=1,
                 saturation=1,
                 dialog_title='Select hue',
                 help_text='Shows the current hue. Click to change.',
                 size=(25, 10)):

        CuteWindow.__init__(self, parent, size=size, style=wx.SIMPLE_BORDER)

        self.getter = getter

        self.setter = setter

        self.lightness = lightness

        self.saturation = saturation

        self.dialog_title = dialog_title

        self.SetHelpText(help_text)

        self._pen = wx.Pen(wx.Colour(0, 0, 0), width=0, style=wx.TRANSPARENT)

        self.bind_event_handlers(HueControl)

        if emitter:
            assert isinstance(emitter, Emitter)
            self.emitter = emitter
            self.emitter.add_output(self.update)
        else:
            assert emitter is None
            self.emitter = Emitter(outputs=(self.update, ),
                                   name='hue_modified')
            old_setter = self.setter

            def new_setter(value):
                old_setter(value)
                self.emitter.emit()

            self.setter = new_setter