XNSim/Release/include/XNCore/XNBaseFrameObject.h

96 lines
1.5 KiB
C
Raw Normal View History

2025-04-28 12:25:20 +08:00
/**
* @file XNBaseFrameObject.h
* @author jinchao
* @brief
* @version 1.0
* @date 2025-01-08
*
* @copyright Copyright (c) 2025 COMAC
*
*/
#pragma once
#include "XNObject.h"
class XNBaseFrameObjectPrivate;
/**
* @brief
*/
class XNCORE_EXPORT XNBaseFrameObject : public XNObject
{
/**
* @brief Qt的元对象系统
*/
Q_OBJECT
/**
* @brief
*/
Q_DISABLE_COPY(XNBaseFrameObject)
/**
* @brief
*/
Q_DECLARE_PRIVATE(XNBaseFrameObject);
public:
/**
* @brief
* @param parent
*/
XNBaseFrameObject(QObject *parent = nullptr);
/**
* @brief
*/
virtual ~XNBaseFrameObject();
protected:
/**
* @brief
* @param dd
* @param parent
*/
XNBaseFrameObject(XNBaseFrameObjectPrivate &dd, QObject *parent = nullptr);
signals:
/**
* @brief
*/
void Initialize();
/**
* @brief
*/
void InitializeFailed();
/**
* @brief
*/
void PrepareForExecute();
/**
* @brief
*/
void PrepareForExecuteFailed();
public slots:
/**
* @brief
*/
virtual void OnInitialize() = 0;
/**
* @brief
*/
virtual void OnPrepareForExecute() = 0;
public:
/**
* @brief
* @return
*/
XNFrameObjectStatus GetFrameObjectStatus();
};