/** * @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 #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& 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 IDialogFactory; END_OSGDATAMODEL_NAMESPACE using namespace pai::datamodel; #endif