123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- /**
- * @file ParameterPath.h
- * @brief 路径类参数类的头文件
- * @author FastCAE研发小组(fastcae@diso.cn)
- * @version 2.5.0
- * @date 2022-03-09 17:01
- * @copyright Copyright (c) Since 2020 青岛数智船海科技有限公司 All rights reserved.
- *
- * ============================================================================
- * Program: FastCAE
- *
- * Copyright (c) Since 2020 青岛数智船海科技有限公司 All rights reserved.
- * See License or http://www.fastcae.com/ for details.
- *
- * BSD 3-Clause License
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.
- * ==================================================================================
- */
- #ifndef _PARAMETERPATH_H_
- #define _PARAMETERPATH_H_
- #include "ParameterBase.h"
- #include <QString>
- #include <QStringList>
- namespace DataProperty
- {
- /**
- * @brief 路径类型枚举值
- * @since 2.5.0
- */
- enum PathType
- {
- None = 0, ///< 未定义的类别
- Path, ///< 路径
- File, ///< 文件
- FileList, ///< 文件集合
- };
- /**
- * @brief 路径类参数类
- * @since 2.5.0
- */
- class DATAPROPERTYAPI ParameterPath : public ParameterBase
- {
- public:
- /**
- * @brief 构造函数
- * @since 2.5.0
- */
- ParameterPath();
- /**
- * @brief 析构函数
- * @since 2.5.0
- */
- ~ParameterPath() = default;
- /**
- * @brief 从ori中拷贝内容
- * @param ori 要拷贝内容的源参数对象
- * @param valueOnly 是否仅仅拷贝值
- * @since 2.5.0
- */
- void copy(ParameterBase* ori, bool valueOnly = false) override;
- /**
- * @brief 设置参数的路径类型(文件、路径、文件集)
- * @param t 要设置为参数的路径类型
- * @since 2.5.0
- */
- void setType(PathType t);
- /**
- * @brief 获取参数的路径类型
- * @return PathType
- * @since 2.5.0
- */
- PathType getType();
- /**
- * @brief 设置参数的后缀
- * @param s 后缀字符串
- * @note 仅在参数类型为文件或者文件集时有效
- * @since 2.5.0
- */
- void setSuffix(QString s);
- /**
- * @brief 获取参数的后缀
- * @return QString
- * @since 2.5.0
- */
- QString getSuffix();
- /**
- * @brief 设置文件路径
- * @param f 文件路径
- * @note 仅在参数类型为文件时有效
- * @since 2.5.0
- */
- void setFile(QString f);
- /**
- * @brief 获取文件路径
- * @return QString
- * @since 2.5.0
- */
- QString getFile();
- /**
- * @brief 设置文件列表
- * @param sl 文件列表
- * @note 仅在参数类型为文件集合时有效
- * @since 2.5.0
- */
- void setFileList(QStringList sl);
- /**
- * @brief 获取文件列表
- * @return QStringList
- * @since 2.5.0
- */
- QStringList getFileList();
- /**
- * @brief 设置路径
- * @param s 路径
- * @note 仅在参数类型为路径时有效
- * @since 2.5.0
- */
- void setPath(QString s);
- /**
- * @brief 获取路径
- * @return QString
- * @since 2.5.0
- */
- QString getPath();
- /**
- * @brief 将参数对象写入到工程文件
- * @param doc 工程文件的QDomDocument对象
- * @param parent 要追加该参数的父节点
- * @since 2.5.0
- */
- void writeParameter(QDomDocument* doc, QDomElement* parent) override;
- /**
- * @brief 从工程文件中对应节点读取参数
- * @param e 工程文件中对应的节点对象
- * @since 2.5.0
- */
- void readParameter(QDomElement* e) override;
- /**
- * @brief 将参数转换为字符串类型(QString)值
- * @return QString 转换后得到的字符串值
- * @since 2.5.0
- */
- QString valueToString() override;
- /**
- * @brief 设置从字符串对象获取参数值(转换)
- * @param v 要操作的字符串
- * @since 2.5.0
- */
- void setValueFromString(QString v) override;
- private:
- /**
- * @brief 参数类型
- * @since 2.5.0
- */
- PathType _type{ None };
- /**
- * @brief 参数后缀
- * @since 2.5.0
- */
- QString _suffix{"All Files(*)"};
- /**
- * @brief 参数的路径值
- * @since 2.5.0
- */
- QString _path{};
- /**
- * @brief 参数的文件路径值
- * @since 2.5.0
- */
- QString _file{};
- /**
- * @brief 参数的文件路径集合
- * @since 2.5.0
- */
- QStringList _files{};
- };
- }
- #endif
|