Debug Viewer:

Fri, 05 Feb 2021 11:38:53 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 05 Feb 2021 11:38:53 +0100
changeset 8077
1fd8f611f26a
parent 8076
a5bb0dc804a2
child 8078
d0e6c9ef0f15

Debug Viewer:
- changed code to show project relative paths in the breakpoint viewer

docs/changelog file | annotate | diff | comparison | revisions
eric6/APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
eric6/Debugger/BreakPointModel.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebugServer.py file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.Debugger.BreakPointModel.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.Debugger.DebugServer.html file | annotate | diff | comparison | revisions
eric6/UI/UserInterface.py file | annotate | diff | comparison | revisions
--- a/docs/changelog	Fri Feb 05 11:02:28 2021 +0100
+++ b/docs/changelog	Fri Feb 05 11:38:53 2021 +0100
@@ -8,6 +8,8 @@
 - Debugger
   -- added capability to delete environment variables for the debugged script
      by adding a '-' to the variable name in the start dialog
+- Debug Viewer:
+  -- changed code to show project relative paths in the breakpoint viewer
 - MicroPython:
   -- extended the list of supported (recognized) CircuitPython boards
 
--- a/eric6/APIs/Python3/eric6.api	Fri Feb 05 11:02:28 2021 +0100
+++ b/eric6/APIs/Python3/eric6.api	Fri Feb 05 11:38:53 2021 +0100
@@ -491,7 +491,7 @@
 eric6.Debugger.BreakPointModel.BreakPointModel.setBreakPointByIndex?4(index, fn, line, properties)
 eric6.Debugger.BreakPointModel.BreakPointModel.setBreakPointEnabledByIndex?4(index, enabled)
 eric6.Debugger.BreakPointModel.BreakPointModel.setData?4(index, value, role=Qt.EditRole)
-eric6.Debugger.BreakPointModel.BreakPointModel?1(parent=None)
+eric6.Debugger.BreakPointModel.BreakPointModel?1(project, parent=None)
 eric6.Debugger.BreakPointViewer.BreakPointViewer.handleResetUI?4()
 eric6.Debugger.BreakPointViewer.BreakPointViewer.highlightBreakpoint?4(fn, lineno)
 eric6.Debugger.BreakPointViewer.BreakPointViewer.setModel?4(model)
@@ -654,7 +654,7 @@
 eric6.Debugger.DebugServer.DebugServer.utTestFailedExpected?7
 eric6.Debugger.DebugServer.DebugServer.utTestSkipped?7
 eric6.Debugger.DebugServer.DebugServer.utTestSucceededUnexpected?7
-eric6.Debugger.DebugServer.DebugServer?1(originalPathString, preventPassiveDebugging=False)
+eric6.Debugger.DebugServer.DebugServer?1(originalPathString, preventPassiveDebugging=False, project=None)
 eric6.Debugger.DebugServer.DebuggerInterfaces?7
 eric6.Debugger.DebugUI.DebugUI.appendStdout?7
 eric6.Debugger.DebugUI.DebugUI.clearHistories?4()
--- a/eric6/Debugger/BreakPointModel.py	Fri Feb 05 11:02:28 2021 +0100
+++ b/eric6/Debugger/BreakPointModel.py	Fri Feb 05 11:38:53 2021 +0100
@@ -21,15 +21,19 @@
     """
     dataAboutToBeChanged = pyqtSignal(QModelIndex, QModelIndex)
     
-    def __init__(self, parent=None):
+    def __init__(self, project, parent=None):
         """
         Constructor
         
+        @param project reference to the project object
+        @type Project
         @param parent reference to the parent widget
         @type QObject
         """
         super(BreakPointModel, self).__init__(parent)
         
+        self.__project = project
+        
         self.breakpoints = []
         self.header = [
             self.tr("Filename"),
@@ -89,15 +93,21 @@
             return None
         
         if role == Qt.DisplayRole:
-            if index.column() in [0, 1, 2, 5]:
+            if index.column() == 0:
+                filename = self.breakpoints[index.row()][0]
+                if self.__project.isOpen():
+                    return self.__project.getRelativePath(filename)
+                else:
+                    return filename
+            elif index.column() in (1, 2, 5):
                 return self.breakpoints[index.row()][index.column()]
         
         if role == Qt.CheckStateRole:
-            if index.column() in [3, 4]:
+            if index.column() in (3, 4):
                 return self.breakpoints[index.row()][index.column()]
         
         if role == Qt.ToolTipRole:
-            if index.column() in [0, 2]:
+            if index.column() in (0, 2):
                 return self.breakpoints[index.row()][index.column()]
         
         if role == Qt.TextAlignmentRole:
--- a/eric6/Debugger/DebugServer.py	Fri Feb 05 11:02:28 2021 +0100
+++ b/eric6/Debugger/DebugServer.py	Fri Feb 05 11:38:53 2021 +0100
@@ -168,15 +168,18 @@
     callTraceInfo = pyqtSignal(bool, str, str, str, str, str, str, str)
     appendStdout = pyqtSignal(str)
     
-    def __init__(self, originalPathString, preventPassiveDebugging=False):
+    def __init__(self, originalPathString, preventPassiveDebugging=False,
+                 project=None):
         """
         Constructor
         
         @param originalPathString original PATH environment variable
         @type str
         @param preventPassiveDebugging flag overriding the PassiveDbgEnabled
