WIP: add 'handleSessionTerminated' to relevant widgets.

This commit is contained in:
Ernie Pasveer
2025-04-20 09:33:31 -05:00
parent f8439e18b1
commit afc5e6fa3e
46 changed files with 204 additions and 16 deletions
+6
View File
@@ -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.
+1
View File
@@ -14,6 +14,7 @@ class SeerAdaExceptionsBrowserWidget : public QWidget, protected Ui::SeerAdaExce
public slots:
void handleText (const QString& text);
void handleSessionTerminated ();
void refresh ();
protected slots:
+6
View File
@@ -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);
+1
View File
@@ -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:
+6
View File
@@ -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);
+1
View File
@@ -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);
+6
View File
@@ -255,6 +255,12 @@ void SeerCatchpointsBrowserWidget::handleStoppingPointReached () {
emit refreshCatchpointsList();
}
void SeerCatchpointsBrowserWidget::handleSessionTerminated () {
// Delete previous contents.
catchpointsTreeWidget->clear();
}
void SeerCatchpointsBrowserWidget::handleRefreshToolButton () {
emit refreshCatchpointsList();
+1
View File
@@ -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 ();
+1 -1
View File
@@ -44,7 +44,7 @@
</property>
<property name="icon">
<iconset resource="resource.qrc">
<normaloff>:/seer/resources/RelaxLightIcons/edit-clear.svg</normaloff>:/seer/resources/RelaxLightIcons/edit-clear.svg</iconset>
<normaloff>:/seer/resources/RelaxLightIcons/edit-delete.svg</normaloff>:/seer/resources/RelaxLightIcons/edit-delete.svg</iconset>
</property>
</widget>
</item>
+6
View File
@@ -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);
+1
View File
@@ -14,6 +14,7 @@ class SeerFunctionBrowserWidget : public QWidget, protected Ui::SeerFunctionBrow
public slots:
void handleText (const QString& text);
void handleSessionTerminated ();
void refresh ();
protected slots:
+26 -2
View File
@@ -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);
+6
View File
@@ -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.
+1
View File
@@ -14,6 +14,7 @@ class SeerLibraryBrowserWidget : public QWidget, protected Ui::SeerLibraryBrowse
public slots:
void handleText (const QString& text);
void handleSessionTerminated ();
void refresh ();
protected slots:
+6
View File
@@ -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);
+1
View File
@@ -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);
+8
View File
@@ -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.
+1
View File
@@ -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:
+6
View File
@@ -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.
+1
View File
@@ -14,6 +14,7 @@ class SeerSkipBrowserWidget : public QWidget, protected Ui::SeerSkipBrowserWidge
public slots:
void handleText (const QString& text);
void handleSessionTerminated ();
void refresh ();
protected slots:
+25 -13
View File
@@ -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;
}
}
+3
View File
@@ -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;
+6
View File
@@ -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.
+1
View File
@@ -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:
+6
View File
@@ -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);
+1
View File
@@ -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:
+6
View File
@@ -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.
+1
View File
@@ -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:
+6
View File
@@ -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.
+1
View File
@@ -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:
+6
View File
@@ -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);
+1
View File
@@ -14,6 +14,7 @@ class SeerStaticBrowserWidget : public QWidget, protected Ui::SeerStaticBrowserW
public slots:
void handleText (const QString& text);
void handleSessionTerminated ();
void refresh ();
protected slots:
+6
View File
@@ -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.
+1
View File
@@ -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:
+6
View File
@@ -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();
+1
View File
@@ -14,6 +14,7 @@ class SeerThreadGroupsBrowserWidget : public QWidget, protected Ui::SeerThreadGr
public slots:
void handleText (const QString& text);
void handleSessionTerminated ();
void refresh ();
protected slots:
+6
View File
@@ -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);
+1
View File
@@ -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:
+6
View File
@@ -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);
+1
View File
@@ -14,6 +14,7 @@ class SeerTypeBrowserWidget : public QWidget, protected Ui::SeerTypeBrowserWidge
public slots:
void handleText (const QString& text);
void handleSessionTerminated ();
void refresh ();
protected slots:
+6
View File
@@ -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);
+1
View File
@@ -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);
+6
View File
@@ -214,6 +214,12 @@ void SeerVariableTrackerBrowserWidget::handleStoppingPointReached () {
refresh();
}
void SeerVariableTrackerBrowserWidget::handleSessionTerminated () {
// Delete previous contents.
variablesTreeWidget->clear();
}
void SeerVariableTrackerBrowserWidget::refresh () {
emit refreshVariableTrackerNames();
emit refreshVariableTrackerValues();
+1
View File
@@ -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 ();
+6
View File
@@ -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);
+1
View File
@@ -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);