VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtVisualizerCreationSettingsManager.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2011 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00009 
00010 #pragma once
00011 
00012 #include <vrvCore/vrvCore.h>
00013 #include <vrvCore/DtVisualizerCreationSettings.h>
00014 
00015 #include <vrvUtil/DtVirtualBaseClass.h>
00016 #include <vrvUtil/event_signal.h>
00017 #include <vrvUtil/DtSignalConnectionManager.h>
00018 
00019 #include <boost/unordered_map.hpp>
00020 
00021 #include <set>
00022 
00023 namespace makVrv
00024 {
00025    class DtBaseConnection;
00026    class DtDe;
00027    class DtObserver;
00028    class DtInputDriver;
00029 
00034    class DT_DLL_VRVCORE DtVisualizerCreationSettingsManager : 
00035       public DtVirtualBaseClass
00036    {
00037    public:
00038 
00040       friend class DtVisualizerCreationSettingsManagerCreator;
00041 
00044       static DtVisualizerCreationSettingsManager& instance(DtDe& de);
00045 
00047       virtual ~DtVisualizerCreationSettingsManager();
00048 
00052       void setCreationStrategy(int, bool);
00053 
00057       virtual void createAndRegisterVisualizerCreationSettings( 
00058          DtBaseConnection& connection );
00059 
00060    protected:
00061 
00065       typedef boost::unordered_map<int, bool> 
00066          VisualTypeVisualizerCreationStrategyMap;
00067 
00069       DtVisualizerCreationSettingsManager(DtDe& de);
00070 
00073       virtual void slot_observerModeSettingChanged( int observerMode, 
00074          int setting );
00075 
00078       virtual void slot_observerModeModelSetChanged( int observerMode );
00079 
00082        virtual void slot_observerModeChanged( DtObserver* observer, 
00083           int newMode );
00084 
00087       virtual void slot_observerCreated( DtInputDriver*, DtObserver* observer );
00088       
00091       virtual void slot_observerToBeDestroyed( DtInputDriver*, 
00092          DtObserver* observer );
00093     
00095       virtual void initializeCreationSettings(
00096          DtVisualizerCreationSettings* settings) const;
00097 
00099       virtual void connectToObserver( DtObserver* observer );
00100 
00102       virtual void disconnectFromObserver( DtObserver* observer );
00103 
00106       virtual void updateAllCreationSettings() const;
00107 
00108    private:
00109       // Copy constructor not implemented
00110       DtVisualizerCreationSettingsManager(
00111          const DtVisualizerCreationSettingsManager&);
00112 
00113       // Assignment operator not implemented
00114       DtVisualizerCreationSettingsManager& operator=(
00115          const DtVisualizerCreationSettingsManager&);
00116 
00117    protected:
00118 
00119       DtDe& myDe;
00120       VisualTypeVisualizerCreationStrategyMap 
00121          myVisualTypeVisualizerCreationStrategyMap;
00122 
00123       DtSignalConnectionManager myConnections;
00124       std::set<DtObserver*> myObserverSet;
00125    };
00126 
00129    class DT_DLL_VRVCORE DtVisualizerCreationSettingsManagerCreator 
00130       : public DtVirtualBaseClass
00131    {
00132 
00133    public:
00136       static DtVisualizerCreationSettingsManagerCreator& instance(DtDe& de);
00137 
00139       static void registerInstance(DtDe& de, 
00140          DtVisualizerCreationSettingsManagerCreator* anInstance);     
00141 
00143       virtual DtVisualizerCreationSettingsManager* create(DtDe& de);
00144    };
00145 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)