You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AppFlow/FITK_Kernel/FITKEasyParam/FITKParameter.h

162 lines
5.9 KiB
C

/**********************************************************************
* @file FITKParameter.h
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-13
*********************************************************************/
#ifndef FITKParameter_H_
#define FITKParameter_H_
#include "FITKEasyParamAPI.h"
#include "FITKAbstractEasyParam.h"
#include "FITK_Kernel/FITKCore/FITKAbstractDataManager.hpp"
namespace Core
{
class FITKParamBool;
class FITKParamInt;
class FITKParamDouble;
class FITKParamCombox;
class FITKParamString;
class FITKParamRadioGroup;
class FITKParamDoubleList;
class FITKParamBoolGroup;
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-13
*/
class FITKEasyParamAPI FITKParameter : public FITKAbstractDataManager<Core::FITKAbstractEasyParam>
{
public:
explicit FITKParameter() = default;
virtual ~FITKParameter();
/**
* @brief
* @param[i] data
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-13
*/
void copyPara(FITKParameter* data);
/**
* @brief
* @param[i] data
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-13
*/
void appendPara(FITKParameter* data);
/**
* @brief
* @return QList<FITKAbstractEasyParam*>
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-21
*/
QList<FITKAbstractEasyParam*> getParameter();
/**
* @brief Intm_propertyList
* @param[i] name
* @param[i] value
* @param[i] upperLimit
* @param[i] lowerLimit
* @return FITKParamInt *
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-23
*/
FITKParamInt* createIntParameter(QString name, int value, int upperLimit = 99999999, int lowerLimit = -99999999);
/**
* @brief Doublem_propertyList
* @param[i] name
* @param[i] value
* @param[i] upperLimit
* @param[i] lowerLimit
* @return FITKParamDouble *
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-23
*/
FITKParamDouble* createDoubleParameter(QString name, double value, double upperLimit = 99999999, double lowerLimit = -99999999);
/**
* @brief DoubleListm_propertyList
* @param[i] name
* @param[i] value
* @param[i] upperLimit
* @param[i] lowerLimit
* @return FITKParamDoubleList *
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-23
*/
FITKParamDoubleList* createDoubleListParameter(QString name, QList<double> value, double upperLimit = 99999999, double lowerLimit = -99999999);
/**
* @brief Stringm_propertyList
* @param[i] name
* @param[i] value
* @return FITKParamString *
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-21
*/
FITKParamString* createStringParameter(QString name, QString value);
/**
* @brief Boolm_propertyList
* @param[i] name
* @param[i] value
* @return FITKParamBool *
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-21
*/
FITKParamBool* createBoolParameter(QString name, bool value);
/**
* @brief BoolGroupm_propertyList
* @param[i] name
* @param[i] value
* @return FITKParamBoolGroup *
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-22
*/
FITKParamBoolGroup* createBoolGroupParameter(QString name, bool value);
/**
* @brief Comboxm_propertyList
* @param[i] name
* @param[i] value
* @param[i] index
* @return FITKParamCombox *
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-21
*/
FITKParamCombox* createComboxParameter(QString name, QStringList value, int index);
/**
* @brief RadioGroupm_propertyList
* @param[i] name
* @return FITKParamRadioGroup *
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-21
*/
FITKParamRadioGroup* createRadioGroupParameter(QString name);
/**
* @brief
* @param[i] data
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-23
*/
void onlyKeepPara(FITKParameter* data);
/**
* @brief
* @param[i] oldData
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-04
*/
void copyAppendPara(FITKAbstractEasyParam* oldData);
double getDoubleParaByName(QString name, bool& ok);
int getIntParaByName(QString name, bool& ok);
bool getBoolParaByName(QString name, bool& ok);
QString getStringParaByName(QString name, bool& ok);
QString getComboxCurrentParaByName(QString name, bool& ok);
};
}
#endif // !FITKParameter_H_