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)
     
-- 
GitLab