From afc5e6fa3eb1eb749e91c6fed121a05e85e2ef63 Mon Sep 17 00:00:00 2001 From: Ernie Pasveer Date: Sun, 20 Apr 2025 09:33:31 -0500 Subject: [PATCH] WIP: add 'handleSessionTerminated' to relevant widgets. --- src/SeerAdaExceptionsBrowserWidget.cpp | 6 ++++ src/SeerAdaExceptionsBrowserWidget.h | 1 + src/SeerAdaTasksBrowserWidget.cpp | 6 ++++ src/SeerAdaTasksBrowserWidget.h | 1 + src/SeerBreakpointsBrowserWidget.cpp | 6 ++++ src/SeerBreakpointsBrowserWidget.h | 1 + src/SeerCatchpointsBrowserWidget.cpp | 6 ++++ src/SeerCatchpointsBrowserWidget.h | 1 + src/SeerConsoleWidget.ui | 2 +- src/SeerFunctionBrowserWidget.cpp | 6 ++++ src/SeerFunctionBrowserWidget.h | 1 + src/SeerGdbWidget.cpp | 28 +++++++++++++++-- src/SeerLibraryBrowserWidget.cpp | 6 ++++ src/SeerLibraryBrowserWidget.h | 1 + src/SeerPrintpointsBrowserWidget.cpp | 6 ++++ src/SeerPrintpointsBrowserWidget.h | 1 + src/SeerRegisterValuesBrowserWidget.cpp | 8 +++++ src/SeerRegisterValuesBrowserWidget.h | 1 + src/SeerSkipBrowserWidget.cpp | 6 ++++ src/SeerSkipBrowserWidget.h | 1 + src/SeerSourceBrowserWidget.cpp | 38 ++++++++++++++++-------- src/SeerSourceBrowserWidget.h | 3 ++ src/SeerStackArgumentsBrowserWidget.cpp | 6 ++++ src/SeerStackArgumentsBrowserWidget.h | 1 + src/SeerStackDumpBrowserWidget.cpp | 6 ++++ src/SeerStackDumpBrowserWidget.h | 1 + src/SeerStackFramesBrowserWidget.cpp | 6 ++++ src/SeerStackFramesBrowserWidget.h | 1 + src/SeerStackLocalsBrowserWidget.cpp | 6 ++++ src/SeerStackLocalsBrowserWidget.h | 1 + src/SeerStaticBrowserWidget.cpp | 6 ++++ src/SeerStaticBrowserWidget.h | 1 + src/SeerThreadFramesBrowserWidget.cpp | 6 ++++ src/SeerThreadFramesBrowserWidget.h | 1 + src/SeerThreadGroupsBrowserWidget.cpp | 6 ++++ src/SeerThreadGroupsBrowserWidget.h | 1 + src/SeerThreadIdsBrowserWidget.cpp | 6 ++++ src/SeerThreadIdsBrowserWidget.h | 1 + src/SeerTypeBrowserWidget.cpp | 6 ++++ src/SeerTypeBrowserWidget.h | 1 + src/SeerVariableLoggerBrowserWidget.cpp | 6 ++++ src/SeerVariableLoggerBrowserWidget.h | 1 + src/SeerVariableTrackerBrowserWidget.cpp | 6 ++++ src/SeerVariableTrackerBrowserWidget.h | 1 + src/SeerWatchpointsBrowserWidget.cpp | 6 ++++ src/SeerWatchpointsBrowserWidget.h | 1 + 46 files changed, 204 insertions(+), 16 deletions(-) diff --git a/src/SeerAdaExceptionsBrowserWidget.cpp b/src/SeerAdaExceptionsBrowserWidget.cpp index 1ad87b1..d0bc8c8 100644 --- a/src/SeerAdaExceptionsBrowserWidget.cpp +++ b/src/SeerAdaExceptionsBrowserWidget.cpp @@ -87,6 +87,12 @@ void SeerAdaExceptionsBrowserWidget::handleText (const QString& text) { QApplication::restoreOverrideCursor(); } +void SeerAdaExceptionsBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + adaExceptionsTreeWidget->clear(); +} + void SeerAdaExceptionsBrowserWidget::handleSearchLineEdit (const QString& text) { // Set everything to a normal font. If there is no search text, unhide everything. diff --git a/src/SeerAdaExceptionsBrowserWidget.h b/src/SeerAdaExceptionsBrowserWidget.h index cb30e4b..3dc4872 100644 --- a/src/SeerAdaExceptionsBrowserWidget.h +++ b/src/SeerAdaExceptionsBrowserWidget.h @@ -14,6 +14,7 @@ class SeerAdaExceptionsBrowserWidget : public QWidget, protected Ui::SeerAdaExce public slots: void handleText (const QString& text); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerAdaTasksBrowserWidget.cpp b/src/SeerAdaTasksBrowserWidget.cpp index e6fb258..2fc5c0c 100644 --- a/src/SeerAdaTasksBrowserWidget.cpp +++ b/src/SeerAdaTasksBrowserWidget.cpp @@ -164,6 +164,12 @@ void SeerAdaTasksBrowserWidget::handleStoppingPointReached () { refresh(); } +void SeerAdaTasksBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + adaTaskTreeWidget->clear(); +} + void SeerAdaTasksBrowserWidget::handleItemClicked (QTreeWidgetItem* item, int column) { Q_UNUSED(column); diff --git a/src/SeerAdaTasksBrowserWidget.h b/src/SeerAdaTasksBrowserWidget.h index e469da2..a414b37 100644 --- a/src/SeerAdaTasksBrowserWidget.h +++ b/src/SeerAdaTasksBrowserWidget.h @@ -15,6 +15,7 @@ class SeerAdaTasksBrowserWidget : public QWidget, protected Ui::SeerAdaTasksBrow public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerBreakpointsBrowserWidget.cpp b/src/SeerBreakpointsBrowserWidget.cpp index f343770..592b611 100644 --- a/src/SeerBreakpointsBrowserWidget.cpp +++ b/src/SeerBreakpointsBrowserWidget.cpp @@ -219,6 +219,12 @@ void SeerBreakpointsBrowserWidget::handleStoppingPointReached () { emit refreshBreakpointsList(); } +void SeerBreakpointsBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + breakpointsTreeWidget->clear(); +} + void SeerBreakpointsBrowserWidget::handleItemDoubleClicked (QTreeWidgetItem* item, int column) { Q_UNUSED(column); diff --git a/src/SeerBreakpointsBrowserWidget.h b/src/SeerBreakpointsBrowserWidget.h index a7e25e8..81e4600 100644 --- a/src/SeerBreakpointsBrowserWidget.h +++ b/src/SeerBreakpointsBrowserWidget.h @@ -19,6 +19,7 @@ class SeerBreakpointsBrowserWidget : public QWidget, protected Ui::SeerBreakpoin public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); private slots: void handleItemDoubleClicked (QTreeWidgetItem* item, int column); diff --git a/src/SeerCatchpointsBrowserWidget.cpp b/src/SeerCatchpointsBrowserWidget.cpp index baafa39..c056c9e 100644 --- a/src/SeerCatchpointsBrowserWidget.cpp +++ b/src/SeerCatchpointsBrowserWidget.cpp @@ -255,6 +255,12 @@ void SeerCatchpointsBrowserWidget::handleStoppingPointReached () { emit refreshCatchpointsList(); } +void SeerCatchpointsBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + catchpointsTreeWidget->clear(); +} + void SeerCatchpointsBrowserWidget::handleRefreshToolButton () { emit refreshCatchpointsList(); diff --git a/src/SeerCatchpointsBrowserWidget.h b/src/SeerCatchpointsBrowserWidget.h index 8968dcf..62a6798 100644 --- a/src/SeerCatchpointsBrowserWidget.h +++ b/src/SeerCatchpointsBrowserWidget.h @@ -19,6 +19,7 @@ class SeerCatchpointsBrowserWidget : public QWidget, protected Ui::SeerCatchpoin public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); private slots: void handleRefreshToolButton (); diff --git a/src/SeerConsoleWidget.ui b/src/SeerConsoleWidget.ui index ec219b2..df96ba2 100644 --- a/src/SeerConsoleWidget.ui +++ b/src/SeerConsoleWidget.ui @@ -44,7 +44,7 @@ - :/seer/resources/RelaxLightIcons/edit-clear.svg:/seer/resources/RelaxLightIcons/edit-clear.svg + :/seer/resources/RelaxLightIcons/edit-delete.svg:/seer/resources/RelaxLightIcons/edit-delete.svg diff --git a/src/SeerFunctionBrowserWidget.cpp b/src/SeerFunctionBrowserWidget.cpp index 66b90c7..39f5764 100644 --- a/src/SeerFunctionBrowserWidget.cpp +++ b/src/SeerFunctionBrowserWidget.cpp @@ -167,6 +167,12 @@ void SeerFunctionBrowserWidget::handleText (const QString& text) { QApplication::restoreOverrideCursor(); } +void SeerFunctionBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + functionTreeWidget->clear(); +} + void SeerFunctionBrowserWidget::handleItemDoubleClicked (QTreeWidgetItem* item, int column) { Q_UNUSED(column); diff --git a/src/SeerFunctionBrowserWidget.h b/src/SeerFunctionBrowserWidget.h index e7ac63d..93432cb 100644 --- a/src/SeerFunctionBrowserWidget.h +++ b/src/SeerFunctionBrowserWidget.h @@ -14,6 +14,7 @@ class SeerFunctionBrowserWidget : public QWidget, protected Ui::SeerFunctionBrow public slots: void handleText (const QString& text); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerGdbWidget.cpp b/src/SeerGdbWidget.cpp index 356dfa7..32e0152 100644 --- a/src/SeerGdbWidget.cpp +++ b/src/SeerGdbWidget.cpp @@ -344,6 +344,9 @@ SeerGdbWidget::SeerGdbWidget (QWidget* parent) : QWidget(parent) { QObject::connect(_printpointsBrowserWidget, &SeerPrintpointsBrowserWidget::addBreakpointIgnore, this, &SeerGdbWidget::handleGdbBreakpointIgnore); QObject::connect(_printpointsBrowserWidget, &SeerPrintpointsBrowserWidget::addBreakpointCommand, this, &SeerGdbWidget::handleGdbBreakpointCommand); + QObject::connect(this, &SeerGdbWidget::assemblyConfigChanged, editorManagerWidget, &SeerEditorManagerWidget::handleAssemblyConfigChanged); + + QObject::connect(this, &SeerGdbWidget::stoppingPointReached, stackManagerWidget, &SeerStackManagerWidget::handleStoppingPointReached); QObject::connect(this, &SeerGdbWidget::stoppingPointReached, stackManagerWidget->stackFramesBrowserWidget(), &SeerStackFramesBrowserWidget::handleStoppingPointReached); QObject::connect(this, &SeerGdbWidget::stoppingPointReached, stackManagerWidget->stackLocalsBrowserWidget(), &SeerStackLocalsBrowserWidget::handleStoppingPointReached); QObject::connect(this, &SeerGdbWidget::stoppingPointReached, stackManagerWidget->stackArgumentsBrowserWidget(), &SeerStackArgumentsBrowserWidget::handleStoppingPointReached); @@ -357,8 +360,29 @@ SeerGdbWidget::SeerGdbWidget (QWidget* parent) : QWidget(parent) { QObject::connect(this, &SeerGdbWidget::stoppingPointReached, _watchpointsBrowserWidget, &SeerWatchpointsBrowserWidget::handleStoppingPointReached); QObject::connect(this, &SeerGdbWidget::stoppingPointReached, _catchpointsBrowserWidget, &SeerCatchpointsBrowserWidget::handleStoppingPointReached); QObject::connect(this, &SeerGdbWidget::stoppingPointReached, _printpointsBrowserWidget, &SeerPrintpointsBrowserWidget::handleStoppingPointReached); - QObject::connect(this, &SeerGdbWidget::stoppingPointReached, stackManagerWidget, &SeerStackManagerWidget::handleStoppingPointReached); - QObject::connect(this, &SeerGdbWidget::assemblyConfigChanged, editorManagerWidget, &SeerEditorManagerWidget::handleAssemblyConfigChanged); + + QObject::connect(this, &SeerGdbWidget::sessionTerminated, sourceLibraryManagerWidget->sourceBrowserWidget(), &SeerSourceBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, sourceLibraryManagerWidget->functionBrowserWidget(), &SeerFunctionBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, sourceLibraryManagerWidget->functionBrowserWidget(), &SeerFunctionBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, sourceLibraryManagerWidget->staticBrowserWidget(), &SeerStaticBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, sourceLibraryManagerWidget->libraryBrowserWidget(), &SeerLibraryBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, sourceLibraryManagerWidget->adaExceptionsBrowserWidget(), &SeerAdaExceptionsBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, sourceLibraryManagerWidget->skipBrowserWidget(), &SeerSkipBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, variableManagerWidget->variableLoggerBrowserWidget(), &SeerVariableLoggerBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, variableManagerWidget->variableTrackerBrowserWidget(), &SeerVariableTrackerBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, variableManagerWidget->registerValuesBrowserWidget(), &SeerRegisterValuesBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, stackManagerWidget->stackFramesBrowserWidget(), &SeerStackFramesBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, stackManagerWidget->stackLocalsBrowserWidget(), &SeerStackLocalsBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, stackManagerWidget->stackArgumentsBrowserWidget(), &SeerStackArgumentsBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, stackManagerWidget->stackDumpBrowserWidget(), &SeerStackDumpBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, threadManagerWidget->threadFramesBrowserWidget(), &SeerThreadFramesBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, threadManagerWidget->threadIdsBrowserWidget(), &SeerThreadIdsBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, threadManagerWidget->threadGroupsBrowserWidget(), &SeerThreadGroupsBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, threadManagerWidget->adaTasksBrowserWidget(), &SeerAdaTasksBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, _breakpointsBrowserWidget, &SeerBreakpointsBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, _watchpointsBrowserWidget, &SeerWatchpointsBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, _catchpointsBrowserWidget, &SeerCatchpointsBrowserWidget::handleSessionTerminated); + QObject::connect(this, &SeerGdbWidget::sessionTerminated, _printpointsBrowserWidget, &SeerPrintpointsBrowserWidget::handleSessionTerminated); QObject::connect(leftCenterRightSplitter, &QSplitter::splitterMoved, this, &SeerGdbWidget::handleSplitterMoved); QObject::connect(sourceLibraryVariableManagerSplitter, &QSplitter::splitterMoved, this, &SeerGdbWidget::handleSplitterMoved); diff --git a/src/SeerLibraryBrowserWidget.cpp b/src/SeerLibraryBrowserWidget.cpp index 2b5b4c2..a13b744 100644 --- a/src/SeerLibraryBrowserWidget.cpp +++ b/src/SeerLibraryBrowserWidget.cpp @@ -98,6 +98,12 @@ void SeerLibraryBrowserWidget::handleText (const QString& text) { QApplication::restoreOverrideCursor(); } +void SeerLibraryBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + libraryTreeWidget->clear(); +} + void SeerLibraryBrowserWidget::handleSearchLineEdit (const QString& text) { // Set everything to a normal font. If there is no search text, unhide everything. diff --git a/src/SeerLibraryBrowserWidget.h b/src/SeerLibraryBrowserWidget.h index 75ec95f..5a9f692 100644 --- a/src/SeerLibraryBrowserWidget.h +++ b/src/SeerLibraryBrowserWidget.h @@ -14,6 +14,7 @@ class SeerLibraryBrowserWidget : public QWidget, protected Ui::SeerLibraryBrowse public slots: void handleText (const QString& text); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerPrintpointsBrowserWidget.cpp b/src/SeerPrintpointsBrowserWidget.cpp index c571454..4d8068b 100644 --- a/src/SeerPrintpointsBrowserWidget.cpp +++ b/src/SeerPrintpointsBrowserWidget.cpp @@ -206,6 +206,12 @@ void SeerPrintpointsBrowserWidget::handleStoppingPointReached () { emit refreshPrintpointsList(); } +void SeerPrintpointsBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + printpointsTreeWidget->clear(); +} + void SeerPrintpointsBrowserWidget::handleItemDoubleClicked (QTreeWidgetItem* item, int column) { Q_UNUSED(column); diff --git a/src/SeerPrintpointsBrowserWidget.h b/src/SeerPrintpointsBrowserWidget.h index 97818ba..a02b58a 100644 --- a/src/SeerPrintpointsBrowserWidget.h +++ b/src/SeerPrintpointsBrowserWidget.h @@ -19,6 +19,7 @@ class SeerPrintpointsBrowserWidget : public QWidget, protected Ui::SeerPrintpoin public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); private slots: void handleItemDoubleClicked (QTreeWidgetItem* item, int column); diff --git a/src/SeerRegisterValuesBrowserWidget.cpp b/src/SeerRegisterValuesBrowserWidget.cpp index 9192a39..d818663 100644 --- a/src/SeerRegisterValuesBrowserWidget.cpp +++ b/src/SeerRegisterValuesBrowserWidget.cpp @@ -244,6 +244,14 @@ void SeerRegisterValuesBrowserWidget::handleStoppingPointReached () { emit refreshRegisterValues(fmt); } +void SeerRegisterValuesBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + registersTreeWidget->clear(); + + _needsRegisterNames = true; +} + void SeerRegisterValuesBrowserWidget::refresh () { // Force new names. diff --git a/src/SeerRegisterValuesBrowserWidget.h b/src/SeerRegisterValuesBrowserWidget.h index 0680ab7..73ee8da 100644 --- a/src/SeerRegisterValuesBrowserWidget.h +++ b/src/SeerRegisterValuesBrowserWidget.h @@ -22,6 +22,7 @@ class SeerRegisterValuesBrowserWidget : public QWidget, protected Ui::SeerRegist public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerSkipBrowserWidget.cpp b/src/SeerSkipBrowserWidget.cpp index 3ea4c3d..2bb59fe 100644 --- a/src/SeerSkipBrowserWidget.cpp +++ b/src/SeerSkipBrowserWidget.cpp @@ -90,6 +90,12 @@ void SeerSkipBrowserWidget::handleText (const QString& text) { QApplication::restoreOverrideCursor(); } +void SeerSkipBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + skipTreeWidget->clear(); +} + void SeerSkipBrowserWidget::handleAddToolButton () { // Create the dialog. diff --git a/src/SeerSkipBrowserWidget.h b/src/SeerSkipBrowserWidget.h index 288cd64..dbbd9a4 100644 --- a/src/SeerSkipBrowserWidget.h +++ b/src/SeerSkipBrowserWidget.h @@ -14,6 +14,7 @@ class SeerSkipBrowserWidget : public QWidget, protected Ui::SeerSkipBrowserWidge public slots: void handleText (const QString& text); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerSourceBrowserWidget.cpp b/src/SeerSourceBrowserWidget.cpp index b3c1300..6548093 100644 --- a/src/SeerSourceBrowserWidget.cpp +++ b/src/SeerSourceBrowserWidget.cpp @@ -93,24 +93,14 @@ void SeerSourceBrowserWidget::handleText (const QString& text) { if (text.startsWith("^done,files=[") && text.endsWith("]")) { - // Delete previous files. - foreach (auto i, _sourceFilesItems->takeChildren()) { - delete i; - } - - foreach (auto i, _headerFilesItems->takeChildren()) { - delete i; - } - - foreach (auto i, _miscFilesItems->takeChildren()) { - delete i; - } - // ^done,files=[ // {file=\"../sysdeps/x86_64/start.S\",fullname=\"/home/abuild/rpmbuild/BUILD/glibc-2.26/csu/../sysdeps/x86_64/start.S\"}, // {file=\"helloworld.cpp\",fullname=\"/home/erniep/Development/Peak/src/Seer/helloworld/helloworld.cpp\"} // ] + // Delete previous files. + deleteChildItems(); + QString files_text = Seer::parseFirst(text, "files=", '[', ']', false); QStringList files_list = Seer::parse(files_text, "", '{', '}', false); @@ -170,6 +160,12 @@ void SeerSourceBrowserWidget::handleText (const QString& text) { QApplication::restoreOverrideCursor(); } +void SeerSourceBrowserWidget::handleSessionTerminated () { + + // Delete previous files. + deleteChildItems(); +} + void SeerSourceBrowserWidget::handleItemDoubleClicked (QTreeWidgetItem* item, int column) { Q_UNUSED(column); @@ -277,3 +273,19 @@ void SeerSourceBrowserWidget::refresh () { emit refreshSourceList(); } +void SeerSourceBrowserWidget::deleteChildItems () { + + // Delete child items. Leave top-level 'Source', 'Header', and 'Misc'. + foreach (auto i, _sourceFilesItems->takeChildren()) { + delete i; + } + + foreach (auto i, _headerFilesItems->takeChildren()) { + delete i; + } + + foreach (auto i, _miscFilesItems->takeChildren()) { + delete i; + } +} + diff --git a/src/SeerSourceBrowserWidget.h b/src/SeerSourceBrowserWidget.h index f0d9e48..505ae4e 100644 --- a/src/SeerSourceBrowserWidget.h +++ b/src/SeerSourceBrowserWidget.h @@ -27,6 +27,7 @@ class SeerSourceBrowserWidget : public QWidget, protected Ui::SeerSourceBrowserW public slots: void handleText (const QString& text); + void handleSessionTerminated (); void refresh (); protected slots: @@ -39,6 +40,8 @@ class SeerSourceBrowserWidget : public QWidget, protected Ui::SeerSourceBrowserW void selectedFile (QString file, QString fullname, int lineno); protected: + void deleteChildItems (); + private: QTreeWidgetItem* _sourceFilesItems; QTreeWidgetItem* _headerFilesItems; diff --git a/src/SeerStackArgumentsBrowserWidget.cpp b/src/SeerStackArgumentsBrowserWidget.cpp index 899509b..7810bcb 100644 --- a/src/SeerStackArgumentsBrowserWidget.cpp +++ b/src/SeerStackArgumentsBrowserWidget.cpp @@ -154,6 +154,12 @@ void SeerStackArgumentsBrowserWidget::handleStoppingPointReached () { refresh(); } +void SeerStackArgumentsBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + argumentsTreeWidget->clear(); +} + void SeerStackArgumentsBrowserWidget::refresh () { // Don't do any work if the widget is hidden. diff --git a/src/SeerStackArgumentsBrowserWidget.h b/src/SeerStackArgumentsBrowserWidget.h index 11c45b8..5d06a1a 100644 --- a/src/SeerStackArgumentsBrowserWidget.h +++ b/src/SeerStackArgumentsBrowserWidget.h @@ -15,6 +15,7 @@ class SeerStackArgumentsBrowserWidget : public QWidget, protected Ui::SeerStackA public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerStackDumpBrowserWidget.cpp b/src/SeerStackDumpBrowserWidget.cpp index 5e722a2..e40d791 100644 --- a/src/SeerStackDumpBrowserWidget.cpp +++ b/src/SeerStackDumpBrowserWidget.cpp @@ -170,6 +170,12 @@ void SeerStackDumpBrowserWidget::handleStoppingPointReached () { refresh(); } +void SeerStackDumpBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + stackTableWidget->clearContents(); +} + void SeerStackDumpBrowserWidget::handleFormatComboBox (const QString& text) { Q_UNUSED(text); diff --git a/src/SeerStackDumpBrowserWidget.h b/src/SeerStackDumpBrowserWidget.h index 5ab68aa..fa81b71 100644 --- a/src/SeerStackDumpBrowserWidget.h +++ b/src/SeerStackDumpBrowserWidget.h @@ -31,6 +31,7 @@ class SeerStackDumpBrowserWidget : public QWidget, protected Ui::SeerStackDumpBr public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerStackFramesBrowserWidget.cpp b/src/SeerStackFramesBrowserWidget.cpp index 401c0e3..2beb677 100644 --- a/src/SeerStackFramesBrowserWidget.cpp +++ b/src/SeerStackFramesBrowserWidget.cpp @@ -160,6 +160,12 @@ void SeerStackFramesBrowserWidget::handleStoppingPointReached () { refresh(); } +void SeerStackFramesBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + stackTreeWidget->clear(); +} + void SeerStackFramesBrowserWidget::refresh () { // Don't do any work if the widget is hidden. diff --git a/src/SeerStackFramesBrowserWidget.h b/src/SeerStackFramesBrowserWidget.h index d6c8dde..bbceaf3 100644 --- a/src/SeerStackFramesBrowserWidget.h +++ b/src/SeerStackFramesBrowserWidget.h @@ -15,6 +15,7 @@ class SeerStackFramesBrowserWidget : public QWidget, protected Ui::SeerStackFram public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerStackLocalsBrowserWidget.cpp b/src/SeerStackLocalsBrowserWidget.cpp index 6cc91d6..12176cc 100644 --- a/src/SeerStackLocalsBrowserWidget.cpp +++ b/src/SeerStackLocalsBrowserWidget.cpp @@ -126,6 +126,12 @@ void SeerStackLocalsBrowserWidget::handleStoppingPointReached () { refresh(); } +void SeerStackLocalsBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + localsTreeWidget->clear(); +} + void SeerStackLocalsBrowserWidget::refresh () { // Don't do any work if the widget is hidden. diff --git a/src/SeerStackLocalsBrowserWidget.h b/src/SeerStackLocalsBrowserWidget.h index 8611090..9d4c3f8 100644 --- a/src/SeerStackLocalsBrowserWidget.h +++ b/src/SeerStackLocalsBrowserWidget.h @@ -15,6 +15,7 @@ class SeerStackLocalsBrowserWidget : public QWidget, protected Ui::SeerStackLoca public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerStaticBrowserWidget.cpp b/src/SeerStaticBrowserWidget.cpp index 66a139b..ee9ee9e 100644 --- a/src/SeerStaticBrowserWidget.cpp +++ b/src/SeerStaticBrowserWidget.cpp @@ -137,6 +137,12 @@ void SeerStaticBrowserWidget::handleText (const QString& text) { QApplication::restoreOverrideCursor(); } +void SeerStaticBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + staticTreeWidget->clear(); +} + void SeerStaticBrowserWidget::handleItemDoubleClicked (QTreeWidgetItem* item, int column) { Q_UNUSED(column); diff --git a/src/SeerStaticBrowserWidget.h b/src/SeerStaticBrowserWidget.h index d2dadca..111801f 100644 --- a/src/SeerStaticBrowserWidget.h +++ b/src/SeerStaticBrowserWidget.h @@ -14,6 +14,7 @@ class SeerStaticBrowserWidget : public QWidget, protected Ui::SeerStaticBrowserW public slots: void handleText (const QString& text); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerThreadFramesBrowserWidget.cpp b/src/SeerThreadFramesBrowserWidget.cpp index 822f33c..50fcada 100644 --- a/src/SeerThreadFramesBrowserWidget.cpp +++ b/src/SeerThreadFramesBrowserWidget.cpp @@ -200,6 +200,12 @@ void SeerThreadFramesBrowserWidget::handleStoppingPointReached () { refresh(); } +void SeerThreadFramesBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + threadTreeWidget->clear(); +} + void SeerThreadFramesBrowserWidget::refresh () { // Don't do any work if the widget is hidden. diff --git a/src/SeerThreadFramesBrowserWidget.h b/src/SeerThreadFramesBrowserWidget.h index 56d7225..e900595 100644 --- a/src/SeerThreadFramesBrowserWidget.h +++ b/src/SeerThreadFramesBrowserWidget.h @@ -15,6 +15,7 @@ class SeerThreadFramesBrowserWidget : public QWidget, protected Ui::SeerThreadFr public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerThreadGroupsBrowserWidget.cpp b/src/SeerThreadGroupsBrowserWidget.cpp index c7dee43..9acd3fa 100644 --- a/src/SeerThreadGroupsBrowserWidget.cpp +++ b/src/SeerThreadGroupsBrowserWidget.cpp @@ -116,6 +116,12 @@ void SeerThreadGroupsBrowserWidget::handleText (const QString& text) { QApplication::restoreOverrideCursor(); } +void SeerThreadGroupsBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + groupTreeWidget->clear(); +} + void SeerThreadGroupsBrowserWidget::refresh () { emit refreshThreadIds(); diff --git a/src/SeerThreadGroupsBrowserWidget.h b/src/SeerThreadGroupsBrowserWidget.h index 85eb187..70d4b0f 100644 --- a/src/SeerThreadGroupsBrowserWidget.h +++ b/src/SeerThreadGroupsBrowserWidget.h @@ -14,6 +14,7 @@ class SeerThreadGroupsBrowserWidget : public QWidget, protected Ui::SeerThreadGr public slots: void handleText (const QString& text); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerThreadIdsBrowserWidget.cpp b/src/SeerThreadIdsBrowserWidget.cpp index 91a8b00..60d1c54 100644 --- a/src/SeerThreadIdsBrowserWidget.cpp +++ b/src/SeerThreadIdsBrowserWidget.cpp @@ -103,6 +103,12 @@ void SeerThreadIdsBrowserWidget::handleStoppingPointReached () { refresh(); } +void SeerThreadIdsBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + idsTreeWidget->clear(); +} + void SeerThreadIdsBrowserWidget::handleItemClicked (QTreeWidgetItem* item, int column) { Q_UNUSED(column); diff --git a/src/SeerThreadIdsBrowserWidget.h b/src/SeerThreadIdsBrowserWidget.h index 159b83e..930aeb4 100644 --- a/src/SeerThreadIdsBrowserWidget.h +++ b/src/SeerThreadIdsBrowserWidget.h @@ -15,6 +15,7 @@ class SeerThreadIdsBrowserWidget : public QWidget, protected Ui::SeerThreadIdsBr public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerTypeBrowserWidget.cpp b/src/SeerTypeBrowserWidget.cpp index 09cae18..6cd8523 100644 --- a/src/SeerTypeBrowserWidget.cpp +++ b/src/SeerTypeBrowserWidget.cpp @@ -118,6 +118,12 @@ void SeerTypeBrowserWidget::handleText (const QString& text) { QApplication::restoreOverrideCursor(); } +void SeerTypeBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + typeTreeWidget->clear(); +} + void SeerTypeBrowserWidget::handleItemDoubleClicked (QTreeWidgetItem* item, int column) { Q_UNUSED(column); diff --git a/src/SeerTypeBrowserWidget.h b/src/SeerTypeBrowserWidget.h index 84395d2..50ed4f0 100644 --- a/src/SeerTypeBrowserWidget.h +++ b/src/SeerTypeBrowserWidget.h @@ -14,6 +14,7 @@ class SeerTypeBrowserWidget : public QWidget, protected Ui::SeerTypeBrowserWidge public slots: void handleText (const QString& text); + void handleSessionTerminated (); void refresh (); protected slots: diff --git a/src/SeerVariableLoggerBrowserWidget.cpp b/src/SeerVariableLoggerBrowserWidget.cpp index b69a303..30fd874 100644 --- a/src/SeerVariableLoggerBrowserWidget.cpp +++ b/src/SeerVariableLoggerBrowserWidget.cpp @@ -113,6 +113,12 @@ void SeerVariableLoggerBrowserWidget::handleText (const QString& text) { QApplication::restoreOverrideCursor(); } +void SeerVariableLoggerBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + variablesTreeWidget->clear(); +} + void SeerVariableLoggerBrowserWidget::handleEvaluateVariableExpression (int expressionid, QString expression) { QString id_text = QString::number(expressionid); diff --git a/src/SeerVariableLoggerBrowserWidget.h b/src/SeerVariableLoggerBrowserWidget.h index f27e742..9f74ff3 100644 --- a/src/SeerVariableLoggerBrowserWidget.h +++ b/src/SeerVariableLoggerBrowserWidget.h @@ -15,6 +15,7 @@ class SeerVariableLoggerBrowserWidget : public QWidget, protected Ui::SeerVariab public slots: void handleText (const QString& text); + void handleSessionTerminated (); void handleEvaluateVariableExpression (int expressionid, QString expression); void addVariableExpression (QString expression); diff --git a/src/SeerVariableTrackerBrowserWidget.cpp b/src/SeerVariableTrackerBrowserWidget.cpp index fbd1023..568f3d5 100644 --- a/src/SeerVariableTrackerBrowserWidget.cpp +++ b/src/SeerVariableTrackerBrowserWidget.cpp @@ -214,6 +214,12 @@ void SeerVariableTrackerBrowserWidget::handleStoppingPointReached () { refresh(); } +void SeerVariableTrackerBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + variablesTreeWidget->clear(); +} + void SeerVariableTrackerBrowserWidget::refresh () { emit refreshVariableTrackerNames(); emit refreshVariableTrackerValues(); diff --git a/src/SeerVariableTrackerBrowserWidget.h b/src/SeerVariableTrackerBrowserWidget.h index 7e9032c..0cb0ca0 100644 --- a/src/SeerVariableTrackerBrowserWidget.h +++ b/src/SeerVariableTrackerBrowserWidget.h @@ -15,6 +15,7 @@ class SeerVariableTrackerBrowserWidget : public QWidget, protected Ui::SeerVaria public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); void refresh (); void refreshValues (); diff --git a/src/SeerWatchpointsBrowserWidget.cpp b/src/SeerWatchpointsBrowserWidget.cpp index 486ca4e..8cf170f 100644 --- a/src/SeerWatchpointsBrowserWidget.cpp +++ b/src/SeerWatchpointsBrowserWidget.cpp @@ -352,6 +352,12 @@ void SeerWatchpointsBrowserWidget::handleStoppingPointReached () { emit refreshWatchpointsList(); } +void SeerWatchpointsBrowserWidget::handleSessionTerminated () { + + // Delete previous contents. + watchpointsTreeWidget->clear(); +} + void SeerWatchpointsBrowserWidget::handleItemDoubleClicked (QTreeWidgetItem* item, int column) { Q_UNUSED(column); diff --git a/src/SeerWatchpointsBrowserWidget.h b/src/SeerWatchpointsBrowserWidget.h index ebb8c2e..39689d4 100644 --- a/src/SeerWatchpointsBrowserWidget.h +++ b/src/SeerWatchpointsBrowserWidget.h @@ -19,6 +19,7 @@ class SeerWatchpointsBrowserWidget : public QWidget, protected Ui::SeerWatchpoin public slots: void handleText (const QString& text); void handleStoppingPointReached (); + void handleSessionTerminated (); private slots: void handleItemDoubleClicked (QTreeWidgetItem* item, int column);