Debugger/DebugViewer.py

branch
Py2 comp.
changeset 3057
10516539f238
parent 2847
1843ef6e2656
parent 2988
f53c03574697
child 3058
0a02c433f52d
--- a/Debugger/DebugViewer.py	Tue Oct 15 22:03:54 2013 +0200
+++ b/Debugger/DebugViewer.py	Fri Oct 18 23:00:41 2013 +0200
@@ -25,8 +25,9 @@
 import os
 
 from PyQt4.QtCore import pyqtSignal
-from PyQt4.QtGui import QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QSizePolicy, \
-    QPushButton, QComboBox, QLabel, QTreeWidget, QTreeWidgetItem, QHeaderView
+from PyQt4.QtGui import QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, \
+    QSizePolicy, QPushButton, QComboBox, QLabel, QTreeWidget, \
+    QTreeWidgetItem, QHeaderView
 
 import UI.PixmapCache
 import Preferences
@@ -39,9 +40,9 @@
     Class implementing a widget conatining various debug related views.
     
     The individual tabs contain the interpreter shell (optional),
-    the filesystem browser (optional), the two variables viewers (global and local),
-    a breakpoint viewer, a watch expression viewer and the exception logger. Additionally
-    a list of all threads is shown.
+    the filesystem browser (optional), the two variables viewers
+    (global and local), a breakpoint viewer, a watch expression viewer and
+    the exception logger. Additionally a list of all threads is shown.
     
     @signal sourceFile(string, int) emitted to open a source file at a line
     """
@@ -56,13 +57,13 @@
         @param docked flag indicating a dock window
         @param vm reference to the viewmanager object
         @param parent parent widget (QWidget)
-        @param embeddedShell flag indicating whether the shell should be included.
-                This flag is set to False by those layouts, that have the interpreter
-                shell in a separate window.
+        @param embeddedShell flag indicating whether the shell should be
+            included. This flag is set to False by those layouts, that have
+            the interpreter shell in a separate window.
         @param embeddedBrowser flag indicating whether the file browser should
-                be included. This flag is set to False by those layouts, that
-                have the file browser in a separate window or embedded
-                in the project browser instead.
+            be included. This flag is set to False by those layouts, that
+            have the file browser in a separate window or embedded
+            in the project browser instead.
         """
         super(DebugViewer, self).__init__(parent)
         
@@ -112,17 +113,20 @@
         self.glvWidgetHLayout.setContentsMargins(3, 3, 3, 3)
         
         self.globalsFilterEdit = QLineEdit(self.glvWidget)
-        self.globalsFilterEdit.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
+        self.globalsFilterEdit.setSizePolicy(
+            QSizePolicy.Expanding, QSizePolicy.Fixed)
         self.glvWidgetHLayout.addWidget(self.globalsFilterEdit)
         self.globalsFilterEdit.setToolTip(
-            self.trUtf8("Enter regular expression patterns separated by ';' to define "
-                "variable filters. "))
+            self.trUtf8("Enter regular expression patterns separated by ';'"
+                        " to define variable filters. "))
         self.globalsFilterEdit.setWhatsThis(
-            self.trUtf8("Enter regular expression patterns separated by ';' to define "
-                "variable filters. All variables and class attributes matched by one of "
-                "the expressions are not shown in the list above."))
+            self.trUtf8("Enter regular expression patterns separated by ';'"
+                        " to define variable filters. All variables and"
+                        " class attributes matched by one of the expressions"
+                        " are not shown in the list above."))
         
-        self.setGlobalsFilterButton = QPushButton(self.trUtf8('Set'), self.glvWidget)
+        self.setGlobalsFilterButton = QPushButton(
+            self.trUtf8('Set'), self.glvWidget)
         self.glvWidgetHLayout.addWidget(self.setGlobalsFilterButton)
         self.glvWidgetVLayout.addLayout(self.glvWidgetHLayout)
         
@@ -130,7 +134,8 @@
             UI.PixmapCache.getIcon("globalVariables.png"), '')
         self.__tabWidget.setTabToolTip(index, self.globalsViewer.windowTitle())
         
-        self.setGlobalsFilterButton.clicked[()].connect(self.__setGlobalsFilter)
+        self.setGlobalsFilterButton.clicked[()].connect(
+            self.__setGlobalsFilter)
         self.globalsFilterEdit.returnPressed.connect(self.__setGlobalsFilter)
         
         # add the local variables viewer
