diff --git a/testclient/atcoreui.rc b/testclient/atcoreui.rc
--- a/testclient/atcoreui.rc
+++ b/testclient/atcoreui.rc
@@ -9,5 +9,14 @@
+
diff --git a/testclient/mainwindow.cpp b/testclient/mainwindow.cpp
--- a/testclient/mainwindow.cpp
+++ b/testclient/mainwindow.cpp
@@ -60,6 +60,7 @@
locateSerialPort();
+ ui->statusBar->addWidget(ui->statusBarWidget);
printTime = new QTime();
printTimer = new QTimer();
printTimer->setInterval(1000);
@@ -113,6 +114,16 @@
ui->plotWidget->appendPoint(tr("Target Ext.1"), temp);
ui->plotWidget->update();
});
+
+ //more dock stuff.
+ setTabPosition(Qt::LeftDockWidgetArea, QTabWidget::North);
+ tabifyDockWidget(ui->moveDock, ui->tempControlsDock);
+ ui->moveDock->raise();
+
+ tabifyDockWidget(ui->connectDock, ui->printDock);
+ tabifyDockWidget(ui->connectDock, ui->commandDock);
+ ui->connectDock->raise();
+
}
void MainWindow::closeEvent(QCloseEvent *event)
@@ -131,7 +142,51 @@
{
QAction *action;
action = KStandardAction::quit(qApp, SLOT(quit()), actionCollection());
- setupGUI(Default, QStringLiteral("atcoreui.rc"));
+
+ //connect the view actions to their docks.
+ action = actionCollection()->addAction(QStringLiteral("actionConnection_Settings"), ui->connectDock, &QDockWidget::setVisible);
+ action->setText(QStringLiteral("Connection Settings"));
+ action->setCheckable(true);
+ connect(ui->connectDock, &QDockWidget::visibilityChanged,
+ actionCollection()->action(QStringLiteral("actionConnection_Settings")), &QAction::setChecked);
+
+ action = actionCollection()->addAction(QStringLiteral("actionSession_Log"), ui->logDock, &QDockWidget::setVisible);
+ action->setText(QStringLiteral("Session Log"));
+ action->setCheckable(true);
+ connect(ui->logDock, &QDockWidget::visibilityChanged,
+ actionCollection()->action(QStringLiteral("actionSession_Log")), &QAction::setChecked);
+
+ action = actionCollection()->addAction(QStringLiteral("actionTemperature_Plot"), ui->tempTimelineDock, &QDockWidget::setVisible);
+ action->setText(QStringLiteral("Temperature Plot"));
+ action->setCheckable(true);
+ connect(ui->tempTimelineDock, &QDockWidget::visibilityChanged,
+ actionCollection()->action(QStringLiteral("actionTemperature_Plot")), &QAction::setChecked);
+
+ action = actionCollection()->addAction(QStringLiteral("actionTest_Commands"), ui->commandDock, &QDockWidget::setVisible);
+ action->setText(QStringLiteral("Test Commands"));
+ action->setCheckable(true);
+ connect(ui->commandDock, &QDockWidget::visibilityChanged,
+ actionCollection()->action(QStringLiteral("actionTest_Commands")), &QAction::setChecked);
+
+ action = actionCollection()->addAction(QStringLiteral("actionMovement"), ui->moveDock, &QDockWidget::setVisible);
+ action->setText(QStringLiteral("Movement Controls"));
+ action->setCheckable(true);
+ connect(ui->moveDock, &QDockWidget::visibilityChanged,
+ actionCollection()->action(QStringLiteral("actionMovement")), &QAction::setChecked);
+
+ action = actionCollection()->addAction(QStringLiteral("actionTemp_Controls"), ui->tempControlsDock, &QDockWidget::setVisible);
+ action->setText(QStringLiteral("Temperature Controls"));
+ action->setCheckable(true);
+ connect(ui->tempControlsDock, &QDockWidget::visibilityChanged,
+ actionCollection()->action(QStringLiteral("actionTemp_Controls")), &QAction::setChecked);
+
+ action = actionCollection()->addAction(QStringLiteral("actionPrint"), ui->printDock, &QDockWidget::setVisible);
+ action->setText(QStringLiteral("Print Controls"));
+ action->setCheckable(true);
+ connect(ui->printDock, &QDockWidget::visibilityChanged,
+ actionCollection()->action(QStringLiteral("actionPrint")), &QAction::setChecked);
+
+ setupGUI(Save | Create, QStringLiteral("atcoreui.rc"));
}
QString MainWindow::getTime()
@@ -433,35 +488,55 @@
}
void MainWindow::printerStateChanged(PrinterState state)
{
+ QString stateString;
switch (state) {
case IDLE:
ui->printPB->setText(tr("Print File"));
+ stateString = QStringLiteral("Connected to ") + core->serial()->portName();;
break;
case STARTPRINT:
+ stateString = QStringLiteral("START PRINT");
ui->printPB->setText(tr("Pause Print"));
ui->printLayout->setVisible(true);
printTime->start();
printTimer->start();
break;
case FINISHEDPRINT:
+ stateString = QStringLiteral("Finished Print");
ui->printPB->setText(tr("Print File"));
ui->printLayout->setVisible(false);
printTimer->stop();
break;
case PAUSE:
+ stateString = QStringLiteral("Paused");
ui->printPB->setText(tr("Resume Print"));
break;
case BUSY:
+ stateString = QStringLiteral("Printing");
ui->printPB->setText(tr("Pause Print"));
break;
- default:
+ case DISCONNECTED:
+ stateString = QStringLiteral("Not Connected");
+ break;
+
+ case CONNECTING:
+ stateString = QStringLiteral("Connecting");
+ break;
+
+ case STOP:
+ stateString = QStringLiteral("Stoping Print");
+ break;
+
+ case ERROR:
+ stateString = QStringLiteral("Command ERROR");
break;
}
+ ui->lblState->setText(stateString);
}
void MainWindow::showMessage()
diff --git a/testclient/mainwindow.ui b/testclient/mainwindow.ui
--- a/testclient/mainwindow.ui
+++ b/testclient/mainwindow.ui
@@ -14,611 +14,679 @@
AtCore - KDE 3D Printing Test Client
-
- -
-
-
-
- 0
- 0
-
-
-
- QFrame::StyledPanel
-
-
- QFrame::Raised
-
-
-
- 0
+
+
+
+ 6
+ 418
+ 801
+ 46
+
+
+
+
+ 100
+ 0
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ AtCoreState:
-
- 3
+
+
+ -
+
+
+ Not Connected
-
- 0
+
+
+ -
+
+
+ Qt::Horizontal
-
- 3
+
+ QSizePolicy::Expanding
-
-
-
-
-
- 0
- 0
-
-
-
- QFrame::StyledPanel
-
-
- QFrame::Raised
-
-
-
- 0
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ true
-
+
0
-
- 0
+
+
+ -
+
+
+ Stop Print Job
-
- 0
+
+
+
+
+ ..
+
+
+
+ -
+
+
+ <html><head/><body><p>Elapsed Time</p></body></html>
+
+
+ 00:00:00
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ /
+
+
+
+ -
+
+
+ <html><head/><body><p>Remaining Time</p></body></html>
+
+
+ 00:00:00
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+
+
+
+
+
+ 10
+ 0
+ 473
+ 243
+
+
+
+ &Print
+
+
+
+ -
+
+
-
+
+
+ Print File
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Emergency Stop
+
+
+
+
+
+ -
+
+
-
+
+
+ On Pause:
+
+
+
+ -
+
+
+ G91,G0 Z1,G90,G1 X0 Y195
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Printer Speed
+
+
+
+ -
+
+
+ %
+
+
+
+
+
+ 300
+
+
+ 100
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Set
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Flow Rate
+
+
+
+ -
+
+
+ %
+
+
+ 300
+
+
+ 100
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Set
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 240
+ 485
+ 146
+
+
+
+
+ 485
+ 146
+
+
+
+ Comma&nds
+
+
+
+ -
+
+
-
+
+
+ Send Command
+
+
+
+ -
+
+
+ Send
+
+
+
+
+
+ -
+
+
-
+
+
+ Show Message
+
+
+
+ -
+
+
+ Send
+
+
+
+
+
+
+
+
+
+
+
+
+ 100
+ 64
+
+
+
+ Temperat&ure Timeline
+
+
+ 2
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+ 285
+ 246
+
+
+
+ &Connection Settings
+
+
+ 1
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
-
-
-
- Connection Settings
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- Port:
-
-
-
- -
-
-
-
-
- -
-
-
-
-
-
-
- 0
- 0
-
-
-
- Baud Rate:
-
-
-
- -
-
-
- true
-
-
-
-
-
- -
-
-
-
-
-
- Use Plugin
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
-
-
-
- -
-
+
-
+
0
0
- Connect
+ Port:
-
-
-
- -
-
-
- Test commands
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-
- Home All
-
-
-
- -
-
-
- Home X
-
-
-
- -
-
-
- Home Y
-
-
-
- -
-
-
- Home Z
-
-
-
-
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 0
-
-
-
-
-
- Move X Axis to
-
-
- -
-
- Move Y Axis to
-
-
- -
-
- Move Z Axis to
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 0
-
-
-
- Qt::AlignCenter
-
-
- 0
-
-
- 200.000000000000000
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Go
-
-
-
-
-
- -
-
-
-
-
-
- Axis move
-
-
-
- -
-
-
- Absol&ute
-
-
- true
-
-
-
- -
-
-
- Re&lative
-
-
-
-
-
- -
-
-
-
-
-
-
- 0
- 0
-
-
-
- Bed Temp
-
-
-
- -
-
-
- Qt::AlignCenter
-
-
- °C
-
-
- 0
-
-
- 100.000000000000000
-
-
-
- -
-
-
- Set
-
-
-
-
-
- -
-
-
-
-
-
-
- 0
- 0
-
-
-
-
-
- Extruder 0
-
-
- -
-
- Extruder 1
-
-
-
-
- -
-
-
- Qt::AlignCenter
-
-
- °C
-
-
- 0
-
-
- 275.000000000000000
-
-
-
- -
-
-
- Set
-
-
-
-
-
- -
-
-
-
-
-
-
- 0
- 0
-
-
-
-
-
- Fan 0 Speed
-
-
- -
-
- Fan 1 Speed
-
-
- -
-
- Fan 2 Speed
-
-
- -
-
- Fan 3 Speed
-
-
-
-
- -
-
-
- Qt::AlignCenter
-
-
- %
-
-
- 100
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Set
-
-
-
-
+
+
+
+ -
+
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- Printer Speed
-
-
-
- -
-
-
- %
-
-
-
-
-
- 300
-
-
- 100
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Set
-
-
-
-
+
+
+
+ 0
+ 0
+
+
+
+ Baud Rate:
+
+
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- Flow Rate
-
-
-
- -
-
-
- %
-
-
- 300
-
-
- 100
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Set
-
-
-
-
+
+
+ true
+
+
+
+
+ -
+
-
-
-
-
-
-
- Show Message
-
-
-
- -
-
-
- Send
-
-
-
-
+
+
+ Use Plugin
+
+
-
-
-
-
-
-
- On Pause:
-
-
-
- -
-
-
- G91,G0 Z1,G90,G1 X0 Y195
-
-
-
-
+
+
+
+ 0
+ 0
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Connect
+
+
+
+
+
+
+
+
+
+
+
+
+ 266
+ 176
+
+
+
+ Session &Log
+
+
+ 2
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+ true
+
+
+ 1000
+
+
+
+ -
+
+
+ Save Session Log
+
+
+
+ ..
+
+
+
+
+
+
+
+
+
+
+
+ Qt::NoContextMenu
+
+
+ false
+
+
+
+
+ &Movement
+
+
+ 1
+
+
+
+ -
+
+
-
+
+
+ Home All
+
+
+
+ -
+
+
+ Home X
+
+
+
+ -
+
+
+ Home Y
+
+
+
+ -
+
+
+ Home Z
+
-
-
- -
-
-
-
- 0
-
-
- 3
-
-
- 0
-
-
- 3
-
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
-
+
+ Move X Axis to
+
+
+ -
+
+ Move Y Axis to
+
+
+ -
+
+ Move Z Axis to
+
+
+
+
-
-
+
-
+
0
0
@@ -629,152 +697,269 @@
0
+
+ Qt::AlignCenter
+
+
+ 0
+
+
+ 200.000000000000000
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Go
+
+
+
+
+
+ -
+
+
-
+
+
+ Axis move
+
+
+
+ -
+
+
+ Absol&ute
+
+
+ true
+
+
+
+ -
+
+
+ Relati&ve
+
+
+
+
+
+
+
+
+
+
+ &Temperatures
+
+
+ 1
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Bed Temp
+
+
+
+ -
+
+
+ Qt::AlignCenter
+
+
+ °C
+
+
+ 0
+
+
+ 100.000000000000000
+
+
+
+ -
+
+
+ Set
+
+
+
+ -
+
-
-
+
+
+
+ 0
+ 0
+
+
-
-
-
- Send Command
-
-
+
+ Extruder 0
+
-
-
-
- Send
-
-
+
+ Extruder 1
+
-
+
+
+ -
+
+
+ Qt::AlignCenter
+
+
+ °C
+
+
+ 0
+
+
+ 275.000000000000000
+
+
+
+ -
+
+
+ Set
+
+
+
+
+ -
+
-
-
+
+
+
+ 0
+ 0
+
+
-
-
-
- Print File
-
-
+
+ Fan 0 Speed
+
+
+ -
+
+ Fan 1 Speed
+
-
-
-
-
- 0
- 0
-
-
-
- Emergency Stop
-
-
+
+ Fan 2 Speed
+
+
+ -
+
+ Fan 3 Speed
+
-
+
-
-
-
-
-
-
-
-
-
-
- true
-
-
- 0
-
-
-
- -
-
-
- Stop Print Job
-
-
-
-
-
-
- ..
-
-
-
-
-
- -
-
-
-
-
-
- 00:00:00
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- 00:00:00
-
-
- Qt::AlignCenter
-
-
-
-
-
-
+
+
+ Qt::AlignCenter
+
+
+ %
+
+
+ 100
+
-
-
-
- Session Log
+
+
+
+ 0
+ 0
+
+
+
+ Set
-
-
-
-
-
- true
-
-
-
- 0
- 0
-
-
-
- true
-
-
- 1000
-
-
-
- -
-
-
- Save Session Log
-
-
-
- ..
-
-
-
-
-
-
-
+
+
+
+
+
+ true
+
+
+ &Connection Settings
+
+
+
+
+ true
+
+
+ Ma&nual
+
+
+
+
+ true
+
+
+ &Session Log
+
+
+
+
+ true
+
+
+ T&emperature Plot
+
+
+
+
+ &Movement
+
+
+
+
+ &Print
+
+
+
+
+ &Temperatures
+
+