| 1014 | |
| 1015 | class EditorAttributeInputColor(EditorAttributeInputBase): |
| 1016 | def __init__(self, widget, attributeName, propertyDef, attributeDict, appInstance, *args, **kwargs): |
| 1017 | super(EditorAttributeInputColor, self).__init__( |
| 1018 | widget, attributeName, propertyDef, attributeDict, appInstance, *args, **kwargs) |
| 1019 | self.css_height = "60px" |
| 1020 | self.spin_red = gui.SpinBox(0, 0, 255, 1, width="100%", height="100%") |
| 1021 | self.spin_green = gui.SpinBox( |
| 1022 | 0, 0, 255, 1, width="100%", height="100%") |
| 1023 | self.spin_blue = gui.SpinBox(0, 0, 255, 1, width="100%", height="100%") |
| 1024 | self.slide_red = gui.Slider(0, 0, 255, 1, width="100%", height="100%", style={ |
| 1025 | 'background-color': 'pink'}) |
| 1026 | self.slide_green = gui.Slider(0, 0, 255, 1, width="100%", height="100%", style={ |
| 1027 | 'background-color': 'lightgreen'}) |
| 1028 | self.slide_blue = gui.Slider(0, 0, 255, 1, width="100%", height="100%", style={ |
| 1029 | 'background-color': 'lightblue'}) |
| 1030 | ''' |
| 1031 | self.set_from_asciiart(""" |
| 1032 | |del|lbl |spin_r |spin_g |spin_b | |
| 1033 | |del|lbl |slide_r |slide_g |slide_b | |
| 1034 | """) |
| 1035 | ''' |
| 1036 | self.style.update({'grid-template-columns': "6% 46% 16% 16% 16%", 'grid-template-rows': "50% 50%", |
| 1037 | 'grid-template-areas': "'del lbl spin_r spin_g spin_b' 'del lbl slide_r slide_g slide_b'"}) |
| 1038 | self.append({'del': self.removeAttribute, 'lbl': self.label, 'spin_r': self.spin_red, 'spin_g': self.spin_green, |
| 1039 | 'spin_b': self.spin_blue, 'slide_r': self.slide_red, 'slide_g': self.slide_green, 'slide_b': self.slide_blue}) |
| 1040 | |
| 1041 | self.slide_red.onchange.do(self.onchange) |
| 1042 | self.slide_green.onchange.do(self.onchange) |
| 1043 | self.slide_blue.onchange.do(self.onchange) |
| 1044 | |
| 1045 | self.spin_red.onchange.do(self.onchange) |
| 1046 | self.spin_green.onchange.do(self.onchange) |
| 1047 | self.spin_blue.onchange.do(self.onchange) |
| 1048 | |
| 1049 | def to_str(self): |
| 1050 | return "rgb(%s,%s,%s)" % (self.slide_red.get_value(), self.slide_green.get_value(), self.slide_blue.get_value()) |