@@ -144,7 +149,8 @@
         self.lvWidgetHLayout1.setContentsMargins(3, 3, 3, 3)
         
         self.stackComboBox = QComboBox(self.lvWidget)
-        self.stackComboBox.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
+        self.stackComboBox.setSizePolicy(
+            QSizePolicy.Expanding, QSizePolicy.Fixed)
         self.lvWidgetHLayout1.addWidget(self.stackComboBox)
 
         self.sourceButton = QPushButton(self.trUtf8('Source'), self.lvWidget)
@@ -159,17 +165,21 @@
         self.lvWidgetHLayout2.setContentsMargins(3, 3, 3, 3)
         
         self.localsFilterEdit = QLineEdit(self.lvWidget)
-        self.localsFilterEdit.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
+        self.localsFilterEdit.setSizePolicy(
+            QSizePolicy.Expanding, QSizePolicy.Fixed)
         self.lvWidgetHLayout2.addWidget(self.localsFilterEdit)
         self.localsFilterEdit.setToolTip(
-            self.trUtf8("Enter regular expression patterns separated by ';' to define "
+            self.trUtf8(
+                "Enter regular expression patterns separated by ';' to define "
                 "variable filters. "))
         self.localsFilterEdit.setWhatsThis(
-            self.trUtf8("Enter regular expression patterns separated by ';' to define "
-                "variable filters. All variables and class attributes matched by one of "
-                "the expressions are not shown in the list above."))
+            self.trUtf8(
+                "Enter regular expression patterns separated by ';' to define "
+                "variable filters. All variables and class attributes matched"
+                " by one of the expressions are not shown in the list above."))
         
-        self.setLocalsFilterButton = QPushButton(self.trUtf8('Set'), self.lvWidget)
+        self.setLocalsFilterButton = QPushButton(
+            self.trUtf8('Set'), self.lvWidget)
         self.lvWidgetHLayout2.addWidget(self.setLocalsFilterButton)
         self.lvWidgetVLayout.addLayout(self.lvWidgetHLayout2)
         
@@ -178,7 +188,8 @@
         self.__tabWidget.setTabToolTip(index, self.localsViewer.windowTitle())
         
         self.sourceButton.clicked[()].connect(self.__showSource)
-        self.stackComboBox.currentIndexChanged[int].connect(self.__frameSelected)
+        self.stackComboBox.currentIndexChanged[int].connect(
+            self.__frameSelected)
         self.setLocalsFilterButton.clicked[()].connect(self.__setLocalsFilter)
         self.localsFilterEdit.returnPressed.connect(self.__setLocalsFilter)
         
@@ -187,16 +198,19 @@
         self.callStackViewer = CallStackViewer(self.debugServer)
         index = self.__tabWidget.addTab(self.callStackViewer,
             UI.PixmapCache.getIcon("step.png"), "")
-        self.__tabWidget.setTabToolTip(index, self.callStackViewer.windowTitle())
+        self.__tabWidget.setTabToolTip(
+            index, self.callStackViewer.windowTitle())
         self.callStackViewer.sourceFile.connect(self.sourceFile)
-        self.callStackViewer.frameSelected.connect(self.__callStackFrameSelected)
+        self.callStackViewer.frameSelected.connect(
+            self.__callStackFrameSelected)
         
         from .CallTraceViewer import CallTraceViewer
         # add the call trace viewer
         self.callTraceViewer = CallTraceViewer(self.debugServer)
         index = self.__tabWidget.addTab(self.callTraceViewer,
             UI.PixmapCache.getIcon("callTrace.png"), "")
-        self.__tabWidget.setTabToolTip(index, self.callTraceViewer.windowTitle())
+        self.__tabWidget.setTabToolTip(
+            index, self.callTraceViewer.windowTitle())
         self.callTraceViewer.sourceFile.connect(self.sourceFile)
         
         from .BreakPointViewer import BreakPointViewer
@@ -205,7 +219,8 @@
         self.breakpointViewer.setModel(self.debugServer.getBreakPointModel())
         index = self.__tabWidget.addTab(self.breakpointViewer,
             UI.PixmapCache.getIcon("breakpoints.png"), '')
-        self.__tabWidget.setTabToolTip(index, self.breakpointViewer.windowTitle())
+        self.__tabWidget.setTabToolTip(
+            index, self.breakpointViewer.windowTitle())
         self.breakpointViewer.sourceFile.connect(self.sourceFile)
         
         from .WatchPointViewer import WatchPointViewer
