eric6/Debugger/DebugViewer.py

changeset 7915
e68f5c568aee
parent 7903
827d89937c30
child 7920
322d1ee01510
diff -r 999f07b00a49 -r e68f5c568aee eric6/Debugger/DebugViewer.py
--- a/eric6/Debugger/DebugViewer.py	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/Debugger/DebugViewer.py	Sun Dec 27 16:44:10 2020 +0100
@@ -131,7 +131,9 @@
         index = self.__tabWidget.addTab(
             self.glvWidget,
             UI.PixmapCache.getIcon("globalVariables"), '')
-        self.__tabWidget.setTabToolTip(index, self.globalsViewer.windowTitle())
+        self.__tabWidget.setTabToolTip(
+            index,
+            self.tr("Shows the list of global variables and their values."))
         
         self.setGlobalsFilterButton.clicked.connect(
             self.setGlobalsFilter)
@@ -185,7 +187,9 @@
         index = self.__tabWidget.addTab(
             self.lvWidget,
             UI.PixmapCache.getIcon("localVariables"), '')
-        self.__tabWidget.setTabToolTip(index, self.localsViewer.windowTitle())
+        self.__tabWidget.setTabToolTip(
+            index,
+            self.tr("Shows the list of local variables and their values."))
         
         self.sourceButton.clicked.connect(self.__showSource)
         self.stackComboBox.currentIndexChanged[int].connect(
@@ -204,7 +208,8 @@
             self.callStackViewer,
             UI.PixmapCache.getIcon("callStack"), "")
         self.__tabWidget.setTabToolTip(
-            index, self.callStackViewer.windowTitle())
+            index,
+            self.tr("Shows the current call stack."))
         self.callStackViewer.sourceFile.connect(self.sourceFile)
         self.callStackViewer.frameSelected.connect(
             self.__callStackFrameSelected)
@@ -216,7 +221,8 @@
             self.callTraceViewer,
             UI.PixmapCache.getIcon("callTrace"), "")
         self.__tabWidget.setTabToolTip(
-            index, self.callTraceViewer.windowTitle())
+            index,
+            self.tr("Shows a trace of the program flow."))
         self.callTraceViewer.sourceFile.connect(self.sourceFile)
         
         from .BreakPointViewer import BreakPointViewer
@@ -227,7 +233,8 @@
             self.breakpointViewer,
             UI.PixmapCache.getIcon("breakpoints"), '')
         self.__tabWidget.setTabToolTip(
-            index, self.breakpointViewer.windowTitle())
+            index,
+            self.tr("Shows a list of defined breakpoints."))
         self.breakpointViewer.sourceFile.connect(self.sourceFile)
         
         from .WatchPointViewer import WatchPointViewer
@@ -238,7 +245,8 @@
             self.watchpointViewer,
             UI.PixmapCache.getIcon("watchpoints"), '')
         self.__tabWidget.setTabToolTip(
-            index, self.watchpointViewer.windowTitle())
+            index,
+            self.tr("Shows a list of defined watchpoints."))
         
         from .ExceptionLogger import ExceptionLogger
         # add the exception logger
@@ -247,7 +255,8 @@
             self.exceptionLogger,
             UI.PixmapCache.getIcon("exceptions"), '')
         self.__tabWidget.setTabToolTip(
-            index, self.exceptionLogger.windowTitle())
+            index,
+            self.tr("Shows a list of raised exceptions."))
         
         from UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes
         # add the Python disassembly viewer
@@ -257,7 +266,8 @@
             self.disassemblyViewer,
             UI.PixmapCache.getIcon("disassembly"), '')
         self.__tabWidget.setTabToolTip(
-            index, self.disassemblyViewer.windowTitle())
+            index,
+            self.tr("Shows a code disassembly in case of an exception."))
         
         self.__tabWidget.setCurrentWidget(self.glvWidget)
         
@@ -484,17 +494,19 @@
         @param debuggerId ID of the debugger backend
         @type str
         """
-        if debuggerId == self.getSelectedDebuggerId():
-            # the current client has exited
-            self.globalsViewer.handleResetUI()
-            self.localsViewer.handleResetUI()
-            self.setGlobalsFilter()
-            self.setLocalsFilter()
-            self.sourceButton.setEnabled(False)
-            self.currentStack = None
-            self.stackComboBox.clear()
-            self.__threadList.clear()
-        self.__removeDebugger(debuggerId)
+        if not self.isOnlyDebugger():
+            if debuggerId == self.getSelectedDebuggerId():
+                # the current client has exited
+                self.globalsViewer.handleResetUI()
+                self.localsViewer.handleResetUI()
+                self.setGlobalsFilter()
+                self.setLocalsFilter()
+                self.sourceButton.setEnabled(False)
+                self.currentStack = None
+                self.stackComboBox.clear()
+                self.__threadList.clear()
+            
+            self.__removeDebugger(debuggerId)
     
     def __clientSyntaxError(self, message, filename, lineNo, characterNo,
                             debuggerId):
@@ -772,6 +784,15 @@
         if foundItems:
             self.__debuggersList.setCurrentItem(foundItems[0])
     
+    def isOnlyDebugger(self):
+        """
+        Public method to test, if only one debugger is connected.
+        
+        @return flag indicating that only one debugger is connected
+        @rtype bool
+        """
+        return self.__debuggersList.topLevelItemCount() == 1
+    
     def getSelectedDebuggerId(self):
         """
         Public method to get the currently selected debugger ID.

eric ide

mercurial