![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtWindowFactory.h,v $ $Revision: 1.23 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtWindowFactory_H_ 00014 #define DtWindowFactory_H_ 00015 00016 #include <vrvCore/vrvCore.h> 00017 #include <vrvUtil/DtWindowConfiguration.h> 00018 #include <vrvUtil/DtVirtualBaseClass.h> 00019 00020 namespace makVrv 00021 { 00022 class DtWindow; 00023 class DtWindowCreator; 00024 class DtDe; 00025 00029 class DT_DLL_VRVCORE DtWindowFactory : public DtVirtualBaseClass 00030 { 00031 00032 typedef DtWindow* (*DtWindowCreatorFunction)(DtDe&, DtWindowConfiguration&); 00033 00034 public: 00035 00038 static DtWindowFactory& instance(DtDe& de); 00039 00041 ~DtWindowFactory(); 00042 00044 DtWindow* createWindow(DtDe& de,DtWindowConfiguration& wc); 00045 00047 void setCreator(int index, DtWindowCreator* creator); 00048 00049 protected: 00050 00052 DtWindowFactory(); 00053 00054 protected: 00055 00056 typedef std::map<int, DtWindowCreator*> CreatorFunctionMap; 00057 CreatorFunctionMap myCreatorFunctionMap; 00058 00059 }; 00060 } 00061 00062 #endif 00063 00064