-            setting
-        @type bool
+            setting (defaults to False)
+        @type bool (optional)
+        @param project reference to the project object (defaults to None)
+        @type Project (optional)
         """
         super(DebugServer, self).__init__()
         
@@ -193,7 +196,7 @@
         # the value
         
         # create our models
-        self.breakpointModel = BreakPointModel(self)
+        self.breakpointModel = BreakPointModel(project, self)
         self.watchpointModel = WatchPointModel(self)
         self.watchSpecialCreated = self.tr(
             "created", "must be same as in EditWatchpointDialog")
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Source/eric6.Debugger.BreakPointModel.html	Fri Feb 05 11:02:28 2021 +0100
+++ b/eric6/Documentation/Source/eric6.Debugger.BreakPointModel.html	Fri Feb 05 11:38:53 2021 +0100
@@ -170,13 +170,17 @@
 
 <a NAME="BreakPointModel.__init__" ID="BreakPointModel.__init__"></a>
 <h4>BreakPointModel (Constructor)</h4>
-<b>BreakPointModel</b>(<i>parent=None</i>)
+<b>BreakPointModel</b>(<i>project, parent=None</i>)
 
 <p>
         Constructor
 </p>
 <dl>
 
+<dt><i>project</i> (Project)</dt>
+<dd>
+reference to the project object
+</dd>
 <dt><i>parent</i> (QObject)</dt>
 <dd>
 reference to the parent widget
--- a/eric6/Documentation/Source/eric6.Debugger.DebugServer.html	Fri Feb 05 11:02:28 2021 +0100
+++ b/eric6/Documentation/Source/eric6.Debugger.DebugServer.html	Fri Feb 05 11:38:53 2021 +0100
@@ -756,7 +756,7 @@
 
 <a NAME="DebugServer.__init__" ID="DebugServer.__init__"></a>
 <h4>DebugServer (Constructor)</h4>
-<b>DebugServer</b>(<i>originalPathString, preventPassiveDebugging=False</i>)
+<b>DebugServer</b>(<i>originalPathString, preventPassiveDebugging=False, project=None</i>)
 
 <p>
         Constructor
@@ -767,10 +767,14 @@
 <dd>
 original PATH environment variable
 </dd>
-<dt><i>preventPassiveDebugging</i> (bool)</dt>
+<dt><i>preventPassiveDebugging</i> (bool (optional))</dt>
 <dd>
 flag overriding the PassiveDbgEnabled
-            setting
+            setting (defaults to False)
+</dd>
+<dt><i>project</i> (Project (optional))</dt>
+<dd>
+reference to the project object (defaults to None)
 </dd>
 </dl>
 <a NAME="DebugServer.__addBreakPoints" ID="DebugServer.__addBreakPoints"></a>
--- a/eric6/UI/UserInterface.py	Fri Feb 05 11:02:28 2021 +0100
+++ b/eric6/UI/UserInterface.py	Fri Feb 05 11:38:53 2021 +0100
@@ -254,14 +254,6 @@
         # register it early because it is needed very soon
         e5App().registerObject("VirtualEnvManager", self.virtualenvManager)
         
-        # Generate the debug server object
-        from Debugger.DebugServer import DebugServer
-        debugServer = DebugServer(self.__originalPathString)
-        
-        # Create the background service object
-        from Utilities.BackgroundService import BackgroundService
-        self.backgroundService = BackgroundService()
-        
         # Generate an empty project object and multi project object
         from Project.Project import Project
         self.project = Project(self)
@@ -270,6 +262,15 @@
         from MultiProject.MultiProject import MultiProject
         self.multiProject = MultiProject(self.project, self)
         
+        # Generate the debug server object
+        from Debugger.DebugServer import DebugServer
+        debugServer = DebugServer(self.__originalPathString,
+                                  project=self.project)
+        
+        # Create the background service object
+        from Utilities.BackgroundService import BackgroundService
+        self.backgroundService = BackgroundService()
+        
         splash.showMessage(self.tr("Initializing Plugin Manager..."))
         
         # Initialize the Plugin Manager (Plugins are initialized later

eric ide

mercurial