From f9310d64c74589cbe2c4a39eff2594e9413831aa Mon Sep 17 00:00:00 2001 From: Luke Campagnola <> Date: Mon, 18 Jun 2012 15:03:41 -0400 Subject: [PATCH] Imported code for disabling ViewBox menus from Ingo --- graphicsItems/PlotItem/PlotItem.py | 1 + graphicsItems/ViewBox/ViewBox.py | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/graphicsItems/PlotItem/PlotItem.py b/graphicsItems/PlotItem/PlotItem.py index 19eb4cf4..f027a434 100644 --- a/graphicsItems/PlotItem/PlotItem.py +++ b/graphicsItems/PlotItem/PlotItem.py @@ -193,6 +193,7 @@ class PlotItem(GraphicsWidget): 'setXRange', 'setYRange', 'setXLink', 'setYLink', 'setAutoPan', 'setAutoVisible', 'setRange', 'autoRange', 'viewRect', 'viewRange', 'setMouseEnabled', 'enableAutoRange', 'disableAutoRange', 'setAspectLocked', + 'setMenuEnabled', 'menuEnabled', 'register', 'unregister']: ## NOTE: If you update this list, please update the class docstring as well. setattr(self, m, getattr(self.vb, m)) diff --git a/graphicsItems/ViewBox/ViewBox.py b/graphicsItems/ViewBox/ViewBox.py index c2a4fd3d..eecc9bdd 100644 --- a/graphicsItems/ViewBox/ViewBox.py +++ b/graphicsItems/ViewBox/ViewBox.py @@ -62,7 +62,7 @@ class ViewBox(GraphicsWidget): NamedViews = weakref.WeakValueDictionary() # name: ViewBox AllViews = weakref.WeakKeyDictionary() # ViewBox: None - def __init__(self, parent=None, border=None, lockAspect=False, enableMouse=True, invertY=False, name=None): + def __init__(self, parent=None, border=None, lockAspect=False, enableMouse=True, invertY=False, enableMenu = True, name=None): """ ============= ============================================================= **Arguments** @@ -103,6 +103,7 @@ class ViewBox(GraphicsWidget): 'mouseEnabled': [enableMouse, enableMouse], 'mouseMode': ViewBox.PanMode if pyqtgraph.getConfigOption('leftButtonPan') else ViewBox.RectMode, + 'enableMenu': enableMenu, 'wheelScaleFactor': -1.0 / 8.0, } @@ -250,6 +251,13 @@ class ViewBox(GraphicsWidget): def mouseEnabled(self): return self.state['mouseEnabled'][:] + + def setMenuEnabled(self, enableMenu=True): + self.state['enableMenu'] = enableMenu + self.sigStateChanged.emit(self) + + def menuEnabled(self): + return self.state.get('enableMenu', True) def addItem(self, item, ignoreBounds=False): """ @@ -822,7 +830,7 @@ class ViewBox(GraphicsWidget): def mouseClickEvent(self, ev): - if ev.button() == QtCore.Qt.RightButton: + if ev.button() == QtCore.Qt.RightButton and self.menuEnabled(): ev.accept() self.raiseContextMenu(ev)