RasterProcessTool/Toolbox/KJ135WBJYAlgInterfaceToolbox/WBFZAlgComponetXmlParaseOpe...

93 lines
2.5 KiB
C++

#pragma once
#ifndef __WBFZAlgComponetXmlParaseOperator_H__
#define __WBFZAlgComponetXmlParaseOperator_H__
#include <QObject>
#include <QString>
#include <QFileDialog>
#include <QMessageBox>
#include <QDebug>
#include <QtXml>
#include <QFile>
#include <QTextStream>
#include <QDomDocument>
#include <QDomElement>
#include <QDomNode>
#include <QDomNodeList>
#include <QDomText>
#include <QDomNamedNodeMap>
#include <QDomAttr>
#include <QDomEntity>
#include <QDomEntityReference>
#include "KJ135WBJYAlgWidgetComponet.h" // 算法组件参数界面组件类
// 算法组件参数xml项
class WBFZAlgComponetXmlParamenterItem :QObject
{
Q_OBJECT
public:
WBFZAlgComponetXmlParamenterItem(QDomElement* itemparameter,QObject* parent=nullptr);
~WBFZAlgComponetXmlParamenterItem();
private:
QString ParaName; // 参数名称
QString ParaChsName;// 参数中文名称
QString Description;// 参数描述
QString Datatype;// 数据类型 Value // 决定参数的输入类型
QString ParaType;// 参数类型 string
QString ValueStr;
public:
// 变量操作 get、set 函数
QString getParaName() const;
void setParaName(const QString& name);
QString getParaChsName() const;
void setParaChsName(const QString& name);
QString getDescription() const;
void setDescription(const QString& description);
QString getDatatype() const;
void setDatatype(const QString& datatype);
QString getParaType() const;
void setParaType(const QString& type);
QString getValueStr() const;
void setValueStr(const QString& value);
};
// 算法组件xml参数解析主类
class WBFZAlgComponetXmlParaseOperator :QObject
{
Q_OBJECT
public:
WBFZAlgComponetXmlParaseOperator(QObject* parent = nullptr);
~WBFZAlgComponetXmlParaseOperator();
void loadXmlFile(const QString& fileName);
private:
void parseXmlFile();
void displayParsedData();
private:
QString workSpacePath;
QString xmlFilePath;
private:// 参数文件结构
QDomDocument doc; // xml文档对象
QDomElement rootElement; // 根节点
QDomElement workSpaceElement; // 工作空间节点
QList<WBFZAlgComponetXmlParamenterItem*> ParameterList; // 参数列表
public:
QString getWorkSpacePath() const;// { return this->workSpacePath; } // 获取工作空间路径
void setWorkSpacePath(const QString& path);// { this->workSpacePath = path; } // 设置工作空间路径
QList<WBFZAlgComponetXmlParamenterItem*> getParameterList() const; // { return this->ParameterList; } // 获取参数列表
void setParameterList(const QList<WBFZAlgComponetXmlParamenterItem*>& list); //{ this->ParameterList = list; } // 设置参数列表
};
#endif// __WBFZAlgComponetXmlParaseOperator_H__