src/eric7/Debugger/DebugViewer.py

branch
eric7
changeset 9383
1d9a71952123
parent 9382
fb89c1dc9825
child 9397
a415cb83dafb
--- a/src/eric7/Debugger/DebugViewer.py	Mon Oct 03 12:14:28 2022 +0200
+++ b/src/eric7/Debugger/DebugViewer.py	Mon Oct 03 17:29:30 2022 +0200
@@ -126,24 +126,33 @@
         from .VariablesViewer import VariablesViewer
 
         # add the global variables viewer
-        self.glvWidget = QWidget()
-        self.glvWidgetVLayout = QVBoxLayout(self.glvWidget)
-        self.glvWidgetVLayout.setContentsMargins(0, 0, 0, 0)
-        self.glvWidgetVLayout.setSpacing(3)
-        self.glvWidget.setLayout(self.glvWidgetVLayout)
+        self.gvvWidget = QWidget()
+        self.gvvWidgetVLayout = QVBoxLayout(self.gvvWidget)
+        self.gvvWidgetVLayout.setContentsMargins(0, 0, 0, 0)
+        self.gvvWidgetVLayout.setSpacing(3)
+        self.gvvWidget.setLayout(self.gvvWidgetVLayout)
+
+        self.globalsViewer = VariablesViewer(self, True, self.gvvWidget)
+        self.gvvWidgetVLayout.addWidget(self.globalsViewer)
 
-        self.globalsViewer = VariablesViewer(self, True, self.glvWidget)
-        self.glvWidgetVLayout.addWidget(self.globalsViewer)
+        self.gvvWidgetHLayout = QHBoxLayout()
+        self.gvvWidgetHLayout.setContentsMargins(3, 3, 3, 3)
 
-        self.glvWidgetHLayout = QHBoxLayout()
-        self.glvWidgetHLayout.setContentsMargins(3, 3, 3, 3)
+        self.globalsFilterTypeCombo = QComboBox(self.gvvWidget)
+        self.globalsFilterTypeCombo.setSizeAdjustPolicy(
+            QComboBox.SizeAdjustPolicy.AdjustToContents
+        )
+        self.globalsFilterTypeCombo.addItems(
+            [self.tr("Don't Show"), self.tr("Show Only")]
+        )
+        self.gvvWidgetHLayout.addWidget(self.globalsFilterTypeCombo)
 
-        # TODO: add a switch between "Show Only" and "Don't Show"
-        self.globalsFilterEdit = QLineEdit(self.glvWidget)
+        self.globalsFilterEdit = QLineEdit(self.gvvWidget)
         self.globalsFilterEdit.setSizePolicy(
             QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed
         )
-        self.glvWidgetHLayout.addWidget(self.globalsFilterEdit)
+        self.globalsFilterEdit.setClearButtonEnabled(True)
+        self.gvvWidgetHLayout.addWidget(self.globalsFilterEdit)
         self.globalsFilterEdit.setToolTip(
             self.tr(
                 "Enter regular expression patterns separated by ';'"
@@ -159,12 +168,12 @@
             )
         )
 
