60 lines
1.3 KiB
C++
60 lines
1.3 KiB
C++
/**
|
|
* @file DialogFactory.h
|
|
* @brief 为了属性表能够弹出对话框 特添加此类
|
|
* @date 2015-5-22
|
|
* @author: hudfang
|
|
*/
|
|
|
|
#ifndef PAI_FRAME_CDIALOGFACTORY_H__
|
|
#define PAI_FRAME_CDIALOGFACTORY_H__
|
|
|
|
#pragma warning( push ,0)
|
|
|
|
#include <QUuid>
|
|
#include "ObjectGenralFactory.h"
|
|
#pragma warning( pop )
|
|
|
|
BEGIN_OSGDATAMODEL_NAMESPACE;
|
|
|
|
struct OSGDATAMODEL_EXPORT sDialogFactoryKey
|
|
{
|
|
public:
|
|
sDialogFactoryKey();
|
|
|
|
sDialogFactoryKey( QUuid ObjectClassID );
|
|
|
|
bool operator !=( const sDialogFactoryKey& s );
|
|
|
|
bool operator< ( const sDialogFactoryKey& s ) const;
|
|
|
|
public:
|
|
QUuid m_ObjectClassID;
|
|
};
|
|
|
|
class OSGDATAMODEL_EXPORT CDialogFactory
|
|
{
|
|
public:
|
|
CDialogFactory();
|
|
|
|
virtual ~CDialogFactory();
|
|
virtual void Init(QString){
|
|
}
|
|
static CObjectGenralFactory<sDialogFactoryKey,CDialogFactory>& GetFatory();
|
|
virtual QString GetGuid()=0;
|
|
};
|
|
|
|
|
|
/**
|
|
* @brief 成图窗口插件注册宏
|
|
*/
|
|
#define BEGIN_REGISTER_IDIALOG(className) BEGIN_REGISTER(sDialogFactoryKey,CDialogFactory,className)
|
|
#define END_REGISTER_IDIALOG(className) END_REGISTER( sDialogFactoryKey,CDialogFactory,className )
|
|
|
|
/**
|
|
* @brief 格式转换器插件工厂
|
|
*/
|
|
typedef CObjectGenralFactory<sDialogFactoryKey,CDialogFactory> IDialogFactory;
|
|
|
|
END_OSGDATAMODEL_NAMESPACE
|
|
using namespace pai::datamodel;
|
|
#endif |