From 0b725789cc7b4e6f9bbfb8708f2b0468e3534e30 Mon Sep 17 00:00:00 2001 From: Georgi Tushev Date: Sun, 6 Jan 2019 23:32:48 +0100 Subject: [PATCH] emit color with log message --- BrainATUMtome/epos.cpp | 8 ++++---- BrainATUMtome/epos.h | 3 +-- BrainATUMtome/eventlog.cpp | 14 ++------------ BrainATUMtome/eventlog.h | 5 +---- BrainATUMtome/mainwindow.cpp | 8 ++++---- BrainATUMtome/mainwindow.h | 1 - BrainATUMtome/microtome.cpp | 12 ++++++------ BrainATUMtome/microtome.h | 3 +-- BrainATUMtome/serialport.cpp | 12 ++++++------ BrainATUMtome/serialport.h | 4 +--- BrainATUMtome/syringe.cpp | 8 ++++---- BrainATUMtome/syringe.h | 2 +- 12 files changed, 31 insertions(+), 49 deletions(-) diff --git a/BrainATUMtome/epos.cpp b/BrainATUMtome/epos.cpp index ea17733..09501a6 100644 --- a/BrainATUMtome/epos.cpp +++ b/BrainATUMtome/epos.cpp @@ -43,7 +43,7 @@ void Epos::open(int motorid, return; } - emit log(EventLogType::Notify, "Epos :: device is open on port " + QString(portName)); + emit log(Qt::black, "Epos :: device is open on port " + QString(portName)); setVelocityMode(keyHandle); } @@ -209,7 +209,7 @@ void Epos::throwError(const QString &errorMessage) //std::copy(errorInfo, "failed to read error information", errorInfoSize); } - emit log(EventLogType::Warn, "EPOS :: Error, " + errorMessage + "\n" + QString(errorInfo) + ", errorCode: " + QString::number(m_errorCode, 16)); + emit log(Qt::red, "EPOS :: Error, " + errorMessage + "\n" + QString(errorInfo) + ", errorCode: " + QString::number(m_errorCode, 16)); // led indicator setLedGreen(FALSE); @@ -228,7 +228,7 @@ void Epos::on_uirequest_velocity(int motorid, int velocity) textState = "is on, direction cw, velocity " + QString::number(abs(velocity)); } - emit log(EventLogType::Notify, "EPOS :: " + textMotor + " motor " + textState); + emit log(Qt::black, "EPOS :: " + textMotor + " motor " + textState); // activate/deactivate runing state BOOL runningState = (velocity == 0) ? FALSE : TRUE; @@ -248,6 +248,6 @@ void Epos::on_uirequest_velocity(int motorid, int velocity) void Epos::on_uirequest_tension(bool state) { QString textState = (state) ? "on" : "off"; - emit log(EventLogType::Notify, "EPOS :: tension motor is " + textState); + emit log(Qt::black, "EPOS :: tension motor is " + textState); setTension(state); } diff --git a/BrainATUMtome/epos.h b/BrainATUMtome/epos.h index 9c24bc9..3742e32 100644 --- a/BrainATUMtome/epos.h +++ b/BrainATUMtome/epos.h @@ -4,7 +4,6 @@ #include #include "Definitions.h" -#include "eventlog.h" class Epos : public QObject { @@ -49,7 +48,7 @@ public slots: void on_uirequest_tension(bool state); signals: - void log(EventLogType type, const QString &message); + void log(const Qt::GlobalColor &color, const QString &message); }; #endif // EPOS_H diff --git a/BrainATUMtome/eventlog.cpp b/BrainATUMtome/eventlog.cpp index 59e8f7f..fafcc2e 100644 --- a/BrainATUMtome/eventlog.cpp +++ b/BrainATUMtome/eventlog.cpp @@ -24,20 +24,10 @@ void EventLog::addMessageToBoard(const QString &message, QBrush brush) } -void EventLog::on_log(EventLogType type, const QString &message) +void EventLog::on_log(const Qt::GlobalColor &color, const QString &message) { QBrush brush = QBrush(Qt::SolidPattern); - - if (type == EventLogType::Notify) { - brush.setColor(Qt::black); - } - else if (type == EventLogType::Respond) { - brush.setColor(Qt::gray); - } - else if (type == EventLogType::Warn) { - brush.setColor(Qt::red); - } - + brush.setColor(color); QString logMessage = message; if (m_useTimestamp) { diff --git a/BrainATUMtome/eventlog.h b/BrainATUMtome/eventlog.h index 2b6ec87..1ba4068 100644 --- a/BrainATUMtome/eventlog.h +++ b/BrainATUMtome/eventlog.h @@ -9,9 +9,6 @@ #include - -enum class EventLogType {Notify, Respond, Warn}; - class EventLog : public QPlainTextEdit { Q_OBJECT @@ -25,7 +22,7 @@ class EventLog : public QPlainTextEdit void addMessageToBoard(const QString &message, QBrush brush); public slots: - void on_log(EventLogType type, const QString &message); + void on_log(const Qt::GlobalColor &color, const QString &message); }; #endif // EVENTLOG_H diff --git a/BrainATUMtome/mainwindow.cpp b/BrainATUMtome/mainwindow.cpp index bebf294..3717acd 100644 --- a/BrainATUMtome/mainwindow.cpp +++ b/BrainATUMtome/mainwindow.cpp @@ -21,7 +21,7 @@ MainWindow::MainWindow(QWidget *parent) : // open settings QString fileIni = "/Users/tushevg/Desktop/BrainATUMtome/config/settings.ini"; if (!(QFileInfo::exists(fileIni) && QFileInfo(fileIni).isFile())) - ui->widget_board->on_log(EventLogType::Warn, "MainWindow :: provided INI file " + fileIni + " is not valid."); + ui->widget_board->on_log(Qt::red, "MainWindow :: provided INI file " + fileIni + " is not valid."); m_settings = new QSettings(fileIni, QSettings::IniFormat); configure_epos(); @@ -41,7 +41,7 @@ MainWindow::~MainWindow() void MainWindow::configure_epos() { if (m_settings->value("epos/deviceName").isNull()) { - ui->widget_board->on_log(EventLogType::Warn, "Settings :: failed to parse Epos settings in configuration file " + m_settings->fileName()); + ui->widget_board->on_log(Qt::red, "Settings :: failed to parse Epos settings in configuration file " + m_settings->fileName()); return; } QString portLower = m_settings->value("epos/portLower", "USB0").toString(); @@ -92,7 +92,7 @@ void MainWindow::configure_epos() void MainWindow::configure_microtome() { if (m_settings->value("microtome/deviceName").isNull()) { - ui->widget_board->on_log(EventLogType::Warn, "Settings :: failed to parse microtome settings in configuration file " + m_settings->fileName()); + ui->widget_board->on_log(Qt::red, "Settings :: failed to parse microtome settings in configuration file " + m_settings->fileName()); return; } @@ -115,7 +115,7 @@ void MainWindow::configure_microtome() void MainWindow::configure_syringe() { if (m_settings->value("syringe/deviceName").isNull()) { - ui->widget_board->on_log(EventLogType::Warn, "Settings :: failed to parse syringe settings in configuration file " + m_settings->fileName()); + ui->widget_board->on_log(Qt::red, "Settings :: failed to parse syringe settings in configuration file " + m_settings->fileName()); return; } diff --git a/BrainATUMtome/mainwindow.h b/BrainATUMtome/mainwindow.h index 4784010..118fd0d 100644 --- a/BrainATUMtome/mainwindow.h +++ b/BrainATUMtome/mainwindow.h @@ -7,7 +7,6 @@ #include #include -#include "eventlog.h" #include "epos.h" #include "microtome.h" #include "syringe.h" diff --git a/BrainATUMtome/microtome.cpp b/BrainATUMtome/microtome.cpp index b5b4ee5..eda9383 100644 --- a/BrainATUMtome/microtome.cpp +++ b/BrainATUMtome/microtome.cpp @@ -18,8 +18,8 @@ void Microtome::open(const QString &portName, int baudRate) { m_serialPort = new SerialPort(this); connect(m_serialPort, &SerialPort::log, - [this](EventLogType type, const QString &message) { - emit log(type, "Microtome :: " + message); + [this](const Qt::GlobalColor &color, const QString &message) { + emit log(color, "Microtome :: " + message); } ); m_serialPort->open(portName, baudRate); @@ -43,7 +43,7 @@ void Microtome::on_uirequest_cuttingMotor(bool state) // start cutting motor m_cutter_requestStop = false; - emit log(EventLogType::Notify, "Microtome :: cutting motor is on"); + emit log(Qt::black, "Microtome :: cutting motor is on"); command = SerialPackage::pack(ADDRESS_COMMAND_CUTTER) + SerialPackage::pack(CUTTER_MOTOR) + SerialPackage::pack(STATUS_SET); @@ -55,7 +55,7 @@ void Microtome::on_uirequest_cuttingMotor(bool state) void Microtome::on_uirequest_cuttingSpeed(int cuttingSpeed) { - emit log(EventLogType::Notify, "Microtome :: cutting speed is " + QString::number(cuttingSpeed)); + emit log(Qt::black, "Microtome :: cutting speed is " + QString::number(cuttingSpeed)); // 1 digit = 10 um/sec quint16 valueCuttingSpeed = static_cast(cuttingSpeed / 10); @@ -70,7 +70,7 @@ void Microtome::on_uirequest_cuttingSpeed(int cuttingSpeed) void Microtome::on_uirequest_returnSpeed(int returnSpeed) { - emit log(EventLogType::Notify, "Microtome :: return speed is " + QString::number(returnSpeed)); + emit log(Qt::black, "Microtome :: return speed is " + QString::number(returnSpeed)); // 1 digit = 10 um/sec quint16 valueReturnSpeed = static_cast(returnSpeed / 10); @@ -85,7 +85,7 @@ void Microtome::on_uirequest_returnSpeed(int returnSpeed) void Microtome::on_uirequest_feedStep(int feedStep) { - emit log(EventLogType::Notify, "Microtome :: feed step is " + QString::number(feedStep)); + emit log(Qt::black, "Microtome :: feed step is " + QString::number(feedStep)); // 1 digit == 1 nm quint16 valueFeedStep = static_cast(feedStep); diff --git a/BrainATUMtome/microtome.h b/BrainATUMtome/microtome.h index 7062bb8..e065df5 100644 --- a/BrainATUMtome/microtome.h +++ b/BrainATUMtome/microtome.h @@ -3,7 +3,6 @@ #include -#include "eventlog.h" #include "serialport.h" #include "serialpackage.h" @@ -53,7 +52,7 @@ public slots: void on_uirequest_feedStep(int feedStep); signals: - void log(EventLogType type, const QString &message); + void log(const Qt::GlobalColor &color, const QString &message); void schedule(const QByteArray &message); }; diff --git a/BrainATUMtome/serialport.cpp b/BrainATUMtome/serialport.cpp index d18d04d..9f59faf 100644 --- a/BrainATUMtome/serialport.cpp +++ b/BrainATUMtome/serialport.cpp @@ -21,7 +21,7 @@ SerialPort::SerialPort(QObject *parent) : QObject(parent), // configure callbacks connect(m_serialPort, &QSerialPort::readyRead, this, &SerialPort::on_bufferRead); connect(stateSender, &QState::entered, this, &SerialPort::on_bufferWrite); - connect(m_timerRespond, &QTimer::timeout, [this](){emit log(EventLogType::Warn, "SerialPort :: respond timeout.");}); + connect(m_timerRespond, &QTimer::timeout, [this](){emit log(Qt::red, "SerialPort :: respond timeout.");}); //connect(stateListener, &QState::entered, [this](){emit log(EventLogType::Notify, "SerialPort ::Dispatcher::Listener");}); @@ -62,11 +62,11 @@ void SerialPort::open(const QString &portName, qint32 baudRate) m_serialPort->open(QIODevice::ReadWrite); if (!m_serialPort->isOpen()) { - emit log(EventLogType::Warn, "SerialPort :: failed to open serial port " + m_serialPort->portName()); + emit log(Qt::red, "SerialPort :: failed to open serial port " + m_serialPort->portName()); return; } - emit log(EventLogType::Notify, + emit log(Qt::black, "SerialPort :: device opened @ port=" + m_serialPort->portName() + ", baudRate=" + QString::number(m_serialPort->baudRate())); // configure respond timer @@ -126,16 +126,16 @@ void SerialPort::on_bufferWrite() // check transfer if (bytesWritten == -1) { - emit log(EventLogType::Warn, "SerialPort :: failed to write data to serial port."); + emit log(Qt::red, "SerialPort :: failed to write data to serial port."); } else if (bytesWritten != packageBuffer.size()) { - emit log(EventLogType::Warn, "SerialPort :: serial port sent a truncated message."); + emit log(Qt::red, "SerialPort :: serial port sent a truncated message."); } else { m_timerRespond->start(); - emit log(EventLogType::Respond, "SerialPort :: message " + QString::fromUtf8(packageBuffer)); + emit log(Qt::gray, "SerialPort :: message " + QString::fromUtf8(packageBuffer)); emit sent(); } } diff --git a/BrainATUMtome/serialport.h b/BrainATUMtome/serialport.h index adba5e6..779fca6 100644 --- a/BrainATUMtome/serialport.h +++ b/BrainATUMtome/serialport.h @@ -7,8 +7,6 @@ #include #include -#include "eventlog.h" - class SerialPort : public QObject { Q_OBJECT @@ -36,7 +34,7 @@ private slots: void on_bufferWrite(); signals: - void log(EventLogType type, const QString &message); + void log(const Qt::GlobalColor &color, const QString &message); void schedule(); void sent(); diff --git a/BrainATUMtome/syringe.cpp b/BrainATUMtome/syringe.cpp index e6408ab..27d079a 100644 --- a/BrainATUMtome/syringe.cpp +++ b/BrainATUMtome/syringe.cpp @@ -12,8 +12,8 @@ void Syringe::open(const QString &portName, int baudRate) { m_serialPort = new SerialPort(this); connect(m_serialPort, &SerialPort::log, - [this](EventLogType type, const QString &message) { - emit log(type, "Syringe :: " + message); + [this](const Qt::GlobalColor &color, const QString &message) { + emit log(color, "Syringe :: " + message); } ); m_serialPort->open(portName, baudRate); @@ -21,13 +21,13 @@ void Syringe::open(const QString &portName, int baudRate) void Syringe::on_uirequest_pump() { - emit log(EventLogType::Notify, "Syringe :: pump"); + emit log(Qt::black, "Syringe :: pump"); } void Syringe::on_uirequest_auto(bool state) { QString textState = (state) ? "on" : "off"; - emit log(EventLogType::Notify, "Syringe :: auto pumping is " + textState); + emit log(Qt::black, "Syringe :: auto pumping is " + textState); m_auto = state; } diff --git a/BrainATUMtome/syringe.h b/BrainATUMtome/syringe.h index d147131..ff3338e 100644 --- a/BrainATUMtome/syringe.h +++ b/BrainATUMtome/syringe.h @@ -20,7 +20,7 @@ class Syringe : public QObject SerialPort *m_serialPort; signals: - void log(EventLogType type, const QString &message); + void log(const Qt::GlobalColor &color, const QString &message); public slots: void on_uirequest_pump();