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. |