274 lines
9.1 KiB
C++
274 lines
9.1 KiB
C++
#include "workfileeditwidget.h"
|
|
#include "ui_workfileeditwidget.h"
|
|
#include "workfileedit/workfileedit.h "
|
|
#include <QFileDialog>
|
|
#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);
|
|
}
|
|
|
|
|
|
}
|