From 272917286822011d25e38899af461fcccfa1ee24 Mon Sep 17 00:00:00 2001 From: cfalcon Date: Wed, 13 Mar 2019 16:05:11 +0100 Subject: [PATCH 1/4] Adapt TaurusGraphicsAttributeItem to be compatible with python3 Adapt QGraphicsTextBoxing and TaurusGraphicsAttributeItem classes to be compatible with py2/py3. --- lib/taurus/qt/qtgui/graphic/taurusgraphic.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/taurus/qt/qtgui/graphic/taurusgraphic.py b/lib/taurus/qt/qtgui/graphic/taurusgraphic.py index eb242535a..c2da82105 100644 --- a/lib/taurus/qt/qtgui/graphic/taurusgraphic.py +++ b/lib/taurus/qt/qtgui/graphic/taurusgraphic.py @@ -867,12 +867,18 @@ class QGraphicsTextBoxing(Qt.QGraphicsItemGroup): _TEXT_RATIO = 0.8 def __init__(self, parent=None, scene=None): - Qt.QGraphicsItemGroup.__init__(self, parent, scene) - self._rect = Qt.QGraphicsRectItem(self, scene) + Qt.QGraphicsItemGroup.__init__(self, parent) + if scene is not None: + scene.addItem(self) + self._rect = Qt.QGraphicsRectItem(self) + if scene is not None: + scene.addItem(self._rect) self._rect.setBrush(Qt.QBrush(Qt.Qt.NoBrush)) self._rect.setPen(Qt.QPen(Qt.Qt.NoPen)) - self._text = Qt.QGraphicsTextItem(self, scene) - self._text.scale(self._TEXT_RATIO, self._TEXT_RATIO) + self._text = Qt.QGraphicsTextItem(self) + if scene is not None: + scene.addItem(self._text) + # self._text.scale(self._TEXT_RATIO, self._TEXT_RATIO) self._validBackground = None # using that like the previous code create a worst result self.__layoutValide = True @@ -1164,7 +1170,7 @@ def updateStyle(self): else: _frName = 'rvalue.magnitude' text = self._currText = self.getDisplayValue(fragmentName=_frName) - self._currText = text.decode('unicode-escape') + self._currText = text self._currHtmlText = None TaurusGraphicsItem.updateStyle(self) From 29bee899ce75997f7777fe61c1ac2ce46e5f646f Mon Sep 17 00:00:00 2001 From: cfalcon Date: Wed, 13 Mar 2019 16:45:46 +0100 Subject: [PATCH 2/4] Add commented line This line was commented by mistake. Uncomment it. --- lib/taurus/qt/qtgui/graphic/taurusgraphic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/taurus/qt/qtgui/graphic/taurusgraphic.py b/lib/taurus/qt/qtgui/graphic/taurusgraphic.py index c2da82105..09c5ca83e 100644 --- a/lib/taurus/qt/qtgui/graphic/taurusgraphic.py +++ b/lib/taurus/qt/qtgui/graphic/taurusgraphic.py @@ -878,7 +878,7 @@ def __init__(self, parent=None, scene=None): self._text = Qt.QGraphicsTextItem(self) if scene is not None: scene.addItem(self._text) - # self._text.scale(self._TEXT_RATIO, self._TEXT_RATIO) + self._text.scale(self._TEXT_RATIO, self._TEXT_RATIO) self._validBackground = None # using that like the previous code create a worst result self.__layoutValide = True From 97d7cd160541e44653c14bcefbd83efda71d47f4 Mon Sep 17 00:00:00 2001 From: cfalcon Date: Wed, 13 Mar 2019 17:15:58 +0100 Subject: [PATCH 3/4] scale QGraphicsTextItem for py2 and py3 comp. QGraphicsItem.scale(sx, sy) is obsolete even in Qt4. Replace it for equivalent code. --- lib/taurus/qt/qtgui/graphic/taurusgraphic.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/taurus/qt/qtgui/graphic/taurusgraphic.py b/lib/taurus/qt/qtgui/graphic/taurusgraphic.py index 09c5ca83e..55e4e76b0 100644 --- a/lib/taurus/qt/qtgui/graphic/taurusgraphic.py +++ b/lib/taurus/qt/qtgui/graphic/taurusgraphic.py @@ -51,7 +51,7 @@ from taurus.core.taurusdevice import TaurusDevice from taurus.core.taurusattribute import TaurusAttribute from taurus.core.util.enumeration import Enumeration -from taurus.external.qt import Qt +from taurus.external.qt import Qt, QtGui from taurus.qt.qtgui.base import TaurusBaseComponent from taurus.qt.qtgui.util import (QT_ATTRIBUTE_QUALITY_PALETTE, QT_DEVICE_STATE_PALETTE, ExternalAppAction, TaurusWidgetFactory) @@ -878,7 +878,10 @@ def __init__(self, parent=None, scene=None): self._text = Qt.QGraphicsTextItem(self) if scene is not None: scene.addItem(self._text) - self._text.scale(self._TEXT_RATIO, self._TEXT_RATIO) + self._text.setTransform( + QtGui.QTransform.fromScale(self._TEXT_RATIO, self._TEXT_RATIO), + True) + self._validBackground = None # using that like the previous code create a worst result self.__layoutValide = True @@ -1170,6 +1173,7 @@ def updateStyle(self): else: _frName = 'rvalue.magnitude' text = self._currText = self.getDisplayValue(fragmentName=_frName) + self._currText = text self._currHtmlText = None From fc4a5270b382c958b1f5c5ed93126523c80596b6 Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Wed, 20 Mar 2019 10:01:37 +0100 Subject: [PATCH 4/4] (m) Avoid unnecessary import of QtGui and variable assignation - use QtGui.QTransform from Qt - avoid redundant assigning of variable --- lib/taurus/qt/qtgui/graphic/taurusgraphic.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/taurus/qt/qtgui/graphic/taurusgraphic.py b/lib/taurus/qt/qtgui/graphic/taurusgraphic.py index 55e4e76b0..4ea9cbf20 100644 --- a/lib/taurus/qt/qtgui/graphic/taurusgraphic.py +++ b/lib/taurus/qt/qtgui/graphic/taurusgraphic.py @@ -51,7 +51,7 @@ from taurus.core.taurusdevice import TaurusDevice from taurus.core.taurusattribute import TaurusAttribute from taurus.core.util.enumeration import Enumeration -from taurus.external.qt import Qt, QtGui +from taurus.external.qt import Qt from taurus.qt.qtgui.base import TaurusBaseComponent from taurus.qt.qtgui.util import (QT_ATTRIBUTE_QUALITY_PALETTE, QT_DEVICE_STATE_PALETTE, ExternalAppAction, TaurusWidgetFactory) @@ -879,7 +879,7 @@ def __init__(self, parent=None, scene=None): if scene is not None: scene.addItem(self._text) self._text.setTransform( - QtGui.QTransform.fromScale(self._TEXT_RATIO, self._TEXT_RATIO), + Qt.QTransform.fromScale(self._TEXT_RATIO, self._TEXT_RATIO), True) self._validBackground = None @@ -1172,7 +1172,7 @@ def updateStyle(self): _frName = None else: _frName = 'rvalue.magnitude' - text = self._currText = self.getDisplayValue(fragmentName=_frName) + text = self.getDisplayValue(fragmentName=_frName) self._currText = text self._currHtmlText = None