summaryrefslogtreecommitdiff
path: root/lib/taurus/qt/qtgui/panel/taurusvalue.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/taurus/qt/qtgui/panel/taurusvalue.py')
-rw-r--r--lib/taurus/qt/qtgui/panel/taurusvalue.py29
1 files changed, 20 insertions, 9 deletions
diff --git a/lib/taurus/qt/qtgui/panel/taurusvalue.py b/lib/taurus/qt/qtgui/panel/taurusvalue.py
index 81532828..2ef054ae 100644
--- a/lib/taurus/qt/qtgui/panel/taurusvalue.py
+++ b/lib/taurus/qt/qtgui/panel/taurusvalue.py
@@ -204,6 +204,15 @@ class CenteredLed(TaurusLed):
DefaultAlignment = Qt.Qt.AlignHCenter | Qt.Qt.AlignVCenter
+class UnitLessLineEdit(TaurusValueLineEdit):
+ """A customised TaurusValueLineEdit that always shows the magnitude"""
+ def setModel(self, model):
+ if model is None or model == '':
+ return TaurusValueLineEdit.setModel(self, None)
+ return TaurusValueLineEdit.setModel(self, model + "#wvalue.magnitude")
+
+
+
class DefaultUnitsWidget(TaurusLabel):
FORMAT = "{}"
@@ -380,7 +389,7 @@ class TaurusValue(Qt.QWidget, TaurusBaseWidget):
itself.
'''
if followCompact and self.isCompact():
- return self._readWidget.readWidget
+ return getattr(self._readWidget, 'readWidget', self._readWidget)
return self._readWidget
def writeWidget(self, followCompact=False):
@@ -587,22 +596,24 @@ class TaurusValue(Qt.QWidget, TaurusBaseWidget):
modelobj = self.getModelObj()
if modelobj is None:
if returnAll:
- return [TaurusValueLineEdit]
+ return [UnitLessLineEdit]
else:
- return TaurusValueLineEdit
+ return UnitLessLineEdit
modelType = modelobj.getType()
if modelobj.data_format == DataFormat._0D:
if modelType == DataType.Boolean:
result = [DefaultTaurusValueCheckBox, TaurusValueLineEdit]
else:
- result = [TaurusValueLineEdit,
+ result = [UnitLessLineEdit,
TaurusValueSpinBox, TaurusWheelEdit]
elif modelobj.data_format == DataFormat._1D:
+ result = [TaurusValuesTableButton_W, TaurusValueLineEdit]
if modelType in (DataType.Float, DataType.Integer):
- result = [TaurusArrayEditorButton,
- TaurusValuesTableButton_W, TaurusValueLineEdit]
- else:
- result = [TaurusValuesTableButton_W, TaurusValueLineEdit]
+ try:
+ import taurus.qt.qtgui.qwt5
+ result.insert(0, TaurusArrayEditorButton)
+ except:
+ pass
elif modelobj.data_format == DataFormat._2D:
result = [TaurusValuesTableButton_W]
else:
@@ -1389,7 +1400,7 @@ if __name__ == "__main__":
from taurus.qt.qtgui.application import TaurusApplication
- app = TaurusApplication(sys.argv)
+ app = TaurusApplication(sys.argv, cmd_line_parser=None)
form = Qt.QMainWindow()
# ly=Qt.QVBoxLayout(form)
# container=Qt.QWidget()