-        self.setGlobalsFilterButton = QPushButton(self.tr("Set"), self.glvWidget)
-        self.glvWidgetHLayout.addWidget(self.setGlobalsFilterButton)
-        self.glvWidgetVLayout.addLayout(self.glvWidgetHLayout)
+        self.setGlobalsFilterButton = QPushButton(self.tr("Set"), self.gvvWidget)
+        self.gvvWidgetHLayout.addWidget(self.setGlobalsFilterButton)
+        self.gvvWidgetVLayout.addLayout(self.gvvWidgetHLayout)
 
         index = self.__tabWidget.addTab(
-            self.glvWidget, UI.PixmapCache.getIcon("globalVariables"), ""
+            self.gvvWidget, UI.PixmapCache.getIcon("globalVariables"), ""
         )
         self.__tabWidget.setTabToolTip(
             index, self.tr("Shows the list of global variables and their values.")
@@ -174,38 +183,47 @@
         self.globalsFilterEdit.returnPressed.connect(self.setGlobalsFilter)
 
         # add the local variables viewer
-        self.lvWidget = QWidget()
-        self.lvWidgetVLayout = QVBoxLayout(self.lvWidget)
-        self.lvWidgetVLayout.setContentsMargins(0, 0, 0, 0)
-        self.lvWidgetVLayout.setSpacing(3)
-        self.lvWidget.setLayout(self.lvWidgetVLayout)
+        self.lvvWidget = QWidget()
+        self.lvvWidgetVLayout = QVBoxLayout(self.lvvWidget)
+        self.lvvWidgetVLayout.setContentsMargins(0, 0, 0, 0)
+        self.lvvWidgetVLayout.setSpacing(3)
+        self.lvvWidget.setLayout(self.lvvWidgetVLayout)
 
-        self.lvWidgetHLayout1 = QHBoxLayout()
-        self.lvWidgetHLayout1.setContentsMargins(3, 3, 3, 3)
+        self.lvvWidgetHLayout1 = QHBoxLayout()
+        self.lvvWidgetHLayout1.setContentsMargins(3, 3, 3, 3)
 
-        self.stackComboBox = QComboBox(self.lvWidget)
+        self.stackComboBox = QComboBox(self.lvvWidget)
         self.stackComboBox.setSizePolicy(
             QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed
         )
-        self.lvWidgetHLayout1.addWidget(self.stackComboBox)
+        self.lvvWidgetHLayout1.addWidget(self.stackComboBox)
 
-        self.sourceButton = QPushButton(self.tr("Source"), self.lvWidget)
-        self.lvWidgetHLayout1.addWidget(self.sourceButton)
+        self.sourceButton = QPushButton(self.tr("Source"), self.lvvWidget)
+        self.lvvWidgetHLayout1.addWidget(self.sourceButton)
         self.sourceButton.setEnabled(False)
-        self.lvWidgetVLayout.addLayout(self.lvWidgetHLayout1)
+        self.lvvWidgetVLayout.addLayout(self.lvvWidgetHLayout1)
+
+        self.localsViewer = VariablesViewer(self, False, self.lvvWidget)
+        self.lvvWidgetVLayout.addWidget(self.localsViewer)
 
-        self.localsViewer = VariablesViewer(self, False, self.lvWidget)
-        self.lvWidgetVLayout.addWidget(self.localsViewer)
+        self.lvvWidgetHLayout2 = QHBoxLayout()
+        self.lvvWidgetHLayout2.setContentsMargins(3, 3, 3, 3)
 
-        self.lvWidgetHLayout2 = QHBoxLayout()
-        self.lvWidgetHLayout2.setContentsMargins(3, 3, 3, 3)
+        self.localsFilterTypeCombo = QComboBox(self.lvvWidget)
+        self.localsFilterTypeCombo.setSizeAdjustPolicy(
+            QComboBox.SizeAdjustPolicy.AdjustToContents
+        )
+        self.localsFilterTypeCombo.addItems(
+            [self.tr("Don't Show"), self.tr("Show Only")]
+        )
+        self.lvvWidgetHLayout2.addWidget(self.localsFilterTypeCombo)
 
-        # TODO: add a switch between "Show Only" and "Don't Show"
-        self.localsFilterEdit = QLineEdit(self.lvWidget)
+        self.localsFilterEdit = QLineEdit(self.lvvWidget)
         self.localsFilterEdit.setSizePolicy(
             QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed
         )
-        self.lvWidgetHLayout2.addWidget(self.localsFilterEdit)
+        self.localsFilterEdit.setClearButtonEnabled(True)
+        self.lvvWidgetHLayout2.addWidget(self.localsFilterEdit)
         self.localsFilterEdit.setToolTip(
             self.tr(
                 "Enter regular expression patterns separated by ';' to define "
@@ -220,12 +238,12 @@
             )
         )
 
-        self.setLocalsFilterButton = QPushButton(self.tr("Set"), self.lvWidget)
-        self.lvWidgetHLayout2.addWidget(self.setLocalsFilterButton)
-        self.lvWidgetVLayout.addLayout(self.lvWidgetHLayout2)
+        self.setLocalsFilterButton = QPushButton(self.tr("Set"), self.lvvWidget)
+        self.lvvWidgetHLayout2.addWidget(self.setLocalsFilterButton)
+        self.lvvWidgetVLayout.addLayout(self.lvvWidgetHLayout2)
 
         index = self.__tabWidget.addTab(
-            self.lvWidget, UI.PixmapCache.getIcon("localVariables"), ""
+            self.lvvWidget, UI.PixmapCache.getIcon("localVariables"), ""
         )
         self.__tabWidget.setTabToolTip(
             index, self.tr("Shows the list of local variables and their values.")
@@ -312,7 +330,7 @@
             index, self.tr("Shows a code disassembly in case of an exception.")
         )
 
-        self.__tabWidget.setCurrentWidget(self.glvWidget)
+        self.__tabWidget.setCurrentWidget(self.gvvWidget)
 
         self.__doDebuggersListUpdate = True
 
@@ -378,7 +396,7 @@
         self.sourceButton.setEnabled(False)
         self.currentStack = None
         self.stackComboBox.clear()
-        self.__tabWidget.setCurrentWidget(self.glvWidget)
+        self.__tabWidget.setCurrentWidget(self.gvvWidget)
         self.breakpointViewer.handleResetUI()
         if fullReset:
             self.__debuggersList.clear()
@@ -457,9 +475,9 @@
         @type bool
         """
         if showGlobals:
-            self.__tabWidget.setCurrentWidget(self.glvWidget)
+            self.__tabWidget.setCurrentWidget(self.gvvWidget)
         else:
-            self.__tabWidget.setCurrentWidget(self.lvWidget)
+            self.__tabWidget.setCurrentWidget(self.lvvWidget)
 
     def handleClientStack(self, stack, debuggerId):
         """
@@ -617,6 +635,8 @@
         """
         if self.debugServer.isDebugging():
             filterStr = self.globalsFilterEdit.text()
+            if self.globalsFilterTypeCombo.currentIndex() == 0:
+                filterStr = "~ {0}".format(filterStr)
             self.debugServer.remoteClientSetFilter(
                 self.getSelectedDebuggerId(), 1, filterStr
             )
@@ -630,6 +650,8 @@
         """
         if self.debugServer.isDebugging():
             filterStr = self.localsFilterEdit.text()
+            if self.localsFilterTypeCombo.currentIndex() == 0:
+                filterStr = "~ {0}".format(filterStr)
             self.debugServer.remoteClientSetFilter(
                 self.getSelectedDebuggerId(), 0, filterStr
             )

eric ide

mercurial