| 17 | |
| 18 | |
| 19 | class ControlButton(ControlBase): |
| 20 | |
| 21 | def __init__(self, label='', checkable=False): |
| 22 | self._checkable = checkable |
| 23 | super(ControlButton, self).__init__(label) |
| 24 | |
| 25 | def initForm(self): |
| 26 | control_path = tools.getFileInSameDirectory(__file__, "button.ui") |
| 27 | self._form = uic.loadUi(control_path) |
| 28 | self._form.pushButton.setText(self._label) |
| 29 | self._form.pushButton.setCheckable(self._checkable) |
| 30 | self.tooltip = None |
| 31 | |
| 32 | def load(self, data): pass |
| 33 | |
| 34 | def save(self, data): pass |
| 35 | |
| 36 | ########################################################################## |
| 37 | |
| 38 | @property |
| 39 | def label(self): |
| 40 | return ControlBase.label.fget(self) |
| 41 | |
| 42 | @label.setter |
| 43 | def label(self, value): |
| 44 | ControlBase.label.fset(self, value) |
| 45 | self._form.pushButton.setText(self._label) |
| 46 | |
| 47 | ########################################################################## |
| 48 | |
| 49 | @property |
| 50 | def value(self): |
| 51 | return None |
| 52 | |
| 53 | @value.setter |
| 54 | def value(self, value): |
| 55 | self._form.pushButton.clicked[bool].connect(value) |
| 56 | |
| 57 | @property |
| 58 | def checked(self): |
| 59 | return self._form.pushButton.isChecked() |
| 60 | |
| 61 | @checked.setter |
| 62 | def checked(self, value): |
| 63 | self._form.pushButton.setChecked(value) |
| 64 | |
| 65 | def click(self): |
| 66 | self._form.pushButton.click() |