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/FITKCore/FITKAbstractNDataObject.h

82 lines
2.3 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
*
* @file FITKAbstractNDataObject.h
* @brief 有名字的数据对象声明
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*
*/
#ifndef _FITKABSTRACTNDATAOBJECT_H__
#define _FITKABSTRACTNDATAOBJECT_H__
#include "FITKAbstractDataObject.h"
#include <QString>
namespace Core
{
/**
* @brief 有名称的数据类基类,抽象类
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*/
class FITKCoreAPI FITKAbstractNDataObject : public FITKAbstractDataObject
{
//FITKSafeDownCastA(FITKAbstractNDataObject, FITKAbstractDataObject);
public:
/**
* @brief Construct a new FITKAbstractNDataObject object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*/
explicit FITKAbstractNDataObject() = default;
/**
* @brief Construct a new FITKAbstractNDataObject object
* @param[i] name 名称
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*/
explicit FITKAbstractNDataObject(const QString & name);
/**
* @brief Destroy the FITKAbstractNDataObject object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*/
virtual ~FITKAbstractNDataObject() = 0;
/**
* @brief 设置名称
* @param[i] name 名称
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*/
virtual void setDataObjectName(const QString & name);
/**
* @brief 获取对象名称
* @return QString
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*/
virtual QString getDataObjectName();
/**
* @brief 复制数据对象,深拷贝数据id不拷贝
* @param[i] obj 被拷贝的对象
* @return true
* @return false
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-27
*/
virtual bool copy(FITKAbstractDataObject* obj) override;
private:
/**
* @brief 对象名称
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*/
QString m_dataObjName{};
};
}
#endif