Subversion Repositories Code-Repo

Compare Revisions

Ignore whitespace Rev 347 → Rev 348

/Misc Projects/PcMarlinInterface/MainWindow.cpp
11,24 → 11,45
groupSerialInit = new QGroupBox("Initialization");
btnSerialConnect = new QPushButton("&Connect");
btnSerialRefresh = new QPushButton("&Refresh");
labelSerialPort = new QLabel("Port:");
labelSerialPort = new QLabel("Serial Port:");
labelSerialSpeed = new QLabel("Baud Rate:");
labelSerialDataBits = new QLabel("Data:");
labelSerialStopBits = new QLabel("Stop:");
labelSerialParity = new QLabel("Parity Bit:");
labelSerialFlowControl = new QLabel("Flow Control:");
cboxSerialPort = new QComboBox();
cboxSerialPort->setMinimumWidth(80);
cboxSerialSpeed = new QComboBox();
cboxSerialSpeed->setEditable(true);
cboxSerialSpeed->setValidator(new QIntValidator(0, 100000000, this));
cboxSerialDataBits = new QComboBox();
cboxSerialDataBits->setMaximumWidth(60);
cboxSerialStopBits = new QComboBox();
cboxSerialStopBits->setMaximumWidth(60);
cboxSerialParity = new QComboBox();
cboxSerialFlowControl = new QComboBox();
cboxSerialFlowControl->setMinimumWidth(70);
 
QHBoxLayout *serialInitLayout = new QHBoxLayout();
serialInitLayout->addWidget(btnSerialConnect);
serialInitLayout->addWidget(labelSerialPort);
serialInitLayout->addWidget(cboxSerialPort);
serialInitLayout->addWidget(labelSerialSpeed);
serialInitLayout->addWidget(cboxSerialSpeed);
serialInitLayout->addWidget(btnSerialRefresh);
serialInitLayout->addStretch();
groupSerialInit->setLayout(serialInitLayout);
QGridLayout *serialSettingsLayout = new QGridLayout();
serialSettingsLayout->addWidget(btnSerialConnect, 0, 0);
serialSettingsLayout->addWidget(labelSerialPort, 0, 1);
serialSettingsLayout->addWidget(cboxSerialPort, 0, 2);
serialSettingsLayout->addWidget(labelSerialDataBits, 0, 3);
serialSettingsLayout->addWidget(cboxSerialDataBits, 0, 4);
serialSettingsLayout->addWidget(labelSerialParity, 0, 5);
serialSettingsLayout->addWidget(cboxSerialParity, 0, 6);
 
serialSettingsLayout->addWidget(btnSerialRefresh, 1, 0);
serialSettingsLayout->addWidget(labelSerialSpeed, 1, 1);
serialSettingsLayout->addWidget(cboxSerialSpeed, 1, 2);
serialSettingsLayout->addWidget(labelSerialStopBits, 1, 3);
serialSettingsLayout->addWidget(cboxSerialStopBits, 1, 4);
serialSettingsLayout->addWidget(labelSerialFlowControl, 1, 5);
serialSettingsLayout->addWidget(cboxSerialFlowControl, 1, 6);
 
groupSerialInit->setLayout(serialSettingsLayout);
groupSerialInit->setFixedSize(groupSerialInit->sizeHint());
 
 
// Serial data UI
groupSerialData = new QGroupBox("Data");
textSerialData = new QTextEdit();
57,7 → 78,7
QHBoxLayout *macroLayout = new QHBoxLayout();
macroLayout->addWidget(btnMacro);
groupMacro->setLayout(macroLayout);
groupMacro->setFixedSize(groupMacro->sizeHint());
// groupMacro->setFixedSize(groupMacro->sizeHint());
 
 
// Main layout
74,10 → 95,12
serialController = new SerialController();
serialController->moveToThread(serialThread);
connect(this, SIGNAL(Serial_QueryParameters()), serialController, SLOT(Serial_QueryParameters()));
connect(this, SIGNAL(Serial_Connect(QString,QString)), serialController, SLOT(Serial_Connect(QString,QString)));
connect(this, SIGNAL(Serial_Connect(QString,QString,QString,QString,QString,QString)),
serialController, SLOT(Serial_Connect(QString,QString,QString,QString,QString,QString)));
connect(this, SIGNAL(Serial_Disconnect()), serialController, SLOT(Serial_Disconnect()));
connect(this, SIGNAL(Serial_TransmitString(QString)), serialController, SLOT(Serial_TransmitString(QString)));
connect(serialController, SIGNAL(Serial_UpdateParameters(QStringList,QStringList)), this, SLOT(Serial_UpdateParameters(QStringList,QStringList)));
connect(serialController, SIGNAL(Serial_UpdateParameters(QStringList,QStringList,QStringList,QStringList,QStringList,QStringList)),
this, SLOT(Serial_UpdateParameters(QStringList,QStringList,QStringList,QStringList,QStringList,QStringList)));
connect(serialController, SIGNAL(Serial_ReceivedString(QString)), this, SLOT(Serial_ReceivedString(QString)));
connect(serialController, SIGNAL(Serial_Connected()), this, SLOT(Serial_Connected()));
connect(serialController, SIGNAL(Serial_Disconnected()), this, SLOT(Serial_Disconnected()));
85,7 → 108,12
serialThread->start();
 
