diff -r fb89c1dc9825 -r 1d9a71952123 src/eric7/Debugger/DebugViewer.py --- 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 )