#include "workfileeditwidget.h" #include "ui_workfileeditwidget.h" #include "workfileedit/workfileedit.h " #include #include "rs_settings.h" #include "deviceproxy.h" WORKFILEEDITWIDGET::WORKFILEEDITWIDGET(QWidget *parent) : QWidget(parent), ui(new Ui::WORKFILEEDITWIDGET) { ui->setupUi(this); WORKFILEEDIT->SetTableView(ui->tvWorkFile); ComboBoxDelegate *pComboBox = new ComboBoxDelegate(this); WORKFILEEDIT->SetComboBoxDelegate(pComboBox); SpinBoxDelegate *pSpinBox = new SpinBoxDelegate(this); WORKFILEEDIT->SetSpinBoxDelegate(pSpinBox); // CheckBoxDelegate *pCheckBox = new CheckBoxDelegate(this); // WORKFILEEDIT->SetCheckBoxDelegate(pCheckBox); RS_SETTINGS->beginGroup("device/WorkFile"); //?path读不到 QString aFileName = RS_SETTINGS->readEntry("/配方1"); ui->leEditFile->setText(aFileName); RS_SETTINGS->endGroup(); if (!aFileName.isEmpty()) { WORKFILEEDIT->open_file(aFileName); } //DEV->UpdateWorkData(1); peifang_model = new QStandardItemModel(); ui->tvPeiFang->setModel (peifang_model) ; //设置数据模型 QStringList headerList; headerList<<"配方"<<"文件"; peifang_model->setHorizontalHeaderLabels(headerList); peifang_model->setItem(0,0,new QStandardItem("配方1")); peifang_model->setItem(1,0,new QStandardItem("配方2")); peifang_model->setItem(2,0,new QStandardItem("配方3")); peifang_model->setItem(3,0,new QStandardItem("配方4")); peifang_model->setItem(4,0,new QStandardItem("配方5")); peifang_model->setItem(5,0,new QStandardItem("配方6")); peifang_model->setItem(6,0,new QStandardItem("配方7")); peifang_model->setItem(7,0,new QStandardItem("配方8")); peifang_model->setItem(8,0,new QStandardItem("配方9")); peifang_model->setItem(9,0,new QStandardItem("配方10")); RS_SETTINGS->beginGroup("device/WorkFile"); //?path读不到 QString aFileName1 = RS_SETTINGS->readEntry("/配方1"); QString aFileName2 = RS_SETTINGS->readEntry("/配方2"); QString aFileName3 = RS_SETTINGS->readEntry("/配方3"); QString aFileName4 = RS_SETTINGS->readEntry("/配方4"); QString aFileName5 = RS_SETTINGS->readEntry("/配方5"); QString aFileName6 = RS_SETTINGS->readEntry("/配方6"); QString aFileName7 = RS_SETTINGS->readEntry("/配方7"); QString aFileName8 = RS_SETTINGS->readEntry("/配方8"); QString aFileName9 = RS_SETTINGS->readEntry("/配方9"); QString aFileName10 = RS_SETTINGS->readEntry("/配方10"); RS_SETTINGS->endGroup(); // if (aFileName1 == "") // aFileName1 = "配方1"; { peifang_model->setItem(0,1,new QStandardItem(aFileName1)); peifang_model->setItem(1,1,new QStandardItem(aFileName2)); peifang_model->setItem(2,1,new QStandardItem(aFileName3)); peifang_model->setItem(3,1,new QStandardItem(aFileName4)); peifang_model->setItem(4,1,new QStandardItem(aFileName5)); peifang_model->setItem(5,1,new QStandardItem(aFileName6)); peifang_model->setItem(6,1,new QStandardItem(aFileName7)); peifang_model->setItem(7,1,new QStandardItem(aFileName8)); peifang_model->setItem(8,1,new QStandardItem(aFileName9)); peifang_model->setItem(9,1,new QStandardItem(aFileName10)); } //设置表格的各列的宽度值 ui->tvPeiFang->setColumnWidth(0,80); ui->tvPeiFang->setColumnWidth(1,350); ui->tvPeiFang->setEditTriggers(QAbstractItemView::NoEditTriggers); } WORKFILEEDITWIDGET::~WORKFILEEDITWIDGET() { delete ui; } void WORKFILEEDITWIDGET::on_pbAddRow_clicked() { WORKFILEEDIT->add_row(); } void WORKFILEEDITWIDGET::on_pbInsertRow_clicked() { WORKFILEEDIT->insert_row(); } void WORKFILEEDITWIDGET::on_pbDeleteRow_clicked() { WORKFILEEDIT->delete_row(); } void WORKFILEEDITWIDGET::on_pbMoveP_clicked() { WORKFILEEDIT->move_P(); } void WORKFILEEDITWIDGET::on_pbMoveN_clicked() { WORKFILEEDIT->move_N(); } void WORKFILEEDITWIDGET::on_pbNewFile_clicked() { WORKFILEEDIT->new_file(); ui->leEditFile->setText(""); } void WORKFILEEDITWIDGET::on_pbLoadFile_clicked() { QString curPath=QCoreApplication::applicationDirPath(); //获取应用程序的路径 QString aFileName=QFileDialog::getOpenFileName(this,"打开一个文件",curPath, "数据文件(*.WI);;所有文件(*.*)"); WORKFILEEDIT->open_file(aFileName); ui->leEditFile->setText(aFileName); } void WORKFILEEDITWIDGET::on_pbSaveFile_clicked() { QString aFileName; if (WORKFILEEDIT->getWorkFileName() == "") { QString curPath=QCoreApplication::applicationDirPath(); //获取应用程序的路径 aFileName = QFileDialog::getSaveFileName(this,"保存文件",curPath,"数据文件(*.WI);;所有文件(*.*)"); WORKFILEEDIT->save_file(aFileName); ui->leEditFile->setText(aFileName); } else { WORKFILEEDIT->save_file(WORKFILEEDIT->getWorkFileName()); ui->leEditFile->setText(WORKFILEEDIT->getWorkFileName()); } QMessageBox::information(this, "提示", "文件保存成功!"); } void WORKFILEEDITWIDGET::on_pbDeleteFile_clicked() { WORKFILEEDIT->delete_file(); ui->leEditFile->setText(""); } //void WORKFILEEDITWIDGET::on_pbSelectWorkFile_clicked() //{ // QString curPath=QCoreApplication::applicationDirPath(); //获取应用程序的路径 // QString aFileName=QFileDialog::getOpenFileName(this,"选择文件",curPath, "数据文件(*.WI);;所有文件(*.*)"); // if (aFileName == "") // return; // QString str; // ui->leWorkFile->setText(aFileName); // str = "/" + ui->mbMode->currentText(); // RS_SETTINGS->beginGroup("device/WorkFile"); // RS_SETTINGS->writeEntry(str,aFileName); // RS_SETTINGS->endGroup(); // //DEV->UpdateWorkData(1); //// QFile aFile(aFileName); //以文件方式读出 //// if (aFile.open(QIODevice::ReadOnly)) //以只读文本方式打开文件 //// { //// QTextStream aStream(&aFile); //用文本流读取文件 //// while (!aStream.atEnd()) //// { //// QString str=aStream.readLine();//读取文件的一行 //// DEV->fFileContent.append(str); //添加到 StringList //// } //// aFile.close();//关闭文件 //// } //} void WORKFILEEDITWIDGET::on_tvWorkFile_doubleClicked(const QModelIndex &index) { int curRow=ui->tvWorkFile->currentIndex().row();//选中行 int curCol=ui->tvWorkFile->currentIndex().column();//选中行 QAbstractItemModel *modessl = ui->tvWorkFile->model(); QModelIndex indextemp = modessl->index(curRow,0);//遍历第一行的所有列 QString value = indextemp.model()->data(indextemp, Qt::DisplayRole).toString(); //ui->tvWorkFile->model(); model->setData(index, spinbox->value()); if (curCol == 1) { if ((value == "加工") || (value == "功率测量") || (value == "DD马达")) ui->tvWorkFile->setEditTriggers(QAbstractItemView::DoubleClicked); else ui->tvWorkFile->setEditTriggers(QAbstractItemView::NoEditTriggers); } else if (curCol == 2) { if (value != "加工") ui->tvWorkFile->setEditTriggers(QAbstractItemView::NoEditTriggers); else ui->tvWorkFile->setEditTriggers(QAbstractItemView::DoubleClicked); } else { ui->tvWorkFile->setEditTriggers(QAbstractItemView::DoubleClicked); } //model->setData(index, combox->currentText()); } void WORKFILEEDITWIDGET::on_pbSaveAs_clicked() { QString aFileName; QString curPath=QCoreApplication::applicationDirPath(); //获取应用程序的路径 aFileName = QFileDialog::getSaveFileName(this,"保存文件",curPath,"数据文件(*.WI);;所有文件(*.*)"); WORKFILEEDIT->save_file(aFileName); ui->leEditFile->setText(aFileName); QMessageBox::information(this, "提示", "文件保存成功!"); } //void WORKFILEEDITWIDGET::on_mbMode_currentTextChanged(const QString &arg1) //{ // QString str; // str = "/" + arg1; // RS_SETTINGS->beginGroup("device/WorkFile"); //?path读不到 // QString aFileName = RS_SETTINGS->readEntry(str); // ui->leWorkFile->setText(aFileName); // RS_SETTINGS->endGroup(); //} void WORKFILEEDITWIDGET::on_tvPeiFang_doubleClicked(const QModelIndex &index) { int curRow=ui->tvPeiFang->currentIndex().row();//选中行 int curCol=ui->tvPeiFang->currentIndex().column();//选中行 QAbstractItemModel *modessl = ui->tvPeiFang->model(); QModelIndex indextemp = modessl->index(curRow,0);//遍历第一行的所有列 QString value = indextemp.model()->data(indextemp, Qt::DisplayRole).toString(); if (curCol == 1) { QString curPath=QCoreApplication::applicationDirPath(); //获取应用程序的路径 QString aFileName=QFileDialog::getOpenFileName(this,"选择文件",curPath, "数据文件(*.WI);;所有文件(*.*)"); // if (aFileName == "") // return; QString str; //ui->leWorkFile->setText(aFileName); str = "/" + value; RS_SETTINGS->beginGroup("device/WorkFile"); RS_SETTINGS->writeEntry(str,aFileName); RS_SETTINGS->endGroup(); ui->tvPeiFang->model()->setData(index, aFileName); } }