#include #include "mainwindow.h" #include "ui_mainwindow.h" #include "global.h" #include "serialport.h" #include "dataparser.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) , _centralWidget(new CentralWidget) ,_leftWidget(new LeftWidget) ,_expertmentSettingForm(new ExperimentSettingForm) ,_realTimeDataForm(new RealTimeDataForm) { ui->setupUi(this); setActionEnable(false); this->setToolTip("....."); // resize(2222,1111); setCentralWidget(_centralWidget); addDockWidget(Qt::LeftDockWidgetArea, _leftWidget); connections(); } MainWindow::~MainWindow() { delete ui; } void MainWindow::connections() { //ui connect(_expertmentSettingForm,&ExperimentSettingForm::sigConnectToDevice, SerialPort::instance(),&SerialPort::slotConnectToDevice); //dynamic data connect(SerialPort::instance(),&SerialPort::sigSendCommonData, _centralWidget,&CentralWidget::slotRevCommonData); //mode connect(Global::instance(),&Global::sigModeModify, _centralWidget,&CentralWidget::slotModeModify); } void MainWindow::setActionEnable(const bool flag) { if(flag){ ui->actionNew->setEnabled(true); ui->actionStart->setEnabled(true); ui->actionStop->setEnabled(true); ui->actionRealTimeWidget->setEnabled(true); }else{ ui->actionNew->setEnabled(false); ui->actionStart->setEnabled(false); ui->actionStop->setEnabled(false); ui->actionRealTimeWidget->setEnabled(false); } } void MainWindow::on_actionStop_triggered() { QByteArray ba = DataParser::setDeviceStartStop(DeviceStartMode::Stop); SerialPort::instance()->slotSendData(ba); SerialPort::instance()->slotCloseSp(); } void MainWindow::on_actionNew_triggered() { _expertmentSettingForm->show(); } void MainWindow::on_actionStart_triggered() { QByteArray ba = DataParser::setDeviceStartStop(DeviceStartMode::Start); SerialPort::instance()->slotSendData(ba); } void MainWindow::on_actionReadOnly_triggered() { Global::instance()->setMode(Global::Mode::ExperimentStart); SerialPort::instance()->openSp(); } void MainWindow::on_actionRealTimeWidget_triggered() { _realTimeDataForm->show(); } void MainWindow::on_actionConnectToDev_triggered() { if(SerialPort::instance()->openSp()){ setActionEnable(true); Global::instance()->setMode(Global::Mode::ConnectedToDev); }else{ QMessageBox::warning(this, "warnning", "Serial Port open failed."); } }