Commit 4cfda5e0 authored by Valentin Valls's avatar Valentin Valls

Create a signal with plot item selection (and not legends)

parent 2d405ba8
......@@ -233,10 +233,14 @@ class FlintPlot(PlotWindow):
sigMouseLeft = qt.Signal()
sigSelectionChanged = qt.Signal(object, object)
# FIXME: It have to be provided by silx
def __init__(self, parent=None, backend=None):
super(FlintPlot, self).__init__(parent=parent, backend=backend)
self.sigPlotSignal.connect(self.__limitsChanged)
self.sigPlotSignal.connect(self.__plotEvents)
self.__userInteraction = False
self.sigActiveCurveChanged.connect(self.__activeCurveChanged)
toolbars = self.findChildren(qt.QToolBar)
for tb in toolbars:
......@@ -262,7 +266,7 @@ class FlintPlot(PlotWindow):
def __mouseLeft(self):
self.sigMouseLeft.emit()
def __limitsChanged(self, eventDict):
def __plotEvents(self, eventDict):
if eventDict["event"] == "limitsChanged":
event1 = ViewChangedEvent(self.__userInteraction)
self.sigViewChanged.emit(event1)
......@@ -272,6 +276,15 @@ class FlintPlot(PlotWindow):
)
self.sigMouseMoved.emit(event2)
def __activeCurveChanged(self, previous, current):
# FIXME: This have to be provided by silx in a much better way
if previous is not None:
previous = self.getCurve(previous)
if current is not None:
current = self.getCurve(current)
# NOTE: previous and current was swapped
self.sigSelectionChanged.emit(current, previous)
def keyPressEvent(self, event):
with self.userInteraction():
super(FlintPlot, self).keyPressEvent(event)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment