Source code for taurus.qt.qtgui.input.tauruscheckbox

#!/usr/bin/env python

#############################################################################
##
## This file is part of Taurus
##
## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
## Taurus is free software: you can redistribute it and/or modify
## it under the terms of the GNU Lesser General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## Taurus is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU Lesser General Public License for more details.
##
## You should have received a copy of the GNU Lesser General Public License
## along with Taurus.  If not, see <http://www.gnu.org/licenses/>.
##
#############################################################################

"""This module provides a set of basic taurus widgets based on QCheckBox"""

__all__ = ["TaurusValueCheckBox"]

__docformat__ = 'restructuredtext'

from taurus.external.qt import Qt
from taurus.qt.qtgui.base import TaurusBaseWritableWidget


[docs]class TaurusValueCheckBox(Qt.QCheckBox, TaurusBaseWritableWidget): """A QCheckBox connected to a boolean writable attribute model""" __pyqtSignals__ = ("modelChanged(const QString &)",) def __init__(self, qt_parent = None, designMode = False): name = "TaurusValueCheckBox" self.call__init__wo_kw(Qt.QCheckBox, qt_parent) self.call__init__(TaurusBaseWritableWidget, name, designMode=designMode) self.setObjectName(name) self.updateStyle() self.connect(self, Qt.SIGNAL('stateChanged(int)'),self.valueChanged)
[docs] def keyPressEvent(self, event): if event.key() in (Qt.Qt.Key_Return, Qt.Qt.Key_Enter): self.writeValue() event.accept() else: Qt.QCheckBox.keyPressEvent(self,event) event.ignore()
[docs] def minimumSizeHint(self): return Qt.QSize(20, 20)
#-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- # TaurusBaseWritableWidget overwriting #-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
[docs] def updateStyle(self): TaurusBaseWritableWidget.updateStyle(self) # Show text only if it is not specifically hidden if self._showText: try: self.setText(str(self.getModelObj().getConfig().getLabel())) except: self.setText('----') else: self.setText('') #Update pending operations style if self.hasPendingOperations(): txt = str(self.text()).strip() if len(txt) == 0: self.setText("!") self.setStyleSheet('TaurusValueCheckBox {color: blue;}') else: if str(self.text()) == "!": self.setText(" ") self.setStyleSheet('TaurusValueCheckBox {}') self.update()
[docs] def setValue(self, v): self.setChecked(bool(v))
[docs] def getValue(self): return self.isChecked()
@classmethod
[docs] def getQtDesignerPluginInfo(cls): ret = TaurusBaseWritableWidget.getQtDesignerPluginInfo() ret['module'] = 'taurus.qt.qtgui.input' ret['icon'] = ":/designer/checkbox.png" return ret
#-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- # QT properties #-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- model = Qt.pyqtProperty("QString", TaurusBaseWritableWidget.getModel, TaurusBaseWritableWidget.setModel, TaurusBaseWritableWidget.resetModel) showText = Qt.pyqtProperty("bool", TaurusBaseWritableWidget.getShowText, TaurusBaseWritableWidget.setShowText, TaurusBaseWritableWidget.resetShowText) useParentModel = Qt.pyqtProperty("bool", TaurusBaseWritableWidget.getUseParentModel, TaurusBaseWritableWidget.setUseParentModel, TaurusBaseWritableWidget.resetUseParentModel) autoApply = Qt.pyqtProperty("bool", TaurusBaseWritableWidget.getAutoApply, TaurusBaseWritableWidget.setAutoApply, TaurusBaseWritableWidget.resetAutoApply) forcedApply = Qt.pyqtProperty("bool", TaurusBaseWritableWidget.getForcedApply, TaurusBaseWritableWidget.setForcedApply, TaurusBaseWritableWidget.resetForcedApply)