@@ -214,14 +229,16 @@
         self.watchpointViewer.setModel(self.debugServer.getWatchPointModel())
         index = self.__tabWidget.addTab(self.watchpointViewer,
             UI.PixmapCache.getIcon("watchpoints.png"), '')
-        self.__tabWidget.setTabToolTip(index, self.watchpointViewer.windowTitle())
+        self.__tabWidget.setTabToolTip(
+            index, self.watchpointViewer.windowTitle())
         
         from .ExceptionLogger import ExceptionLogger
         # add the exception logger
         self.exceptionLogger = ExceptionLogger()
         index = self.__tabWidget.addTab(self.exceptionLogger,
             UI.PixmapCache.getIcon("exceptions.png"), '')
-        self.__tabWidget.setTabToolTip(index, self.exceptionLogger.windowTitle())
+        self.__tabWidget.setTabToolTip(
+            index, self.exceptionLogger.windowTitle())
         
         if self.embeddedShell:
             self.__tabWidget.setCurrentWidget(self.shellAssembly)
@@ -234,8 +251,9 @@
         # add the threads viewer
         self.__mainLayout.addWidget(QLabel(self.trUtf8("Threads:")))
         self.__threadList = QTreeWidget()
-        self.__threadList.setHeaderLabels([self.trUtf8("ID"), self.trUtf8("Name"),
-                                           self.trUtf8("State"), ""])
+        self.__threadList.setHeaderLabels(
+            [self.trUtf8("ID"), self.trUtf8("Name"),
+             self.trUtf8("State"), ""])
         self.__threadList.setSortingEnabled(True)
         self.__mainLayout.addWidget(self.__threadList)
         
@@ -385,8 +403,8 @@
         """
         Public slot to show the call stack of the program being debugged.
         
-        @param stack list of tuples with call stack data (file name, line number,
-            function name, formatted argument/values list)
+        @param stack list of tuples with call stack data (file name,
+            line number, function name, formatted argument/values list)
         """
         block = self.stackComboBox.blockSignals(True)
         self.framenr = 0
@@ -403,7 +421,8 @@
         """
         Public slot to set the local variables filter.
         
-        @param globalsFilter filter list for global variable types (list of int)
+        @param globalsFilter filter list for global variable types
+            (list of int)
         @param localsFilter filter list for local variable types (list of int)
         """
         self.globalsFilter = globalsFilter
@@ -411,7 +430,8 @@
         
     def __showSource(self):
         """
-        Private slot to handle the source button press to show the selected file.
+        Private slot to handle the source button press to show the selected
+        file.
         """
         index = self.stackComboBox.currentIndex()
         if index > -1 and self.currentStack:
@@ -432,7 +452,7 @@
         
     def __setGlobalsFilter(self):
         """
-        Private slot to set the global variable filter
+        Private slot to set the global variable filter.
         """
         filter = self.globalsFilterEdit.text()
         self.debugServer.remoteClientSetFilter(1, filter)
@@ -441,12 +461,13 @@
         
     def __setLocalsFilter(self):
         """
-        Private slot to set the local variable filter
+        Private slot to set the local variable filter.
         """
         filter = self.localsFilterEdit.text()
         self.debugServer.remoteClientSetFilter(0, filter)
         if self.currentStack:
-            self.debugServer.remoteClientVariables(0, self.localsFilter, self.framenr)
+            self.debugServer.remoteClientVariables(
+                0, self.localsFilter, self.framenr)
         
     def handleDebuggingStarted(self):
         """
@@ -490,7 +511,8 @@
             else:
                 state = self.trUtf8("running")
             itm = QTreeWidgetItem(self.__threadList,
-                                  ["{0:d}".format(thread['id']), thread['name'], state])
+                                  ["{0:d}".format(thread['id']),
+                                   thread['name'], state])
             if thread['id'] == currentID:
                 citm = itm
         
@@ -507,7 +529,8 @@
         Private slot to handle the selection of a thread in the thread list.
         
         @param current reference to the new current item (QTreeWidgetItem)
-        @param previous reference to the previous current item (QTreeWidgetItem)
+        @param previous reference to the previous current item
+            (QTreeWidgetItem)
         """
         if current is not None and self.__doThreadListUpdate:
             tid = int(current.text(0))

eric ide

mercurial