From f5e6d8cf1ca28e253b18a20ad59cf081a019c5ae Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Thu, 7 May 2015 22:29:38 +0200 Subject: [PATCH] Updated color mapping for Instruments Updated playbook parsing --- gui/timelineview/informationwidget.cpp | 9 ++++++ gui/timelineview/informationwidget.h | 3 ++ gui/timelineview/mainwindow.cpp | 29 ++++++++++++++--- gui/timelineview/mainwindow.h | 7 +++-- gui/timelineview/timelinewidget.cpp | 43 ++++++++++++++++++++------ 5 files changed, 75 insertions(+), 16 deletions(-) diff --git a/gui/timelineview/informationwidget.cpp b/gui/timelineview/informationwidget.cpp index 0647f9fb32..ac7ae9935a 100644 --- a/gui/timelineview/informationwidget.cpp +++ b/gui/timelineview/informationwidget.cpp @@ -30,6 +30,7 @@ InformationWidget::InformationWidget(QWidget* parent) : QTextEdit(parent) { + setReadOnly(true); } void InformationWidget::socketConnected() { @@ -39,3 +40,11 @@ void InformationWidget::socketConnected() { void InformationWidget::socketDisconnected() { setDisabled(true); } + +void InformationWidget::logInformation(QString text) { + QString currentText = toPlainText(); + + currentText += text + "\n"; + + setPlainText(currentText); +} diff --git a/gui/timelineview/informationwidget.h b/gui/timelineview/informationwidget.h index abf56897a9..c1a657ee20 100644 --- a/gui/timelineview/informationwidget.h +++ b/gui/timelineview/informationwidget.h @@ -33,6 +33,9 @@ public: InformationWidget(QWidget* parent); void socketConnected(); void socketDisconnected(); + +public slots: + void logInformation(QString text); }; #endif // __INFORMATIONWIDGET_H__ diff --git a/gui/timelineview/mainwindow.cpp b/gui/timelineview/mainwindow.cpp index 2dfd08e0cb..b4759fc51b 100644 --- a/gui/timelineview/mainwindow.cpp +++ b/gui/timelineview/mainwindow.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -157,15 +158,26 @@ void MainWindow::readTcpData() { uint32_t size = readFromBuffer(data.mid(2).data(), beginning); while (_socket->waitForReadyRead() && data.size() < size) { - //while (data.size() < size) { data = data.append(_socket->readAll()); + QThread::msleep(50); } handlePlaybook(data.mid(2)); + + if (messageType.value == MessageTypePlayBookHongKang) + _hasHongKangTimeline = true; + if (messageType.value == MessageTypePlayBookLabel) + _hasLabelTimeline = true; + + if (_hasHongKangTimeline && _hasLabelTimeline) { + fullyConnected(); + } + break; } default: qDebug() << "Unknown message of type '" << messageType.value << "'"; } + } void MainWindow::handleStatusMessage(QByteArray data) { @@ -254,10 +266,6 @@ void MainWindow::handlePlaybook(QByteArray data) { _timelineWidget->setData(std::move(images), std::move(targetMap), std::move(instrumentMap)); - _configurationWidget->socketConnected(); - _timeControlWidget->socketConnected(); - _informationWidget->socketConnected(); - _timelineWidget->socketConnected(); } void MainWindow::sendScript(QString script) { @@ -267,6 +275,7 @@ void MainWindow::sendScript(QString script) { void MainWindow::onSocketConnected() { _socket->write(QString("1\r\n").toLatin1()); + } void MainWindow::onSocketDisconnected() { @@ -274,9 +283,19 @@ void MainWindow::onSocketDisconnected() { _timeControlWidget->socketDisconnected(); _informationWidget->socketDisconnected(); _timelineWidget->socketDisconnected(); + + _informationWidget->logInformation("Disconnected."); } std::string MainWindow::nextTarget() const { return _timelineWidget->nextTarget(); } +void MainWindow::fullyConnected() { + _informationWidget->logInformation("Connected to " + _socket->peerName() + " on port " + QString::number(_socket->peerPort()) + "."); + + _configurationWidget->socketConnected(); + _timeControlWidget->socketConnected(); + _informationWidget->socketConnected(); + _timelineWidget->socketConnected(); +} diff --git a/gui/timelineview/mainwindow.h b/gui/timelineview/mainwindow.h index 8776dac084..23d85fec0b 100644 --- a/gui/timelineview/mainwindow.h +++ b/gui/timelineview/mainwindow.h @@ -53,12 +53,12 @@ private slots: void onSocketConnected(); void onSocketDisconnected(); - //void onConnectButton(); - //void sendCommandButton(); void readTcpData(); void handleStatusMessage(QByteArray data); void handlePlaybook(QByteArray data); + void fullyConnected(); + private: ConfigurationWidget* _configurationWidget; ControlWidget* _timeControlWidget; @@ -66,6 +66,9 @@ private: TimelineWidget* _timelineWidget; QTcpSocket* _socket; + + bool _hasHongKangTimeline = false; + bool _hasLabelTimeline = false; }; #endif // __MAINWINDOW_H__ diff --git a/gui/timelineview/timelinewidget.cpp b/gui/timelineview/timelinewidget.cpp index 95a1e1eef7..3f8b98612c 100644 --- a/gui/timelineview/timelinewidget.cpp +++ b/gui/timelineview/timelinewidget.cpp @@ -39,15 +39,40 @@ namespace { static const int TextOffset = 5; const QColor instrumentColors[] = { - QColor(228, 26, 28), - QColor(55, 126, 184), - QColor(77, 175, 74), - QColor(152, 78, 163), - QColor(255, 127, 0), - QColor(255, 255, 51), - QColor(166, 86, 40), - QColor(247, 129, 191), - QColor(153, 153, 153), + QColor(242, 101, 74), + QColor(175, 18, 18), + QColor(211, 154, 31), + QColor(241, 231, 48), + QColor(149, 219, 32), + QColor(49, 234, 219), + QColor(49, 155, 234), + QColor(139, 86, 152), + QColor(84, 79, 149), + QColor(203, 153, 200), + QColor(82, 145, 57) + + //QColor(166, 206, 227), + //QColor(31, 120, 180), + //QColor(178, 223, 138), + //QColor(51, 160, 44), + //QColor(251, 154, 153), + //QColor(227, 26, 28), + //QColor(253, 191, 111), + //QColor(255, 127, 0), + //QColor(202, 178, 214), + //QColor(106, 61, 154), + //QColor(255, 255, 153), + + + //QColor(228, 26, 28), + //QColor(55, 126, 184), + //QColor(77, 175, 74), + //QColor(152, 78, 163), + //QColor(255, 127, 0), + //QColor(255, 255, 51), + //QColor(166, 86, 40), + //QColor(247, 129, 191), + //QColor(153, 153, 153), }; QMap InstrumentConversion = {