![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: editorPluginManager.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DTEDITORPLUGINMANAGER_H_ 00013 #define DTEDITORPLUGINMANAGER_H_ 00014 00015 #include "tmqt/tmPluginManager.h" 00016 00017 #include "vrfGuiCommon/editorPluginExtension.h" 00018 #include "vrfGuiCommon/vrfGuiCommonDefines.h" 00019 #include "vrfutil/vrfPluginRecordManager.h" 00020 00021 class DtEditorExtensionInterface; 00022 00038 00040 00041 class DT_DLL_vrfGuiCommon DtEditorPlugin : public DtTMPlugin 00042 { 00043 public: 00044 DtEditorPlugin(const DtString &libName, 00045 bool addPlatExt = true, 00046 bool useLazyEval = true); 00047 00048 virtual ~DtEditorPlugin(); 00049 00050 virtual bool init(); 00051 virtual bool init(DtEditorExtensionInterface*, DtTMApplication*); 00052 virtual bool postAppInitialize(DtEditorExtensionInterface* iface, DtTMApplication* app); 00053 00054 protected: 00055 DtEditorInitializePluginFcn myEditorPluginInit; 00056 DtEditorPostInitializePluginFcn myEditorPostPluginInit; 00057 }; 00058 00059 class DT_DLL_vrfGuiCommon DtEditorPluginManager : public DtTMPluginManager 00060 { 00061 Q_OBJECT 00062 00063 public: 00064 00065 DtEditorPluginManager(); 00066 00068 virtual ~DtEditorPluginManager(); 00069 00071 virtual DtTMPlugin* loadPlugin(const QString&, DtTMApplication* app); 00072 static DtTMPluginManager* create(); 00073 virtual void postAppInitialize(DtTMApplication* app); 00074 00075 void setExtensionInterface(DtEditorExtensionInterface*); 00076 00077 protected: 00078 virtual void processPluginsDirectory(const DtFilename& directory); 00079 virtual void initPluginVariables(DtTMApplication* app); 00080 00081 protected: 00082 DtEditorExtensionInterface* myExtensionInterface; 00083 DtVrfPluginRecordManager myPluginRecordManager; 00084 }; 00085 00086 #endif