diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d70a936a87eca45e540a339565b2ba455f88178..2a7f93ef30ec04e83fc921cabe983472851d54b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,8 @@ if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) snap.cpp snap.h step.cpp step.h wordopcontrolled.cpp wordopcontrolled.h + newdevicedialog.h newdevicedialog.cpp newdevicedialog.ui + newoperationdialog.h newoperationdialog.cpp newoperationdialog.ui ) # Define target properties for Android with Qt 6 as: # set_property(TARGET DetectionDescription APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR diff --git a/mainwindow.cpp b/mainwindow.cpp index ca8e0539acd1a2e7edea81732939d4bfc7715fdb..39a54bb9c448c1e5508d1a0c72b87fb570ed0ce7 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,13 +1,8 @@ #include "mainwindow.h" #include "./ui_mainwindow.h" +#include #include "objectfactory.h" -#include "delay.h" -#include "wordopcontrolled.h" -#include "MoveJoint.h" -#include "RS232.h" -#include "Ethernet.h" -#include "Snap.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) @@ -16,6 +11,7 @@ MainWindow::MainWindow(QWidget *parent) ui->setupUi(this); connect(ui->actionOpenFile,&QAction::triggered,this,&MainWindow::OpenXMLFile); + connect(ui->actionSaveFile,&QAction::triggered,this,&MainWindow::SaveXMLFile); // 槽函数连接 connect(ui->treeView, &QTreeView::clicked, this, &MainWindow::on_image_tree_currentChanged); @@ -41,6 +37,9 @@ MainWindow::MainWindow(QWidget *parent) InitSerialPortParityComboBox(); InitSerialPortStopBitsComboBox(); InitWordopControlLEDChannel(); + + ui->treeView->setContextMenuPolicy(Qt::CustomContextMenu); + connect(ui->treeView,&QTreeView::customContextMenuRequested,this,&MainWindow::slotActionTriggered); } MainWindow::~MainWindow() @@ -48,9 +47,64 @@ MainWindow::~MainWindow() delete ui; } +void MainWindow::InitCameraComboBox(){ + for(int i = 0;i < 8; i++){ + ui->comboBoxCameras->addItem(QString("Camera%1").arg(i + 1),QVariant(i + 1)); + } +} + +void MainWindow::InitSerialPortNameComboBox(){ + for(int i = 0;i < 8; i++){ + ui->comboBoxSerialPortName->addItem(QString("COM%1").arg(i + 1),QVariant(i + 1)); + } +} + +void MainWindow::InitSerialPortBaudComboBox(){ + ui->comboBoxSerialPortBaud->addItem("115200",QVariant(115200)); + ui->comboBoxSerialPortBaud->addItem("57600",QVariant(57600)); + ui->comboBoxSerialPortBaud->addItem("38400",QVariant(38400)); + ui->comboBoxSerialPortBaud->addItem("19200",QVariant(19200)); + ui->comboBoxSerialPortBaud->addItem("9600",QVariant(9600)); + ui->comboBoxSerialPortBaud->addItem("4800",QVariant(4800)); + ui->comboBoxSerialPortBaud->addItem("2400",QVariant(2400)); + ui->comboBoxSerialPortBaud->addItem("1200",QVariant(1200)); +} + +void MainWindow::InitSerialPortDataBitsComboBox(){ + ui->comboBoxSerialPortDataBits->addItem("Data5",QVariant(5)); + ui->comboBoxSerialPortDataBits->addItem("Data6",QVariant(6)); + ui->comboBoxSerialPortDataBits->addItem("Data7",QVariant(7)); + ui->comboBoxSerialPortDataBits->addItem("Data8",QVariant(8)); +} + +void MainWindow::InitSerialPortParityComboBox(){ + ui->comboBoxSerialPortParity->addItem("NoParity",QVariant(0)); + ui->comboBoxSerialPortParity->addItem("EvenParity",QVariant(2)); + ui->comboBoxSerialPortParity->addItem("OddParity",QVariant(3)); + ui->comboBoxSerialPortParity->addItem("SpaceParity",QVariant(4)); + ui->comboBoxSerialPortParity->addItem("MarkParity",QVariant(5)); +} + +void MainWindow::InitSerialPortStopBitsComboBox(){ + ui->comboBoxSerialPortStopBits->addItem("OneStop",QVariant(1)); + ui->comboBoxSerialPortStopBits->addItem("OneAndHalfStop",QVariant(3)); + ui->comboBoxSerialPortStopBits->addItem("TwoStop",QVariant(2)); +} + +void MainWindow::InitWordopControlLEDChannel(){ + for(int i = 0; i < 4; i++){ + ui->comboBoxLEDChannel->addItem(QString("%1").arg(i),QVariant(i)); + } +} + +void MainWindow::InitStepComboBox(){ + +} + void MainWindow::OpenXMLFile(){ QString fileName = QFileDialog::getOpenFileName(this, QStringLiteral("Open File"), "", "All Files (*);;XML Files (*.xml)"); if (!fileName.isEmpty()) { + m_strXMLFilename = fileName; m_labelInformation->setText(fileName); m_description.clear(); m_description.ReadXML(fileName); @@ -58,10 +112,15 @@ void MainWindow::OpenXMLFile(){ m_description.run(); } else { + m_strXMLFilename = ""; m_labelInformation->setText(QStringLiteral("No Selected File!")); } } +void MainWindow::SaveXMLFile(){ + m_description.writeXML(m_strXMLFilename); +} + void MainWindow::insterTreeNode(QString str,QStandardItem *parent) { QStandardItem *item = new QStandardItem; @@ -71,6 +130,7 @@ void MainWindow::insterTreeNode(QString str,QStandardItem *parent) void MainWindow::InitTreeView(){ QStandardItemModel *model; + QVariant var; model = new QStandardItemModel; ui->treeView->setModel(model); @@ -88,8 +148,11 @@ void MainWindow::InitTreeView(){ // device node QStandardItem *itemDevice = NULL; foreach(Device* pDevice,m_description.pDevices()){ + itemDevice = new QStandardItem; itemDevice->setText(pDevice->getClassName()); + var.setValue(QVariant::fromValue(pDevice)); + itemDevice->setData(var); itemDevices->appendRow(itemDevice); } itemDescription->appendRow(itemDevices); @@ -101,12 +164,16 @@ void MainWindow::InitTreeView(){ QStandardItem *itemStep = NULL; foreach(Step* pStep,m_description.pSteps()){ itemStep = new QStandardItem; + var.setValue(QVariant::fromValue(pStep)); + itemStep->setData(var); itemStep->setText(pStep->staticMetaObject.className()); // operation node QStandardItem *itemOperation = NULL; foreach(Operation* pOperation,pStep->pOperations()){ itemOperation = new QStandardItem; itemOperation->setText(pOperation->getClassName()); + var.setValue(QVariant::fromValue(pOperation)); + itemOperation->setData(var); itemStep->appendRow(itemOperation); } @@ -125,6 +192,7 @@ void MainWindow::on_image_tree_currentChanged(const QModelIndex& current) QStandardItemModel *model = (QStandardItemModel*)ui->treeView->model(); // 根据index获取当前item QModelIndex index = ui->treeView->currentIndex(); QStandardItem *item = model->itemFromIndex(index); + QVariant var = item->data(); if(item) { @@ -135,69 +203,177 @@ void MainWindow::on_image_tree_currentChanged(const QModelIndex& current) ui->labelTagName->setText(text); if(text == QStringLiteral("RS232")){ + RS232 *pRS232 = var.value(); + UpdateRS232Data(pRS232); ui->stackedWidget->setCurrentIndex(1); }else if(text == QStringLiteral("Ethernet")){ + Ethernet* pEthernet = var.value(); + UpdateEthernetData(pEthernet); ui->stackedWidget->setCurrentIndex(2); }else if(text == QStringLiteral("Delay")){ + Delay *pDelay = var.value(); + UpdateDelayData(pDelay); ui->stackedWidget->setCurrentIndex(3); }else if(text == QStringLiteral("Snap")){ + Snap *pSnap = var.value(); + UpdateSnapData(pSnap); ui->stackedWidget->setCurrentIndex(4); }else if(text == QStringLiteral("WordopControlLED")){ + WordopControlLED *pWordopControlLED = var.value(); + UpdateWordopControlLEDData(pWordopControlLED); ui->stackedWidget->setCurrentIndex(5); }else if(text == QStringLiteral("MoveJoint")){ + MoveJoint *pMoveJoint = var.value(); + UpdateMoveJointData(pMoveJoint); ui->stackedWidget->setCurrentIndex(6); + }else if(text == QStringLiteral("Step")){ + Step *pStep = var.value(); + UpdateStepData(pStep); + ui->stackedWidget->setCurrentIndex(7); }else{ ui->stackedWidget->setCurrentIndex(0); } } } -void MainWindow::InitCameraComboBox(){ - for(int i = 0;i < 8; i++){ - ui->comboBoxCameras->addItem(QString("Camera%1").arg(i + 1),QVariant(i + 1)); +void MainWindow::UpdateRS232Data(RS232* pRS232){ + ui->lineEditRS232DeviceID->setText(pRS232->strID()); + for(int i = 0;i < ui->comboBoxSerialPortName->count();i++){ + QVariant var = ui->comboBoxSerialPortName->itemData(i); + if(var == pRS232->nPort()){ + ui->comboBoxSerialPortName->setCurrentIndex(i); + break; + } } -} -void MainWindow::InitSerialPortNameComboBox(){ - for(int i = 0;i < 8; i++){ - ui->comboBoxSerialPortName->addItem(QString("COM%1").arg(i + 1),QVariant(i + 1)); + for(int i = 0;i < ui->comboBoxSerialPortBaud->count();i++){ + QVariant var = ui->comboBoxSerialPortBaud->itemData(i); + if(var == pRS232->nBaud()){ + ui->comboBoxSerialPortBaud->setCurrentIndex(i); + break; + } + } + + for(int i = 0;i < ui->comboBoxSerialPortParity->count();i++){ + QVariant var = ui->comboBoxSerialPortParity->itemData(i); + if(var == pRS232->nParity()){ + ui->comboBoxSerialPortParity->setCurrentIndex(i); + break; + } + } + + for(int i = 0;i < ui->comboBoxSerialPortDataBits->count();i++){ + QVariant var = ui->comboBoxSerialPortDataBits->itemData(i); + if(var == pRS232->nDatabits()){ + ui->comboBoxSerialPortDataBits->setCurrentIndex(i); + break; + } + } + + for(int i = 0;i < ui->comboBoxSerialPortStopBits->count();i++){ + QVariant var = ui->comboBoxSerialPortStopBits->itemData(i); + if(var == pRS232->nStopbits()){ + ui->comboBoxSerialPortStopBits->setCurrentIndex(i); + break; + } } } -void MainWindow::InitSerialPortBaudComboBox(){ - ui->comboBoxSerialPortBaud->addItem("115200",QVariant(115200)); - ui->comboBoxSerialPortBaud->addItem("57600",QVariant(57600)); - ui->comboBoxSerialPortBaud->addItem("38400",QVariant(38400)); - ui->comboBoxSerialPortBaud->addItem("19200",QVariant(19200)); - ui->comboBoxSerialPortBaud->addItem("9600",QVariant(9600)); - ui->comboBoxSerialPortBaud->addItem("4800",QVariant(4800)); - ui->comboBoxSerialPortBaud->addItem("2400",QVariant(2400)); - ui->comboBoxSerialPortBaud->addItem("1200",QVariant(1200)); +void MainWindow::UpdateEthernetData(Ethernet* pEthernet){ + ui->lineEditEthernetID->setText(pEthernet->strID()); + ui->lineEditEthernetIP->setText(pEthernet->strIP()); + ui->lineEditEthernetPort->setText(QString::number(pEthernet->nPort())); } -void MainWindow::InitSerialPortDataBitsComboBox(){ - ui->comboBoxSerialPortDataBits->addItem("Data5",QVariant(5)); - ui->comboBoxSerialPortDataBits->addItem("Data6",QVariant(6)); - ui->comboBoxSerialPortDataBits->addItem("Data7",QVariant(7)); - ui->comboBoxSerialPortDataBits->addItem("Data8",QVariant(8)); +void MainWindow::UpdateDelayData(Delay* pDelay){ + ui->lineEditDuration->setText(QString::number(pDelay->nDuration())); } -void MainWindow::InitSerialPortParityComboBox(){ - ui->comboBoxSerialPortParity->addItem("NoParity",QVariant(0)); - ui->comboBoxSerialPortParity->addItem("EvenParity",QVariant(2)); - ui->comboBoxSerialPortParity->addItem("OddParity",QVariant(3)); - ui->comboBoxSerialPortParity->addItem("SpaceParity",QVariant(4)); - ui->comboBoxSerialPortParity->addItem("MarkParity",QVariant(5)); +void MainWindow::UpdateWordopControlLEDData(WordopControlLED* pWordopControlLEDData){ + ui->lineEditWordopControlLEDDeviceID->setText(pWordopControlLEDData->strDeviceID()); + ui->comboBoxLEDChannel->setCurrentIndex(pWordopControlLEDData->nChannel()); + ui->lineEditLEDValue->setText(QString::number(pWordopControlLEDData->nValue())); } -void MainWindow::InitSerialPortStopBitsComboBox(){ - ui->comboBoxSerialPortStopBits->addItem("OneStop",QVariant(1)); - ui->comboBoxSerialPortStopBits->addItem("OneAndHalfStop",QVariant(3)); - ui->comboBoxSerialPortStopBits->addItem("TwoStop",QVariant(2)); +void MainWindow::UpdateSnapData(Snap* pSnap){ + ui->lineEditCameraDeviceID->setText(pSnap->strDeviceID()); + for(int i = 0;i < ui->comboBoxCameras->count();i++){ + QVariant var = ui->comboBoxCameras->itemData(i); + if(var == pSnap->nCameraNum()){ + ui->comboBoxCameras->setCurrentIndex(i); + break; + } + } } -void MainWindow::InitWordopControlLEDChannel(){ - for(int i = 0; i < 4; i++){ - ui->comboBoxLEDChannel->addItem(QString("%1").arg(i),QVariant(i)); +void MainWindow::UpdateMoveJointData(MoveJoint* pMoveJoint){ + ui->lineEditMoveJointDeviceID->setText(pMoveJoint->strDeviceID()); + ui->lineEditMoveJoint1->setText(QString::number(pMoveJoint->dblJointAngles()[0])); + ui->lineEditMoveJoint2->setText(QString::number(pMoveJoint->dblJointAngles()[1])); + ui->lineEditMoveJoint3->setText(QString::number(pMoveJoint->dblJointAngles()[2])); + ui->lineEditMoveJoint4->setText(QString::number(pMoveJoint->dblJointAngles()[3])); + ui->lineEditMoveJoint5->setText(QString::number(pMoveJoint->dblJointAngles()[4])); + ui->lineEditMoveJoint6->setText(QString::number(pMoveJoint->dblJointAngles()[5])); +} + +void MainWindow::UpdateStepData(Step* pStep){ + ui->lineEditStep->setText(pStep->strID()); +} + +void MainWindow::slotActionTriggered(const QPoint& pos) +{ + //创建右键菜单 + QMenu menu; + + //添加action + QAction *actionNew = new QAction(QStringLiteral("New Node")); + menu.addAction(actionNew); + connect(actionNew,&QAction::triggered,this,&MainWindow::slotTreeMenuNew); + + menu.exec(QCursor::pos()); +} +//删除右键 +void MainWindow::slotTreeMenuNew() +{ + //QModelIndexList selectedIndex = ui->treeView->selectionModel()->selectedIndexes(); + //QModelIndex index = selectedIndex.first(); + //m_pTreeStandardModel->removeRow(index.row(),index.parent()); + QVariant var; + QStandardItemModel *model = (QStandardItemModel*)ui->treeView->model(); // 根据index获取当前item + if(model != NULL){ + QModelIndex index = ui->treeView->currentIndex(); + QStandardItem *item = model->itemFromIndex(index); + QString tagName = item->text(); + if(tagName == QStringLiteral("Devices")){ + NewDeviceDialog* pDialog = new NewDeviceDialog(this); + int result = pDialog->exec(); + if(result==QDialog::Accepted){ + QStandardItem* itemDevice = new QStandardItem; + itemDevice->setText(pDialog->m_strDeviceName); + Device* pDevice = (Device*)ObjectFactory::createObject(pDialog->m_strDeviceName.toLatin1()); + var.setValue(QVariant::fromValue(pDevice)); + itemDevice->setData(var); + item->appendRow(itemDevice); + } + }else if(tagName == QStringLiteral("Steps")){ + QStandardItem* itemStep = new QStandardItem; + itemStep->setText("Step"); + Step* pStep = (Step*)ObjectFactory::createObject("Step"); + var.setValue(QVariant::fromValue(pStep)); + itemStep->setData(var); + item->appendRow(itemStep); + }else if(tagName == QStringLiteral("Step")){ + NewOperationDialog* pDialog = new NewOperationDialog(this); + int result = pDialog->exec(); + if(result==QDialog::Accepted){ + QStandardItem* itemOperation = new QStandardItem; + itemOperation->setText(pDialog->m_strOperationName); + Device* pDevice = (Device*)ObjectFactory::createObject(pDialog->m_strOperationName.toLatin1()); + var.setValue(QVariant::fromValue(pDevice)); + itemOperation->setData(var); + item->appendRow(itemOperation); + } + } } + } diff --git a/mainwindow.h b/mainwindow.h index 1ca8d0e4b46ea81ef67c10548b029b372b7b2274..0f343083adfecf06869ea030bfb3557d2c526aec 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -6,7 +6,17 @@ #include #include #include +#include #include "description.h" +#include "rs232.h" +#include "ethernet.h" +#include "delay.h" +#include "wordopcontrolled.h" +#include "movejoint.h" +#include "snap.h" +#include "step.h" +#include "newdevicedialog.h" +#include "newoperationdialog.h" QT_BEGIN_NAMESPACE namespace Ui { @@ -26,9 +36,14 @@ private: QLabel *m_labelInformation; Description m_description; + QString m_strXMLFilename; + private slots: void OpenXMLFile(); + void SaveXMLFile(); void on_image_tree_currentChanged(const QModelIndex& current); + void slotActionTriggered(const QPoint& pos); + void slotTreeMenuNew(); private: void insterTreeNode(QString str,QStandardItem *parent); @@ -41,8 +56,16 @@ private: void InitSerialPortDataBitsComboBox(); void InitSerialPortParityComboBox(); void InitSerialPortStopBitsComboBox(); - void InitWordopControlLEDChannel(); + void InitStepComboBox(); + + void UpdateRS232Data(RS232* pRS232); + void UpdateEthernetData(Ethernet* pEthernet); + void UpdateDelayData(Delay* pDelay); + void UpdateWordopControlLEDData(WordopControlLED* pWordopControlLEDData); + void UpdateSnapData(Snap* pSnap); + void UpdateMoveJointData(MoveJoint* pMoveJoint); + void UpdateStepData(Step* pStep); private: Ui::MainWindow *ui; diff --git a/mainwindow.ui b/mainwindow.ui index 203c448899ef51ca58d26fc2d0a8c29daf85ce93..2c3b49af49bdefd71348d26edd0afa36ac201fd1 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -11,7 +11,7 @@ - MainWindow + Detection Description Software @@ -31,7 +31,7 @@ - 2 + 0 @@ -96,6 +96,16 @@ + + + + ID + + + + + + @@ -120,6 +130,16 @@ + + + + ID + + + + + + @@ -148,6 +168,16 @@ + + + + DeviceID + + + + + + @@ -172,6 +202,16 @@ + + + + DeviceID + + + + + + @@ -236,6 +276,30 @@ + + + + DeviceID + + + + + + + + + + + + + + Step + + + + + + @@ -251,21 +315,22 @@ 0 0 800 - 25 + 21 - 鏂囦欢(&F) + File(&F) + - 鎵撳紑... + Open... 鎵撳紑XML鏂囦欢 @@ -274,6 +339,11 @@ Ctrl+O + + + Save + + diff --git a/movejoint.cpp b/movejoint.cpp index 6122dcf056e7fcdbb19e79b2b2e42d98b6cfe55f..33d10cc4cdcbd5d3d7e70e853e967f4136379ba6 100644 --- a/movejoint.cpp +++ b/movejoint.cpp @@ -16,12 +16,21 @@ void MoveJoint::run(){ qDebug() << m_dblJointAngles; } +QList MoveJoint::dblJointAngles() const +{ + return m_dblJointAngles; +} + +void MoveJoint::setDblJointAngles(const QList &newDblJointAngles) +{ + m_dblJointAngles = newDblJointAngles; +} + QString MoveJoint::getClassName(){ return this->metaObject()->className(); } void MoveJoint::writeXML(QXmlStreamWriter& writer){ - // 鍐欏叆褰撳墠鎿嶄綔鐨勪俊鎭 writer.writeStartElement("MoveJoint"); writer.writeAttribute("device", m_strDeviceID); int index = 1; @@ -29,7 +38,7 @@ void MoveJoint::writeXML(QXmlStreamWriter& writer){ writer.writeTextElement(QString("joint%1").arg(index++), QString::number(value)); } - writer.writeEndElement(); // 缁撴潫褰撳墠鎿嶄綔鐨勫厓绱 + writer.writeEndElement(); } void MoveJoint::readFromXML(QXmlStreamReader& reader){ diff --git a/movejoint.h b/movejoint.h index dcce726173d96ca0968ecb52bf1b027833b478bb..743da60f9710b609f89088116f2e25194be1e703 100644 --- a/movejoint.h +++ b/movejoint.h @@ -21,6 +21,10 @@ public: virtual void writeXML(QXmlStreamWriter& writer) override; virtual void readFromXML(QXmlStreamReader& reader) override; virtual QString getClassName() override; + + + QList dblJointAngles() const; + void setDblJointAngles(const QList &newDblJointAngles); }; #endif // MOVEJOINT_H diff --git a/newdevicedialog.cpp b/newdevicedialog.cpp new file mode 100644 index 0000000000000000000000000000000000000000..78ec491bb5791d11f9ff07e31bb9b2b71e86013b --- /dev/null +++ b/newdevicedialog.cpp @@ -0,0 +1,30 @@ +#include "newdevicedialog.h" +#include "ui_newdevicedialog.h" + +NewDeviceDialog::NewDeviceDialog(QWidget *parent) + : QDialog(parent) + , ui(new Ui::NewDeviceDialog) +{ + ui->setupUi(this); + + InitDeviceName(); +} + +NewDeviceDialog::~NewDeviceDialog() +{ + delete ui; +} + +void NewDeviceDialog::InitDeviceName(){ + ui->comboBoxDeviceName->addItem(QStringLiteral("RS232")); + ui->comboBoxDeviceName->addItem(QStringLiteral("Ethernet")); + ui->comboBoxDeviceName->setCurrentIndex(0); + + m_strDeviceName = QStringLiteral("RS232"); +} + +void NewDeviceDialog::on_comboBoxDeviceName_currentIndexChanged(int index) +{ + m_strDeviceName = ui->comboBoxDeviceName->currentText(); +} + diff --git a/newdevicedialog.h b/newdevicedialog.h new file mode 100644 index 0000000000000000000000000000000000000000..75d53e4c26d031ed38ab53b5c7a1d95f3291821b --- /dev/null +++ b/newdevicedialog.h @@ -0,0 +1,31 @@ +#ifndef NEWDEVICEDIALOG_H +#define NEWDEVICEDIALOG_H + +#include + +namespace Ui { +class NewDeviceDialog; +} + +class NewDeviceDialog : public QDialog +{ + Q_OBJECT + +public: + explicit NewDeviceDialog(QWidget *parent = nullptr); + ~NewDeviceDialog(); + +private: + Ui::NewDeviceDialog *ui; + +public: + QString m_strDeviceName; + +private slots: + void on_comboBoxDeviceName_currentIndexChanged(int index); + +private: + void InitDeviceName(); +}; + +#endif // NEWDEVICEDIALOG_H diff --git a/newdevicedialog.ui b/newdevicedialog.ui new file mode 100644 index 0000000000000000000000000000000000000000..177b3abeba808487ce82e10e456a119dfcd3094b --- /dev/null +++ b/newdevicedialog.ui @@ -0,0 +1,83 @@ + + + NewDeviceDialog + + + + 0 + 0 + 400 + 300 + + + + New Device + + + + + + Device + + + + + + Name + + + + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + NewDeviceDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + NewDeviceDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/newoperationdialog.cpp b/newoperationdialog.cpp new file mode 100644 index 0000000000000000000000000000000000000000..ef02bf8f7edc1e3ccf929f703cfb9ad10e87748d --- /dev/null +++ b/newoperationdialog.cpp @@ -0,0 +1,26 @@ +#include "newoperationdialog.h" +#include "ui_newoperationdialog.h" + +NewOperationDialog::NewOperationDialog(QWidget *parent) + : QDialog(parent) + , ui(new Ui::NewOperationDialog) +{ + ui->setupUi(this); + + InitOperationName(); +} + +NewOperationDialog::~NewOperationDialog() +{ + delete ui; +} + +void NewOperationDialog::InitOperationName(){ + ui->comboBoxOperationName->addItem(QStringLiteral("Delay")); + ui->comboBoxOperationName->addItem(QStringLiteral("Snap")); + ui->comboBoxOperationName->addItem(QStringLiteral("WordopControlLED")); + ui->comboBoxOperationName->addItem(QStringLiteral("MoveJoint")); + ui->comboBoxOperationName->setCurrentIndex(0); + + m_strOperationName = QStringLiteral("Delay"); +} diff --git a/newoperationdialog.h b/newoperationdialog.h new file mode 100644 index 0000000000000000000000000000000000000000..8f6d3057e667e5a9228934f2e43c06d80c179560 --- /dev/null +++ b/newoperationdialog.h @@ -0,0 +1,28 @@ +#ifndef NEWOPERATIONDIALOG_H +#define NEWOPERATIONDIALOG_H + +#include + +namespace Ui { +class NewOperationDialog; +} + +class NewOperationDialog : public QDialog +{ + Q_OBJECT + +public: + explicit NewOperationDialog(QWidget *parent = nullptr); + ~NewOperationDialog(); + +private: + Ui::NewOperationDialog *ui; + +public: + QString m_strOperationName; + +private: + void InitOperationName(); +}; + +#endif // NEWOPERATIONDIALOG_H diff --git a/newoperationdialog.ui b/newoperationdialog.ui new file mode 100644 index 0000000000000000000000000000000000000000..0b2b1de5ab38b4866cac37688285a075bc4063e1 --- /dev/null +++ b/newoperationdialog.ui @@ -0,0 +1,83 @@ + + + NewOperationDialog + + + + 0 + 0 + 400 + 300 + + + + New Operation + + + + + + Operation + + + + + + Name + + + + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + NewOperationDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + NewOperationDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/rs232.cpp b/rs232.cpp index 17a2c71b561dba827e8482198bcf4bf0c864eff8..2c50c4d770c6341564e8fb7ffc1ab270e45dd020 100644 --- a/rs232.cpp +++ b/rs232.cpp @@ -39,14 +39,14 @@ void RS232::setNBaud(int newNBaud) m_nBaud = newNBaud; } -int RS232::nCheck() const +int RS232::nParity() const { - return m_nCheck; + return m_nParity; } -void RS232::setNCheck(int newNCheck) +void RS232::setNParity(int newNParity) { - m_nCheck = newNCheck; + m_nParity = newNParity; } int RS232::nDatabits() const @@ -78,16 +78,15 @@ QString RS232::getClassName(){ } void RS232::writeXML(QXmlStreamWriter& writer){ - // 鍐欏叆褰撳墠鎿嶄綔鐨勪俊鎭 writer.writeStartElement("RS232"); writer.writeAttribute(QStringLiteral("id"),m_strID); writer.writeTextElement("port", QString::number(m_nPort)); writer.writeTextElement("baud", QString::number(m_nBaud)); - writer.writeTextElement("check", QString::number(m_nCheck)); + writer.writeTextElement("parity", QString::number(m_nParity)); writer.writeTextElement("databits", QString::number(m_nDatabits)); writer.writeTextElement("stopbits", QString::number(m_nStopbits)); - writer.writeEndElement(); // 缁撴潫褰撳墠鎿嶄綔鐨勫厓绱 + writer.writeEndElement(); } // 鏈夌偣闂 void RS232::readFromXML(QXmlStreamReader& reader){ @@ -104,8 +103,8 @@ void RS232::readFromXML(QXmlStreamReader& reader){ m_nPort = reader.readElementText().toInt(); }else if (reader.name() == QStringLiteral("baud")) { m_nBaud = reader.readElementText().toInt(); - }else if (reader.name() == QStringLiteral("check")) { - m_nCheck = reader.readElementText().toInt(); + }else if (reader.name() == QStringLiteral("parity")) { + m_nParity = reader.readElementText().toInt(); }else if (reader.name() == QStringLiteral("databits")) { m_nDatabits = reader.readElementText().toInt(); }else if (reader.name() == QStringLiteral("stopbits")) { diff --git a/rs232.h b/rs232.h index 48fdf040726cb2b939ca166369994b52120e05d4..75761347644816654356593cd7c3a3603075aae6 100644 --- a/rs232.h +++ b/rs232.h @@ -18,8 +18,8 @@ public: void setNPort(int newNPort); int nBaud() const; void setNBaud(int newNBaud); - int nCheck() const; - void setNCheck(int newNCheck); + int nParity() const; + void setNParity(int newNParity); int nDatabits() const; void setNDatabits(int newNDatabits); int nStopbits() const; @@ -53,7 +53,7 @@ public: private: int m_nPort; int m_nBaud; - int m_nCheck; + int m_nParity; int m_nDatabits; int m_nStopbits; };