diff options
Diffstat (limited to 'lib/taurus/qt/qtgui/panel/taurusvalue.py')
-rw-r--r-- | lib/taurus/qt/qtgui/panel/taurusvalue.py | 29 |
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() |