// Initialize macro widget
macroController = new MacroController();
macroDockWidget = new QDockWidget("Macro Controller", this);
macroController = new MacroController(macroDockWidget);
macroDockWidget->setWidget(macroController);
macroDockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
macroDockWidget->hide();
addDockWidget(Qt::RightDockWidgetArea, macroDockWidget);
connect(macroController, SIGNAL(Macro_TransmitText(QString)), this, SLOT(Serial_PrepareTransmit(QString)));
connect(serialController, SIGNAL(Serial_Connected()), macroController, SLOT(Macro_EnableTransmit()));
connect(serialController, SIGNAL(Serial_Disconnected()), macroController, SLOT(Macro_DisableTransmit()));
96,7 → 124,7
connect(btnSerialTransmit, SIGNAL(clicked()), this, SLOT(Serial_PrepareTransmit()));
connect(textSerialTransmit, SIGNAL(returnPressed()), btnSerialTransmit, SIGNAL(clicked()));
connect(btnSerialClear, SIGNAL(clicked()), this, SLOT(Serial_ClearBtn()));
connect(btnMacro, SIGNAL(clicked()), this, SLOT(Macro_ShowWindowBtn()));
connect(btnMacro, SIGNAL(clicked()), macroDockWidget->toggleViewAction(), SLOT(trigger()));
 
emit Serial_QueryParameters();
Serial_Disconnected();
116,7 → 144,8
emit Serial_Disconnect();
} else {
if (cboxSerialPort->currentText() != "" && cboxSerialSpeed->currentText() != "") {
emit Serial_Connect(cboxSerialPort->currentText(), cboxSerialSpeed->currentText());
emit Serial_Connect(cboxSerialPort->currentText(), cboxSerialSpeed->currentText(), cboxSerialDataBits->currentText(),
cboxSerialStopBits->currentText(), cboxSerialParity->currentText(), cboxSerialFlowControl->currentText());
}
}
}
141,18 → 170,39
textSerialData->clear();
}
 
void MainWindow::Macro_ShowWindowBtn()
void MainWindow::Serial_UpdateParameters(QStringList ports, QStringList speeds, QStringList dataBits,
QStringList stopBits, QStringList parity, QStringList flowControl)
{
macroController->show();
}
 
void MainWindow::Serial_UpdateParameters(QStringList ports, QStringList speeds)
{
QString currPort = cboxSerialPort->currentText();
cboxSerialPort->clear();
cboxSerialPort->addItems(ports);
if (currPort != "" && ports.contains(currPort))
cboxSerialPort->setCurrentText(currPort);
 
QString currSpeed = cboxSerialSpeed->currentText();
cboxSerialSpeed->clear();
cboxSerialSpeed->addItems(speeds);
if (currSpeed != "") cboxSerialSpeed->setCurrentText(currSpeed);
 
int currData = cboxSerialDataBits->currentIndex();
cboxSerialDataBits->clear();
cboxSerialDataBits->addItems(dataBits);
if (currData >= 0) cboxSerialDataBits->setCurrentIndex(currData);
 
int currStop = cboxSerialStopBits->currentIndex();
cboxSerialStopBits->clear();
cboxSerialStopBits->addItems(stopBits);
if (currStop >= 0) cboxSerialStopBits->setCurrentIndex(currStop);
 
int currParity = cboxSerialParity->currentIndex();
cboxSerialParity->clear();
cboxSerialParity->addItems(parity);
if (currParity >= 0) cboxSerialParity->setCurrentIndex(currParity);
 
int currFlow = cboxSerialFlowControl->currentIndex();
cboxSerialFlowControl->clear();
cboxSerialFlowControl->addItems(flowControl);
if (currFlow >= 0) cboxSerialFlowControl->setCurrentIndex(currFlow);
}
 
void MainWindow::Serial_ReceivedString(QString string)
180,9 → 230,3
textSerialTransmit->setEnabled(false);
btnSerialTransmit->setEnabled(false);
}
 
void MainWindow::closeEvent(QCloseEvent *event)
{
macroController->close();
event->accept();
}