2025-05-06 02:15:54 +00:00
|
|
|
|
#include "QWBFZAlgComponetXmlParamsDialog.h"
|
|
|
|
|
#include "ui_QWBFZAlgComponetXmlParamsDialog.h"
|
|
|
|
|
#include <QFileDialog>
|
|
|
|
|
#include <QMessageBox>
|
2025-05-10 18:34:49 +00:00
|
|
|
|
#include "WBFZAlgComponetXmlParaseOperator.h"
|
|
|
|
|
#include "FileOperator.h"
|
2025-05-06 02:15:54 +00:00
|
|
|
|
QWBFZAlgComponetXmlParamsDialog::QWBFZAlgComponetXmlParamsDialog(QWidget *parent)
|
|
|
|
|
: QDialog(parent),
|
|
|
|
|
ui(new Ui::QWBFZAlgComponetXmlParamsDialogClass)
|
|
|
|
|
{
|
|
|
|
|
ui->setupUi(this);
|
2025-05-10 19:04:56 +00:00
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>-<2D><>
|
|
|
|
|
QObject::connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(OnacceptButton_Clicked()));
|
|
|
|
|
QObject::connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(OncancelButton_Clicked()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-05-06 02:15:54 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QWBFZAlgComponetXmlParamsDialog::~QWBFZAlgComponetXmlParamsDialog()
|
2025-05-10 18:34:49 +00:00
|
|
|
|
{
|
|
|
|
|
delete ui;
|
|
|
|
|
delete xmlParseOperator;
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-10 19:04:56 +00:00
|
|
|
|
void QWBFZAlgComponetXmlParamsDialog::OnacceptButton_Clicked()
|
|
|
|
|
{
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
QString workspacePath = workspacePathWidget->getValue();
|
|
|
|
|
qDebug() << "workspacePath:" << workspacePath;
|
|
|
|
|
QMap<QString, QString> parameterMap;
|
|
|
|
|
for (long i = 0; i < parameterWidgetList.size(); i++)
|
|
|
|
|
{
|
|
|
|
|
AbstractComponentWidget* parameterWidget = parameterWidgetList.at(i);
|
|
|
|
|
QString parameterValue = parameterWidget->getValue();
|
|
|
|
|
qDebug() << "parameterValue:" << parameterValue;
|
|
|
|
|
parameterMap.insert(parameterWidget->getParaName(), parameterValue);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 1. <20><>ȡxml<6D>ļ<EFBFBD>ģ<EFBFBD><C4A3>·<EFBFBD><C2B7>
|
|
|
|
|
QString formatxmlpath = this->formatxmlString;
|
|
|
|
|
// 2. <20><>ȡxml<6D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
QString filepath = QFileDialog::getSaveFileName(this, u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD>ļ<EFBFBD>", "", u8"xml<EFBFBD>ļ<EFBFBD>(*.xml)");
|
|
|
|
|
if (filepath.isEmpty())
|
|
|
|
|
{
|
|
|
|
|
QMessageBox::warning(this, u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", u8"<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>xml<EFBFBD>ļ<EFBFBD>");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
qDebug() << "filepath:" << filepath;
|
|
|
|
|
}
|
|
|
|
|
xmlParseOperator = new WBFZAlgComponetXmlParaseOperator(this);
|
|
|
|
|
xmlParseOperator->writeXmlFile(formatxmlString, filepath, workspacePath,parameterMap);
|
|
|
|
|
// 3. <20>رմ<D8B1><D5B4><EFBFBD>
|
|
|
|
|
QMessageBox::information(nullptr, u8"<EFBFBD><EFBFBD>ʾ", u8"д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QWBFZAlgComponetXmlParamsDialog::OncancelButton_Clicked()
|
|
|
|
|
{
|
|
|
|
|
this->close();
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-10 18:34:49 +00:00
|
|
|
|
void QWBFZAlgComponetXmlParamsDialog::loadXmlFile(const QString& fileName)
|
|
|
|
|
{
|
|
|
|
|
if (nullptr != xmlParseOperator)
|
|
|
|
|
{
|
|
|
|
|
delete xmlParseOperator;
|
|
|
|
|
xmlParseOperator = nullptr;
|
|
|
|
|
}
|
|
|
|
|
else {}
|
2025-05-10 19:04:56 +00:00
|
|
|
|
this->formatxmlString = fileName;
|
2025-05-10 18:34:49 +00:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>xml<6D><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
xmlParseOperator = new WBFZAlgComponetXmlParaseOperator(this);
|
|
|
|
|
xmlParseOperator->loadXmlFile(fileName);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ui
|
|
|
|
|
// 1. workspace·<65><C2B7>
|
|
|
|
|
workspacePathWidget = new FileSelectWidget(this);
|
|
|
|
|
workspacePathWidget->setParaName("WorkSpace");
|
|
|
|
|
workspacePathWidget->setParaChsName(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>·<EFBFBD><EFBFBD>");
|
|
|
|
|
workspacePathWidget->setDescription(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>·<EFBFBD><EFBFBD>");
|
|
|
|
|
workspacePathWidget->setDatatype(u8"string");
|
2025-05-10 19:04:56 +00:00
|
|
|
|
workspacePathWidget->setComponentType(ComponentType::FolderSelect);
|
2025-05-10 18:34:49 +00:00
|
|
|
|
workspacePathWidget->initUI();
|
|
|
|
|
|
|
|
|
|
ui->verticalLayout_param->addWidget(workspacePathWidget);
|
|
|
|
|
// 2. <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|
|
|
|
QList < WBFZAlgComponetXmlParamenterItem*> parameterList = xmlParseOperator->getParameterList();
|
|
|
|
|
for (long i = 0; i < parameterList.size(); i++)
|
|
|
|
|
{
|
|
|
|
|
WBFZAlgComponetXmlParamenterItem* item = parameterList.at(i);
|
|
|
|
|
qDebug() << "item->getParaName():" << item->getParaName();
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
AbstractComponentWidget* parameterWidget = createComponentWidgetFactory(
|
|
|
|
|
item->getParaName(),
|
|
|
|
|
item->getParaChsName(),
|
|
|
|
|
item->getDatatype(),
|
|
|
|
|
item->getParaType(),
|
|
|
|
|
item->getDescription(),
|
|
|
|
|
this);
|
|
|
|
|
//parameterWidget->initUI();
|
|
|
|
|
|
|
|
|
|
ui->verticalLayout_param->addWidget(parameterWidget);
|
|
|
|
|
|
|
|
|
|
this->parameterWidgetList.append(parameterWidget);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2025-05-06 02:15:54 +00:00
|
|
|
|
|
|
|
|
|
void WBFZAlgComponetLoadXmlParamsProcess()
|
|
|
|
|
{
|
|
|
|
|
QString xmlFileName = QFileDialog::getOpenFileName(nullptr, u8"ѡ<EFBFBD><EFBFBD><EFBFBD>㷨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>", "", u8"xml<EFBFBD>ļ<EFBFBD>(*.xml)");
|
|
|
|
|
if (xmlFileName.isEmpty())
|
|
|
|
|
{
|
|
|
|
|
QMessageBox::warning(nullptr, u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", u8"<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>㷨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else {
|
2025-05-08 15:00:13 +00:00
|
|
|
|
// TODO: <20><><EFBFBD><EFBFBD>xml<6D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>
|
2025-05-10 18:34:49 +00:00
|
|
|
|
qDebug() << "xmlFileName:" << xmlFileName;
|
2025-05-06 02:15:54 +00:00
|
|
|
|
|
2025-05-10 18:34:49 +00:00
|
|
|
|
QWBFZAlgComponetXmlParamsDialog* dialog = new QWBFZAlgComponetXmlParamsDialog();
|
|
|
|
|
dialog->setWindowTitle(QString(u8"<EFBFBD>㷨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>-%1").arg(getFileNameFromPath(xmlFileName)));
|
|
|
|
|
dialog->loadXmlFile(xmlFileName);
|
|
|
|
|
dialog->show();
|
|
|
|
|
return;
|
2025-05-06 02:15:54 +00:00
|
|
|
|
}
|
2025-05-08 15:00:13 +00:00
|
|
|
|
return;
|
2025-05-06 02:15:54 +00:00
|
|
|
|
}
|