Example #1
0
 def __init__(self, **kwargs):
     self._attribute = None
     super(Color, self).__init__(**kwargs)
     self.widget_set_by_program = False
     self.color_obj_set_by_program = False
     self.register_signal('color_changed')
     self.scale_factor = float(kwargs.get('scale_factor', 255))
     self.color = ColorObj()
     self.setup_widgets(**kwargs)
     self.color.bind(hsv=self.on_color_obj_changed)
     self.Property = kwargs.get('Property')
Example #2
0
 def __init__(self, **kwargs):
     self._attribute = None
     super(Color, self).__init__(**kwargs)
     self.widget_set_by_program = False
     self.color_obj_set_by_program = False
     self.register_signal('color_changed')
     self.scale_factor = float(kwargs.get('scale_factor', 255))
     self.color = ColorObj()
     self.setup_widgets(**kwargs)
     self.color.bind(hsv=self.on_color_obj_changed)
     self.Property = kwargs.get('Property')
Example #3
0
class Color(BaseObject, PropertyConnector):
    color_keys = {
        'red': 'red_float',
        'green': 'green_float',
        'blue': 'blue_float'
    }
    hsv_keys = ['hue', 'sat', 'val']

    def __init__(self, **kwargs):
        self._attribute = None
        super(Color, self).__init__(**kwargs)
        self.widget_set_by_program = False
        self.color_obj_set_by_program = False
        self.register_signal('color_changed')
        self.scale_factor = float(kwargs.get('scale_factor', 255))
        self.color = ColorObj()
        self.setup_widgets(**kwargs)
        self.color.bind(hsv=self.on_color_obj_changed)
        self.Property = kwargs.get('Property')

    def unlink(self):
        super(Color, self).unlink()
        self.Property = None

    def attach_Property(self, prop):
        super(Color, self).attach_Property(prop)
        self.set_color_obj(**prop.value)
        self.update_widget_color(**prop.value)

    def on_widget_update(self, *args, **kwargs):
        if self.widget_set_by_program:
            return
        hsv = self.get_widget_color()
        #self.color.hsv = dict(zip(self.hsv_keys, hsv))
        d = dict(zip(self.hsv_keys, hsv))
        self.set_Property_value(d)
        self.set_color_obj(**d)
        #if self.Property:
        #    self.Property.set_hsv(**self.color.hsv)
        #self.emit('color_changed', color=self.color, obj=self)

    def update_widget_color(self, **kwargs):
        #self.color.hsv = kwargs
        #hsv = self.color.hsv_seq
        #print self.color.hsv
        hsv = [kwargs[key] for key in self.hsv_keys]
        if True:  #hsv != self.get_widget_color():
            self.widget_set_by_program = True
            self.set_widget_color(hsv)
            self.widget_set_by_program = False

    def on_Property_value_changed(self, **kwargs):
        value = kwargs.get('value')
        self.set_color_obj(**value)
        self.update_widget_color(**value)

    def set_color_obj(self, **kwargs):
        self.color_obj_set_by_program = True
        self.color.hsv = kwargs
        self.color_obj_set_by_program = False

    def on_color_obj_changed(self, **kwargs):
        if self.color_obj_set_by_program:
            return
        self.set_Property_value(self.color.hsv)
Example #4
0
class Color(BaseObject, PropertyConnector):
    color_keys = {'red':'red_float', 'green':'green_float', 'blue':'blue_float'}
    hsv_keys = ['hue', 'sat', 'val']
    def __init__(self, **kwargs):
        self._attribute = None
        super(Color, self).__init__(**kwargs)
        self.widget_set_by_program = False
        self.color_obj_set_by_program = False
        self.register_signal('color_changed')
        self.scale_factor = float(kwargs.get('scale_factor', 255))
        self.color = ColorObj()
        self.setup_widgets(**kwargs)
        self.color.bind(hsv=self.on_color_obj_changed)
        self.Property = kwargs.get('Property')
        
    def unlink(self):
        super(Color, self).unlink()
        self.Property = None
        
    def attach_Property(self, prop):
        super(Color, self).attach_Property(prop)
        self.set_color_obj(**prop.value)
        self.update_widget_color(**prop.value)
        
    def on_widget_update(self, *args, **kwargs):
        if self.widget_set_by_program:
            return
        hsv = self.get_widget_color()
        #self.color.hsv = dict(zip(self.hsv_keys, hsv))
        d = dict(zip(self.hsv_keys, hsv))
        self.set_Property_value(d)
        self.set_color_obj(**d)
        #if self.Property:
        #    self.Property.set_hsv(**self.color.hsv)
        #self.emit('color_changed', color=self.color, obj=self)
        
        
    def update_widget_color(self, **kwargs):
        #self.color.hsv = kwargs
        #hsv = self.color.hsv_seq
        #print self.color.hsv
        hsv = [kwargs[key] for key in self.hsv_keys]
        if True:#hsv != self.get_widget_color():
            self.widget_set_by_program = True
            self.set_widget_color(hsv)
            self.widget_set_by_program = False
        
    def on_Property_value_changed(self, **kwargs):
        value = kwargs.get('value')
        self.set_color_obj(**value)
        self.update_widget_color(**value)
        
    def set_color_obj(self, **kwargs):
        self.color_obj_set_by_program = True
        self.color.hsv = kwargs
        self.color_obj_set_by_program = False
        
    def on_color_obj_changed(self, **kwargs):
        if self.color_obj_set_by_program:
            return
        self.set_Property_value(self.color.hsv)