From 7ef7f9cd63127eb8daa0854702dfee5de50aadeb Mon Sep 17 00:00:00 2001 From: Ernie Pasveer Date: Mon, 14 Feb 2022 20:44:54 -0600 Subject: [PATCH] Rename the Seer and Gdb log widgets. Direct all '=' from the gdb log to the seer log. --- src/CMakeLists.txt | 8 +-- src/SeerCaretAsteriskLogWidget.cpp | 33 ----------- src/SeerCaretAsteriskLogWidget.h | 15 ----- ...sandLogWidget.cpp => SeerGdbLogWidget.cpp} | 15 ++--- src/SeerGdbLogWidget.h | 15 +++++ src/SeerGdbWidget.cpp | 24 ++++---- src/SeerGdbWidget.h | 8 +-- src/SeerSeerLogWidget.cpp | 59 +++++++++++++++++++ src/SeerSeerLogWidget.h | 15 +++++ src/SeerTildeEqualAmpersandLogWidget.h | 15 ----- 10 files changed, 113 insertions(+), 94 deletions(-) delete mode 100644 src/SeerCaretAsteriskLogWidget.cpp delete mode 100644 src/SeerCaretAsteriskLogWidget.h rename src/{SeerTildeEqualAmpersandLogWidget.cpp => SeerGdbLogWidget.cpp} (77%) create mode 100644 src/SeerGdbLogWidget.h create mode 100644 src/SeerSeerLogWidget.cpp create mode 100644 src/SeerSeerLogWidget.h delete mode 100644 src/SeerTildeEqualAmpersandLogWidget.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ed74412..e3144af 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -27,7 +27,7 @@ set(HEADER_FILES SeerCatchpointsBrowserWidget.h SeerPrintpointCreateDialog.h SeerPrintpointsBrowserWidget.h - SeerCaretAsteriskLogWidget.h + SeerSeerLogWidget.h SeerConsoleWidget.h SeerConfigDialog.h SeerGdbConfigPage.h @@ -59,7 +59,7 @@ set(HEADER_FILES SeerThreadFramesBrowserWidget.h SeerThreadIdsBrowserWidget.h SeerThreadManagerWidget.h - SeerTildeEqualAmpersandLogWidget.h + SeerGdbLogWidget.h SeerTildeLogWidget.h SeerUtl.h SeerVariableLoggerBrowserWidget.h @@ -88,7 +88,7 @@ set(SOURCE_FILES SeerCatchpointsBrowserWidget.cpp SeerPrintpointCreateDialog.cpp SeerPrintpointsBrowserWidget.cpp - SeerCaretAsteriskLogWidget.cpp + SeerSeerLogWidget.cpp SeerConsoleWidget.cpp SeerConfigDialog.cpp SeerGdbConfigPage.cpp @@ -121,7 +121,7 @@ set(SOURCE_FILES SeerThreadFramesBrowserWidget.cpp SeerThreadIdsBrowserWidget.cpp SeerThreadManagerWidget.cpp - SeerTildeEqualAmpersandLogWidget.cpp + SeerGdbLogWidget.cpp SeerTildeLogWidget.cpp SeerUtl.cpp SeerVariableLoggerBrowserWidget.cpp diff --git a/src/SeerCaretAsteriskLogWidget.cpp b/src/SeerCaretAsteriskLogWidget.cpp deleted file mode 100644 index 10fb70a..0000000 --- a/src/SeerCaretAsteriskLogWidget.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "SeerCaretAsteriskLogWidget.h" -#include "SeerUtl.h" -#include -#include -#include - -SeerCaretAsteriskLogWidget::SeerCaretAsteriskLogWidget (QWidget* parent) : SeerLogWidget(parent) { -} - -SeerCaretAsteriskLogWidget::~SeerCaretAsteriskLogWidget () { -} - -void SeerCaretAsteriskLogWidget::processText (const QString& text) { - - // Don't do anything if we're not enabled. - if (isLogEnabled() == false) { - return; - } - - // Only log '^' and '*' records. - if (text.front() != '^' && text.front() != '*' && text.contains(QRegExp("^([0-9]+)\\^")) == false) { - return; - } - - // Filter escape characters. - QString str = Seer::filterEscapes(text); - - // Write the string to the log. - textEdit->append(str); - - moveToEnd(); -} - diff --git a/src/SeerCaretAsteriskLogWidget.h b/src/SeerCaretAsteriskLogWidget.h deleted file mode 100644 index 3cc9719..0000000 --- a/src/SeerCaretAsteriskLogWidget.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "SeerLogWidget.h" - -class SeerCaretAsteriskLogWidget : public SeerLogWidget { - - Q_OBJECT - - public: - explicit SeerCaretAsteriskLogWidget (QWidget* parent = 0); - ~SeerCaretAsteriskLogWidget (); - - void processText (const QString& text); -}; - diff --git a/src/SeerTildeEqualAmpersandLogWidget.cpp b/src/SeerGdbLogWidget.cpp similarity index 77% rename from src/SeerTildeEqualAmpersandLogWidget.cpp rename to src/SeerGdbLogWidget.cpp index 6fafa0d..e7a3aea 100644 --- a/src/SeerTildeEqualAmpersandLogWidget.cpp +++ b/src/SeerGdbLogWidget.cpp @@ -1,15 +1,15 @@ -#include "SeerTildeEqualAmpersandLogWidget.h" +#include "SeerGdbLogWidget.h" #include "SeerUtl.h" #include #include -SeerTildeEqualAmpersandLogWidget::SeerTildeEqualAmpersandLogWidget (QWidget* parent) : SeerLogWidget(parent) { +SeerGdbLogWidget::SeerGdbLogWidget (QWidget* parent) : SeerLogWidget(parent) { } -SeerTildeEqualAmpersandLogWidget::~SeerTildeEqualAmpersandLogWidget () { +SeerGdbLogWidget::~SeerGdbLogWidget () { } -void SeerTildeEqualAmpersandLogWidget::processText (const QString& text) { +void SeerGdbLogWidget::processText (const QString& text) { // Don't do anything if we're not enabled. if (isLogEnabled() == false) { @@ -40,13 +40,6 @@ void SeerTildeEqualAmpersandLogWidget::processText (const QString& text) { str.chop(1); } - - // Remove leading "=" - }else if (text.front() == '=') { - - str = text.mid(1); - - // Remove leading "&" // &"p name // " diff --git a/src/SeerGdbLogWidget.h b/src/SeerGdbLogWidget.h new file mode 100644 index 0000000..2a31069 --- /dev/null +++ b/src/SeerGdbLogWidget.h @@ -0,0 +1,15 @@ +#pragma once + +#include "SeerLogWidget.h" + +class SeerGdbLogWidget : public SeerLogWidget { + + Q_OBJECT + + public: + explicit SeerGdbLogWidget (QWidget* parent = 0); + ~SeerGdbLogWidget (); + + void processText (const QString& text); +}; + diff --git a/src/SeerGdbWidget.cpp b/src/SeerGdbWidget.cpp index 6d61808..0714c08 100644 --- a/src/SeerGdbWidget.cpp +++ b/src/SeerGdbWidget.cpp @@ -51,8 +51,8 @@ SeerGdbWidget::SeerGdbWidget (QWidget* parent) : QWidget(parent) { _watchpointsBrowserWidget = new SeerWatchpointsBrowserWidget(this); _catchpointsBrowserWidget = new SeerCatchpointsBrowserWidget(this); _printpointsBrowserWidget = new SeerPrintpointsBrowserWidget(this); - _gdbOutputLog = new SeerTildeEqualAmpersandLogWidget(this); - _seerOutputLog = new SeerCaretAsteriskLogWidget(this); + _gdbOutputLog = new SeerGdbLogWidget(this); + _seerOutputLog = new SeerSeerLogWidget(this); logsTabWidget->addTab(_breakpointsBrowserWidget, "Breakpoints"); logsTabWidget->addTab(_watchpointsBrowserWidget, "Watchpoints"); @@ -83,11 +83,11 @@ SeerGdbWidget::SeerGdbWidget (QWidget* parent) : QWidget(parent) { QObject::connect(_gdbProcess, static_cast(&QProcess::finished), this, &SeerGdbWidget::handleGdbProcessFinished); // ??? Do we care about the gdb process ending? For now, terminate Seer. QObject::connect(_gdbProcess, static_cast(&QProcess::errorOccurred), this, &SeerGdbWidget::handleGdbProcessErrored); - QObject::connect(_gdbMonitor, &GdbMonitor::tildeTextOutput, _gdbOutputLog, &SeerTildeEqualAmpersandLogWidget::handleText); - QObject::connect(_gdbMonitor, &GdbMonitor::equalTextOutput, _gdbOutputLog, &SeerTildeEqualAmpersandLogWidget::handleText); - QObject::connect(_gdbMonitor, &GdbMonitor::ampersandTextOutput, _gdbOutputLog, &SeerTildeEqualAmpersandLogWidget::handleText); - QObject::connect(_gdbMonitor, &GdbMonitor::caretTextOutput, _seerOutputLog, &SeerCaretAsteriskLogWidget::handleText); - QObject::connect(_gdbMonitor, &GdbMonitor::astrixTextOutput, _seerOutputLog, &SeerCaretAsteriskLogWidget::handleText); + QObject::connect(_gdbMonitor, &GdbMonitor::tildeTextOutput, _gdbOutputLog, &SeerGdbLogWidget::handleText); + QObject::connect(_gdbMonitor, &GdbMonitor::ampersandTextOutput, _gdbOutputLog, &SeerGdbLogWidget::handleText); + QObject::connect(_gdbMonitor, &GdbMonitor::equalTextOutput, _seerOutputLog, &SeerSeerLogWidget::handleText); + QObject::connect(_gdbMonitor, &GdbMonitor::caretTextOutput, _seerOutputLog, &SeerSeerLogWidget::handleText); + QObject::connect(_gdbMonitor, &GdbMonitor::astrixTextOutput, _seerOutputLog, &SeerSeerLogWidget::handleText); QObject::connect(_gdbMonitor, &GdbMonitor::astrixTextOutput, editorManagerWidget, &SeerEditorManagerWidget::handleText); QObject::connect(_gdbMonitor, &GdbMonitor::caretTextOutput, editorManagerWidget, &SeerEditorManagerWidget::handleText); QObject::connect(_gdbMonitor, &GdbMonitor::caretTextOutput, sourceLibraryManagerWidget->sourceBrowserWidget(), &SeerSourceBrowserWidget::handleText); @@ -422,7 +422,7 @@ void SeerGdbWidget::handleGdbRunExecutable () { } // Set dprint parameters. - handleGdbCommand("-gdb-set dprintf-style call"); + handleGdbCommand("-gdb-set dprintf-style gdb"); handleGdbCommand("-gdb-set dprintf-function printf"); } @@ -500,7 +500,7 @@ void SeerGdbWidget::handleGdbStartExecutable () { } // Set dprint parameters. - handleGdbCommand("-gdb-set dprintf-style call"); + handleGdbCommand("-gdb-set dprintf-style gdb"); handleGdbCommand("-gdb-set dprintf-function printf"); } @@ -568,7 +568,7 @@ void SeerGdbWidget::handleGdbAttachExecutable () { } // Set dprint parameters. - handleGdbCommand("-gdb-set dprintf-style call"); + handleGdbCommand("-gdb-set dprintf-style gdb"); handleGdbCommand("-gdb-set dprintf-function printf"); } @@ -612,7 +612,7 @@ void SeerGdbWidget::handleGdbConnectExecutable () { } // Set dprint parameters. - handleGdbCommand("-gdb-set dprintf-style call"); + handleGdbCommand("-gdb-set dprintf-style gdb"); handleGdbCommand("-gdb-set dprintf-function printf"); } @@ -663,7 +663,7 @@ void SeerGdbWidget::handleGdbCoreFileExecutable () { } // Set dprint parameters. - handleGdbCommand("-gdb-set dprintf-style call"); + handleGdbCommand("-gdb-set dprintf-style gdb"); handleGdbCommand("-gdb-set dprintf-function printf"); } diff --git a/src/SeerGdbWidget.h b/src/SeerGdbWidget.h index 830065f..2ec2986 100644 --- a/src/SeerGdbWidget.h +++ b/src/SeerGdbWidget.h @@ -1,8 +1,8 @@ #pragma once #include "SeerConsoleWidget.h" -#include "SeerTildeEqualAmpersandLogWidget.h" -#include "SeerCaretAsteriskLogWidget.h" +#include "SeerGdbLogWidget.h" +#include "SeerSeerLogWidget.h" #include "SeerBreakpointsBrowserWidget.h" #include "SeerWatchpointsBrowserWidget.h" #include "SeerCatchpointsBrowserWidget.h" @@ -192,8 +192,8 @@ class SeerGdbWidget : public QWidget, protected Ui::SeerGdbWidgetForm { SeerWatchpointsBrowserWidget* _watchpointsBrowserWidget; SeerCatchpointsBrowserWidget* _catchpointsBrowserWidget; SeerPrintpointsBrowserWidget* _printpointsBrowserWidget; - SeerTildeEqualAmpersandLogWidget* _gdbOutputLog; - SeerCaretAsteriskLogWidget* _seerOutputLog; + SeerGdbLogWidget* _gdbOutputLog; + SeerSeerLogWidget* _seerOutputLog; GdbMonitor* _gdbMonitor; QProcess* _gdbProcess; diff --git a/src/SeerSeerLogWidget.cpp b/src/SeerSeerLogWidget.cpp new file mode 100644 index 0000000..2f91c4e --- /dev/null +++ b/src/SeerSeerLogWidget.cpp @@ -0,0 +1,59 @@ +#include "SeerSeerLogWidget.h" +#include "SeerUtl.h" +#include +#include +#include + +SeerSeerLogWidget::SeerSeerLogWidget (QWidget* parent) : SeerLogWidget(parent) { +} + +SeerSeerLogWidget::~SeerSeerLogWidget () { +} + +void SeerSeerLogWidget::processText (const QString& text) { + + // Don't do anything if we're not enabled. + if (isLogEnabled() == false) { + return; + } + + // Only log '^', '*', and '=' records. + bool selected = false; + + if (selected == false && text.front() == '^') { + selected = true; + } + + if (selected == false && text.front() == '*') { + selected = true; + } + + if (selected == false && text.front() == '=') { + selected = true; + } + + if (selected == false && text.contains(QRegExp("^([0-9]+)\\^")) == true) { + selected = true; + } + + if (selected == false && text.contains(QRegExp("^([0-9]+)\\*")) == true) { + selected = true; + } + + if (selected == false && text.contains(QRegExp("^([0-9]+)\\=")) == true) { + selected = true; + } + + if (selected == false) { + return; + } + + // Filter escape characters. + QString str = Seer::filterEscapes(text); + + // Write the string to the log. + textEdit->append(str); + + moveToEnd(); +} + diff --git a/src/SeerSeerLogWidget.h b/src/SeerSeerLogWidget.h new file mode 100644 index 0000000..dbb3d41 --- /dev/null +++ b/src/SeerSeerLogWidget.h @@ -0,0 +1,15 @@ +#pragma once + +#include "SeerLogWidget.h" + +class SeerSeerLogWidget : public SeerLogWidget { + + Q_OBJECT + + public: + explicit SeerSeerLogWidget (QWidget* parent = 0); + ~SeerSeerLogWidget (); + + void processText (const QString& text); +}; + diff --git a/src/SeerTildeEqualAmpersandLogWidget.h b/src/SeerTildeEqualAmpersandLogWidget.h deleted file mode 100644 index 2e2eeb5..0000000 --- a/src/SeerTildeEqualAmpersandLogWidget.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "SeerLogWidget.h" - -class SeerTildeEqualAmpersandLogWidget : public SeerLogWidget { - - Q_OBJECT - - public: - explicit SeerTildeEqualAmpersandLogWidget (QWidget* parent = 0); - ~SeerTildeEqualAmpersandLogWidget (); - - void processText (const QString& text); -}; -