![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtVrfScenarioRemapFunction.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 #include <vrvUtil/DtVirtualBaseClass.h> 00018 00019 #include <vrfutil/scenario.h> 00020 00021 class DtSimulationAddress; 00022 class QWidget; 00023 00024 namespace makVrv 00025 { 00026 class DtDe; 00027 } 00028 00029 namespace makVrf 00030 { 00031 class DtRemappingDialog; 00032 00033 class DT_DLL_VRFGUICOREQT DtVrfScenarioRemapFunction 00034 { 00035 public: 00036 00038 DtVrfScenarioRemapFunction(makVrv::DtDe& de, QWidget* parent); 00039 00041 virtual ~DtVrfScenarioRemapFunction(); 00042 00043 public: 00044 virtual DtRemappingFcn remappingFunction() = 0; 00045 00046 protected: 00047 makVrv::DtDe& myDe; 00048 }; 00049 00050 class DT_DLL_VRFGUICOREQT DtVrfScenarioRemapFunctionCreator 00051 { 00052 public: 00053 virtual DtVrfScenarioRemapFunction* create(makVrv::DtDe&, QWidget* parent) = 0; 00054 }; 00055 00056 class DT_DLL_VRFGUICOREQT DtVrfScenarioRemapFactory : public makVrv::DtVirtualBaseClass 00057 { 00058 public: 00060 DtVrfScenarioRemapFactory(makVrv::DtDe&); 00061 00062 virtual ~DtVrfScenarioRemapFactory(); 00063 00065 static DtVrfScenarioRemapFactory& instance(makVrv::DtDe& de); 00066 00070 virtual DtVrfScenarioRemapFunction* createRemapFunction(const std::string&, QWidget* parent); 00071 00073 virtual void addRemappingFunction(const std::string&, DtVrfScenarioRemapFunctionCreator*); 00074 virtual void removeRemappingFunction(const std::string&); 00075 00076 protected: 00077 typedef std::map<std::string, DtVrfScenarioRemapFunctionCreator*> DtRemappingCreatorMap; 00078 00079 DtRemappingCreatorMap myRemappingFunctions; 00080 makVrv::DtDe& myDe; 00081 }; 00082 00083 class DT_DLL_VRFGUICOREQT DtRemapMissingBackends : public DtVrfScenarioRemapFunction 00084 { 00085 public: 00087 DtRemapMissingBackends(makVrv::DtDe& de, QWidget* parent); 00088 00090 virtual ~DtRemapMissingBackends(); 00091 00092 public: 00093 virtual DtRemappingFcn remappingFunction(); 00094 00095 protected: 00096 static bool remapMissingBackends(DtBackendMap* map, void* usr); 00097 virtual bool processRemapMissingBackends(DtBackendMap* map); 00098 00099 virtual DtRemappingDialog* createRemappingDialog(makVrv::DtDe&, DtBackendMap*, QWidget*); 00100 00101 protected: 00102 QWidget* myParent; 00103 }; 00104 00105 class DT_DLL_VRFGUICOREQT DtRemapMissingBackendsCreator : public DtVrfScenarioRemapFunctionCreator 00106 { 00107 public: 00108 virtual DtVrfScenarioRemapFunction* create(makVrv::DtDe&, QWidget* parent); 00109 }; 00110 00111 class DT_DLL_VRFGUICOREQT DtAutoRemapMissingBackends : public DtVrfScenarioRemapFunction 00112 { 00113 public: 00115 DtAutoRemapMissingBackends(makVrv::DtDe& de, QWidget* parent); 00116 00118 virtual ~DtAutoRemapMissingBackends(); 00119 00120 public: 00121 virtual DtRemappingFcn remappingFunction(); 00122 00123 protected: 00124 static bool autoRemapMissingBackends(DtBackendMap* map, void* usr); 00125 virtual bool processAutoRemapMissingBackends(DtBackendMap* map); 00126 00128 virtual void getRemappingAddress(DtSimulationAddress& remapAddress); 00129 }; 00130 00131 class DT_DLL_VRFGUICOREQT DtAutoRemapMissingBackendsCreator : public DtVrfScenarioRemapFunctionCreator 00132 { 00133 public: 00134 virtual DtVrfScenarioRemapFunction* create(makVrv::DtDe&, QWidget* parent); 00135 }; 00136 }