|
From: <cpa...@ce...> - 2016-05-17 11:49:32
|
From: cpascual <cpa...@ce...>
TaurusTrend2D does not "remember" the state of its AutoScroll setting.
Fix by making the AutoScrollTool object inherit from
BaseConfigurableClass, and registering its check state (and registering
the tool as a config delegate for the TaurusTrend2DDialog).
Also: register the tool as a config delegate for TaurusTrend1DDialog too
---
lib/taurus/qt/qtgui/extra_guiqwt/plot.py | 1 +
lib/taurus/qt/qtgui/extra_guiqwt/taurustrend2d.py | 1 +
lib/taurus/qt/qtgui/extra_guiqwt/tools.py | 10 +++++++---
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/plot.py b/lib/taurus/qt/qtgui/extra_guiqwt/plot.py
index 50ebf1b..dfbadc2 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/plot.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/plot.py
@@ -215,6 +215,7 @@ class TaurusTrendDialog(CurveDialog, TaurusBaseWidget):
taurusparam = TaurusTrendParam()
self.defaultTaurusparam = taurusparam
self.setContextMenuPolicy(Qt.Qt.CustomContextMenu)
+ self.registerConfigDelegate(self.get_tool(AutoScrollTool))
def keyPressEvent(self, event):
if(event.key() == Qt.Qt.Key_Escape):
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/taurustrend2d.py b/lib/taurus/qt/qtgui/extra_guiqwt/taurustrend2d.py
index a941d91..fecd088 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/taurustrend2d.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/taurustrend2d.py
@@ -70,6 +70,7 @@ class TaurusTrend2DDialog(ImageDialog, TaurusBaseWidget):
self.get_tool(TaurusModelChooserTool).singleModel = True
self.setModifiableByUser(self._modifiableByUser)
self.setContextMenuPolicy(Qt.Qt.CustomContextMenu)
+ self.registerConfigDelegate(self.get_tool(AutoScrollTool))
def keyPressEvent(self, event):
if(event.key() == Qt.Qt.Key_Escape):
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/tools.py b/lib/taurus/qt/qtgui/extra_guiqwt/tools.py
index 124f57a..ae03eb3 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/tools.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/tools.py
@@ -35,6 +35,7 @@ from guiqwt.tools import (CommandTool, ToggleTool, DefaultToolbarID,
from guiqwt.signals import SIG_ITEMS_CHANGED
from taurus.core.taurusbasetypes import TaurusElementType
+from taurus.qt.qtcore.configuration import BaseConfigurableClass
from taurus.qt.qtgui.resource import getIcon
from taurus.qt.qtgui.extra_guiqwt.builder import make
from taurus.qt.qtgui.extra_guiqwt.curve import TaurusCurveItem, TaurusTrendItem
@@ -213,17 +214,20 @@ class TimeAxisTool(CommandTool):
self._setPlotTimeScales(True, True)
-class AutoScrollTool(ToggleTool):
+class AutoScrollTool(ToggleTool, BaseConfigurableClass):
"""A tool that puts the plot in "AutoScroll" mode.
This makes sense in trend plots where we want to keep the last value
always visible"""
def __init__(self, manager, scrollFactor=0.2, toolbar_id=None):
- super(AutoScrollTool, self).__init__(
- manager, title='Auto Scroll', icon=None,
+ ToggleTool.__init__(self, manager, title='Auto Scroll', icon=None,
tip='Force X scale to always show the last value',
toolbar_id=toolbar_id)
+ BaseConfigurableClass.__init__(self)
self.scrollFactor = scrollFactor
+ self.registerConfigProperty(self.action.isChecked,
+ self.action.setChecked,
+ 'actionChecked')
def register_plot(self, baseplot):
ToggleTool.register_plot(self, baseplot)
--
2.8.1
|