Debugger/DebugViewer.py

changeset 5165
37691caeec1a
parent 4631
5c1a96925da4
child 5389
9b1c800daff3
equal deleted inserted replaced
5163:741cf2db16ba 5165:37691caeec1a
51 def __init__(self, debugServer, docked, vm, parent=None, 51 def __init__(self, debugServer, docked, vm, parent=None,
52 embeddedShell=True, embeddedBrowser=True): 52 embeddedShell=True, embeddedBrowser=True):
53 """ 53 """
54 Constructor 54 Constructor
55 55
56 @param debugServer reference to the debug server object 56 @param debugServer reference to the debug server object (DebugServer)
57 @param docked flag indicating a dock window 57 @param docked flag indicating a dock window
58 @param vm reference to the viewmanager object 58 @param vm reference to the viewmanager object
59 @param parent parent widget (QWidget) 59 @param parent parent widget (QWidget)
60 @param embeddedShell flag indicating whether the shell should be 60 @param embeddedShell flag indicating whether the shell should be
61 included. This flag is set to False by those layouts, that have 61 included. This flag is set to False by those layouts, that have
106 self.glvWidgetVLayout = QVBoxLayout(self.glvWidget) 106 self.glvWidgetVLayout = QVBoxLayout(self.glvWidget)
107 self.glvWidgetVLayout.setContentsMargins(0, 0, 0, 0) 107 self.glvWidgetVLayout.setContentsMargins(0, 0, 0, 0)
108 self.glvWidgetVLayout.setSpacing(3) 108 self.glvWidgetVLayout.setSpacing(3)
109 self.glvWidget.setLayout(self.glvWidgetVLayout) 109 self.glvWidget.setLayout(self.glvWidgetVLayout)
110 110
111 self.globalsViewer = VariablesViewer(self.glvWidget, True) 111 self.globalsViewer = VariablesViewer(self, True, self.glvWidget)
112 self.glvWidgetVLayout.addWidget(self.globalsViewer) 112 self.glvWidgetVLayout.addWidget(self.globalsViewer)
113 113
114 self.glvWidgetHLayout = QHBoxLayout() 114 self.glvWidgetHLayout = QHBoxLayout()
115 self.glvWidgetHLayout.setContentsMargins(3, 3, 3, 3) 115 self.glvWidgetHLayout.setContentsMargins(3, 3, 3, 3)
116 116
136 self.glvWidget, 136 self.glvWidget,
137 UI.PixmapCache.getIcon("globalVariables.png"), '') 137 UI.PixmapCache.getIcon("globalVariables.png"), '')
138 self.__tabWidget.setTabToolTip(index, self.globalsViewer.windowTitle()) 138 self.__tabWidget.setTabToolTip(index, self.globalsViewer.windowTitle())
139 139
140 self.setGlobalsFilterButton.clicked.connect( 140 self.setGlobalsFilterButton.clicked.connect(
141 self.__setGlobalsFilter) 141 self.setGlobalsFilter)
142 self.globalsFilterEdit.returnPressed.connect(self.__setGlobalsFilter) 142 self.globalsFilterEdit.returnPressed.connect(self.setGlobalsFilter)
143 143
144 # add the local variables viewer 144 # add the local variables viewer
145 self.lvWidget = QWidget() 145 self.lvWidget = QWidget()
146 self.lvWidgetVLayout = QVBoxLayout(self.lvWidget) 146 self.lvWidgetVLayout = QVBoxLayout(self.lvWidget)
147 self.lvWidgetVLayout.setContentsMargins(0, 0, 0, 0) 147 self.lvWidgetVLayout.setContentsMargins(0, 0, 0, 0)
159 self.sourceButton = QPushButton(self.tr('Source'), self.lvWidget) 159 self.sourceButton = QPushButton(self.tr('Source'), self.lvWidget)
160 self.lvWidgetHLayout1.addWidget(self.sourceButton) 160 self.lvWidgetHLayout1.addWidget(self.sourceButton)
161 self.sourceButton.setEnabled(False) 161 self.sourceButton.setEnabled(False)
162 self.lvWidgetVLayout.addLayout(self.lvWidgetHLayout1) 162 self.lvWidgetVLayout.addLayout(self.lvWidgetHLayout1)
163 163
164 self.localsViewer = VariablesViewer(self.lvWidget, False) 164 self.localsViewer = VariablesViewer(self, False, self.lvWidget)
165 self.lvWidgetVLayout.addWidget(self.localsViewer) 165 self.lvWidgetVLayout.addWidget(self.localsViewer)
166 166
167 self.lvWidgetHLayout2 = QHBoxLayout() 167 self.lvWidgetHLayout2 = QHBoxLayout()
168 self.lvWidgetHLayout2.setContentsMargins(3, 3, 3, 3) 168 self.lvWidgetHLayout2.setContentsMargins(3, 3, 3, 3)
169 169
192 self.__tabWidget.setTabToolTip(index, self.localsViewer.windowTitle()) 192 self.__tabWidget.setTabToolTip(index, self.localsViewer.windowTitle())
193 193
194 self.sourceButton.clicked.connect(self.__showSource) 194 self.sourceButton.clicked.connect(self.__showSource)
195 self.stackComboBox.currentIndexChanged[int].connect( 195 self.stackComboBox.currentIndexChanged[int].connect(
196 self.__frameSelected) 196 self.__frameSelected)
197 self.setLocalsFilterButton.clicked.connect(self.__setLocalsFilter) 197 self.setLocalsFilterButton.clicked.connect(self.setLocalsFilter)
198 self.localsFilterEdit.returnPressed.connect(self.__setLocalsFilter) 198 self.localsFilterEdit.returnPressed.connect(self.setLocalsFilter)
199 199
200 from .CallStackViewer import CallStackViewer 200 from .CallStackViewer import CallStackViewer
201 # add the call stack viewer 201 # add the call stack viewer
202 self.callStackViewer = CallStackViewer(self.debugServer) 202 self.callStackViewer = CallStackViewer(self.debugServer)
203 index = self.__tabWidget.addTab( 203 index = self.__tabWidget.addTab(
303 """ 303 """
304 Public method to reset the SBVviewer. 304 Public method to reset the SBVviewer.
305 """ 305 """
306 self.globalsViewer.handleResetUI() 306 self.globalsViewer.handleResetUI()
307 self.localsViewer.handleResetUI() 307 self.localsViewer.handleResetUI()
308 self.__setGlobalsFilter() 308 self.setGlobalsFilter()
309 self.__setLocalsFilter() 309 self.setLocalsFilter()
310 self.sourceButton.setEnabled(False) 310 self.sourceButton.setEnabled(False)
311 self.currentStack = None 311 self.currentStack = None
312 self.stackComboBox.clear() 312 self.stackComboBox.clear()
313 self.__threadList.clear() 313 self.__threadList.clear()
314 if self.embeddedShell: 314 if self.embeddedShell:
459 self.debugServer.remoteClientVariables(0, self.localsFilter, frmnr) 459 self.debugServer.remoteClientVariables(0, self.localsFilter, frmnr)
460 460
461 if self.__autoViewSource: 461 if self.__autoViewSource:
462 self.__showSource() 462 self.__showSource()
463 463
464 def __setGlobalsFilter(self): 464 def setGlobalsFilter(self):
465 """ 465 """
466 Private slot to set the global variable filter. 466 Public slot to set the global variable filter.
467 """ 467 """
468 filter = self.globalsFilterEdit.text() 468 filter = self.globalsFilterEdit.text()
469 self.debugServer.remoteClientSetFilter(1, filter) 469 self.debugServer.remoteClientSetFilter(1, filter)
470 self.debugServer.remoteClientVariables(2, self.globalsFilter) 470 self.debugServer.remoteClientVariables(2, self.globalsFilter)
471 471
472 def __setLocalsFilter(self): 472 def setLocalsFilter(self):
473 """ 473 """
474 Private slot to set the local variable filter. 474 Public slot to set the local variable filter.
475 """ 475 """
476 filter = self.localsFilterEdit.text() 476 filter = self.localsFilterEdit.text()
477 self.debugServer.remoteClientSetFilter(0, filter) 477 self.debugServer.remoteClientSetFilter(0, filter)
478 if self.currentStack: 478 if self.currentStack:
479 self.debugServer.remoteClientVariables( 479 self.debugServer.remoteClientVariables(
483 """ 483 """
484 Public slot to handle the start of a debugging session. 484 Public slot to handle the start of a debugging session.
485 485
486 This slot sets the variables filter expressions. 486 This slot sets the variables filter expressions.
487 """ 487 """
488 self.__setGlobalsFilter() 488 self.setGlobalsFilter()
489 self.__setLocalsFilter() 489 self.setLocalsFilter()
490 self.showVariablesTab(False) 490 self.showVariablesTab(False)
491 491
492 def currentWidget(self): 492 def currentWidget(self):
493 """ 493 """
494 Public method to get a reference to the current widget. 494 Public method to get a reference to the current widget.

eric ide

mercurial