diff --git a/pyqtgraph/graphicsItems/GradientEditorItem.py b/pyqtgraph/graphicsItems/GradientEditorItem.py index 8c8e5171..50d38a0e 100644 --- a/pyqtgraph/graphicsItems/GradientEditorItem.py +++ b/pyqtgraph/graphicsItems/GradientEditorItem.py @@ -446,10 +446,10 @@ class GradientEditorItem(TickSliderItem): self.rgbAction = QtGui.QAction(translate("GradiantEditorItem", 'RGB'), self) self.rgbAction.setCheckable(True) - self.rgbAction.triggered.connect(lambda: self.setColorMode('rgb')) + self.rgbAction.triggered.connect(self._setColorModeToRGB) self.hsvAction = QtGui.QAction(translate("GradiantEditorItem", 'HSV'), self) self.hsvAction.setCheckable(True) - self.hsvAction.triggered.connect(lambda: self.setColorMode('hsv')) + self.hsvAction.triggered.connect(self._setColorModeToHSV) self.menu = QtGui.QMenu() @@ -493,7 +493,7 @@ class GradientEditorItem(TickSliderItem): self.updateGradient() self.linkedGradients = {} - self.sigTicksChanged.connect(lambda *args, **kwargs: self.updateGradient()) + self.sigTicksChanged.connect(self._updateGradientIgnoreArgs) self.sigTicksChangeFinished.connect(self.sigGradientChangeFinished.emit) def showTicks(self, show=True): @@ -566,7 +566,13 @@ class GradientEditorItem(TickSliderItem): self.sigTicksChanged.emit(self) self.sigGradientChangeFinished.emit(self) - + + def _setColorModeToRGB(self): + self.setColorMode("rgb") + + def _setColorModeToHSV(self): + self.setColorMode("hsv") + def colorMap(self): """Return a ColorMap object representing the current state of the editor.""" if self.colorMode == 'hsv': @@ -584,7 +590,10 @@ class GradientEditorItem(TickSliderItem): self.gradient = self.getGradient() self.gradRect.setBrush(QtGui.QBrush(self.gradient)) self.sigGradientChanged.emit(self) - + + def _updateGradientIgnoreArgs(self, *args, **kwargs): + self.updateGradient() + def setLength(self, newLen): #private (but maybe public) TickSliderItem.setLength(self, newLen) diff --git a/pyqtgraph/graphicsItems/LinearRegionItem.py b/pyqtgraph/graphicsItems/LinearRegionItem.py index 1b818461..6f888613 100644 --- a/pyqtgraph/graphicsItems/LinearRegionItem.py +++ b/pyqtgraph/graphicsItems/LinearRegionItem.py @@ -110,8 +110,8 @@ class LinearRegionItem(GraphicsObject): for l in self.lines: l.setParentItem(self) l.sigPositionChangeFinished.connect(self.lineMoveFinished) - self.lines[0].sigPositionChanged.connect(lambda: self.lineMoved(0)) - self.lines[1].sigPositionChanged.connect(lambda: self.lineMoved(1)) + self.lines[0].sigPositionChanged.connect(self._line0Moved) + self.lines[1].sigPositionChanged.connect(self._line1Moved) if brush is None: brush = QtGui.QBrush(QtGui.QColor(0, 0, 255, 50)) @@ -241,7 +241,13 @@ class LinearRegionItem(GraphicsObject): self.prepareGeometryChange() self.sigRegionChanged.emit(self) - + + def _line0Moved(self): + self.lineMoved(0) + + def _line1Moved(self): + self.lineMoved(1) + def lineMoveFinished(self): self.sigRegionChangeFinished.emit(self) diff --git a/pyqtgraph/graphicsItems/ROI.py b/pyqtgraph/graphicsItems/ROI.py index efd0bdc2..99b2882d 100644 --- a/pyqtgraph/graphicsItems/ROI.py +++ b/pyqtgraph/graphicsItems/ROI.py @@ -785,8 +785,11 @@ class ROI(GraphicsObject): def removeClicked(self): ## Send remove event only after we have exited the menu event handler - QtCore.QTimer.singleShot(0, lambda: self.sigRemoveRequested.emit(self)) - + QtCore.QTimer.singleShot(0, self._emitRemoveRequest) + + def _emitRemoveRequest(self): + self.sigRemoveRequested.emit(self) + def mouseDragEvent(self, ev): self.mouseDragHandler.mouseDragEvent(ev) diff --git a/pyqtgraph/parametertree/Parameter.py b/pyqtgraph/parametertree/Parameter.py index ef4f0324..e2225047 100644 --- a/pyqtgraph/parametertree/Parameter.py +++ b/pyqtgraph/parametertree/Parameter.py @@ -203,15 +203,15 @@ class Parameter(QtCore.QObject): self.opts['default'] = None ## Connect all state changed signals to the general sigStateChanged - self.sigValueChanged.connect(lambda param, data: self.emitStateChanged('value', data)) - self.sigChildAdded.connect(lambda param, *data: self.emitStateChanged('childAdded', data)) - self.sigChildRemoved.connect(lambda param, data: self.emitStateChanged('childRemoved', data)) - self.sigParentChanged.connect(lambda param, data: self.emitStateChanged('parent', data)) - self.sigLimitsChanged.connect(lambda param, data: self.emitStateChanged('limits', data)) - self.sigDefaultChanged.connect(lambda param, data: self.emitStateChanged('default', data)) - self.sigNameChanged.connect(lambda param, data: self.emitStateChanged('name', data)) - self.sigOptionsChanged.connect(lambda param, data: self.emitStateChanged('options', data)) - self.sigContextMenu.connect(lambda param, data: self.emitStateChanged('contextMenu', data)) + self.sigValueChanged.connect(self._emitValueChanged) + self.sigChildAdded.connect(self._emitChildAddedChanged) + self.sigChildRemoved.connect(self._emitChildRemovedChanged) + self.sigParentChanged.connect(self._emitParentChanged) + self.sigLimitsChanged.connect(self._emitLimitsChanged) + self.sigDefaultChanged.connect(self._emitDefaultChanged) + self.sigNameChanged.connect(self._emitNameChanged) + self.sigOptionsChanged.connect(self._emitOptionsChanged) + self.sigContextMenu.connect(self._emitContextMenuChanged) #self.watchParam(self) ## emit treechange signals if our own state changes @@ -511,6 +511,33 @@ class Parameter(QtCore.QObject): self.treeStateChanges.append((self, changeDesc, data)) self.emitTreeChanges() + def _emitValueChanged(self, param, data): + self.emitStateChanged("value", data) + + def _emitChildAddedChanged(self, param, *data): + self.emitStateChanged("childAdded", data) + + def _emitChildRemovedChanged(self, param, data): + self.emitStateChanged("childRemoved", data) + + def _emitParentChanged(self, param, data): + self.emitStateChanged("parent", data) + + def _emitLimitsChanged(self, param, data): + self.emitStateChanged("limits", data) + + def _emitDefaultChanged(self, param, data): + self.emitStateChanged("default", data) + + def _emitNameChanged(self, param, data): + self.emitStateChanged("name", data) + + def _emitOptionsChanged(self, param, data): + self.emitStateChanged("options", data) + + def _emitContextMenuChanged(self, param, data): + self.emitStateChanged("contextMenu", data) + def makeTreeItem(self, depth): """ Return a TreeWidgetItem suitable for displaying/controlling the content of