![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2011 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: $ $Revision: $ $State: $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCoreQt/vrvCoreQt.h> 00015 #include <vrvCoreQt/DtVisualizerAttributeWidget.h> 00016 #include <vrvUtil/DtVirtualBaseClass.h> 00017 #include <boost/unordered_map.hpp> 00018 00019 namespace makVrv 00020 { 00022 class DT_DLL_VRVCOREQT DtVisualizerAttributeWidgetFactory : public DtVirtualBaseClass 00023 { 00024 public: 00025 00027 static DtVisualizerAttributeWidgetFactory& instance(DtDe&); 00028 00030 void registerWidgetCreator(DtVisualizerAttributeWidgetCreator* creator); 00031 00034 void registerDefaultWidgetCreator( 00035 DtVisualizerAttributeWidgetCreator* creator); 00036 00039 DtVisualizerAttributeWidget* createWidget( 00040 const DtVisualizerAttribute::TypeInfo& info, QWidget* parent) const; 00041 00042 protected: 00043 00045 DtVisualizerAttributeWidgetFactory(DtDe&); 00046 00048 ~DtVisualizerAttributeWidgetFactory(); 00049 00050 protected: 00051 00052 typedef boost::unordered_map<std::string,DtVisualizerAttributeWidgetCreator*> 00053 CreatorMap; 00054 00055 DtDe& myDe; 00056 DtVisualizerAttributeWidgetCreator* myDefaultCreator; 00057 CreatorMap myMap; 00058 }; 00059 } 00060