VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtSymbolDecorationSettings.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtSymbolDecorationSettings.h,v $ $Revision: 1.3 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #pragma once
00014 
00015 #include <vrvCore/DtSharedSettings.h>
00016 #include <vrvCore/DtSettingsBackupManager.h>
00017 #include <makArchives/DtSymbolDecorationSettingsRecord.h>
00018 
00019 #include <vrvCore/DtRecordSettingsBackup.h>
00020 
00021 #include <string>
00022 #include <set>
00023 
00024 #include <boost/unordered_map.hpp>
00025 
00026 namespace makVrv
00027 {
00028 
00029    class DtDe;
00030    class DtSymbolDecorationSettings;
00031 
00033    typedef DtSharedRecordSettingsBackup<DtSymbolDecorationSettings,
00034       makArchives::DtSymbolDecorationSettingsRecord> DtSymbolDecorationSettingsBackup;
00035 
00038    class DT_DLL_VRVCORE DtSymbolDecorationSettings : public DtSharedSettings
00039    {
00040    public:
00041 
00043       typedef std::set<std::string> DecorationSet;
00044 
00047       typedef std::set<std::string> DecorationSettings;
00048 
00049    public:
00050 
00052       virtual ~DtSymbolDecorationSettings();
00053 
00056 
00058       DecorationSet getOrCreateDecorationSet( const std::string& setId ) const;
00059 
00061       void setDecorationSet( const std::string& setId, DecorationSet& decorationSet );
00062 
00064       void enableDecoration( const std::string& decorationCreator );
00065 
00067       void disableDecoration( const std::string& decorationCreator );
00068 
00070       bool decorationEnabled( const std::string& decorationCreator );
00071 
00073       const DecorationSettings& decorationSettings() const;
00074 
00076       DecorationSet enabledDecorationsInSet( const std::string& setId ) const;
00077 
00080       bool decorationEnabledForSet( const std::string& setId,
00081          const std::string& decorationCreator );
00082 
00084       void setBackgroundColor( float r, float g, float b );
00086       void backgroundColor( float& r, float& g, float& b ) const;
00087 
00089       void setBackgroundOpacity( float opacity );
00091       float backgroundOpacity() const;
00092 
00094 
00097 
00099       static void loadDefaults( DtDe& de );
00100 
00102       static void saveDefaults( DtDe& de );
00103 
00105       static void loadFactory( DtDe& de );
00106 
00108       static void saveToFile( DtDe& de, const std::string& filePath );
00109 
00111       static void loadFile( DtDe& de, const std::string& filePath );
00112 
00113       void setFromRecord( const makArchives::DtSymbolDecorationSettingsRecord& rec );
00114       void getRecord( makArchives::DtSymbolDecorationSettingsRecord& rec ) const;
00115 
00116       const DtSymbolDecorationSettingsBackup* settingsBackup() const
00117       {
00118          return mySettingsBackup;
00119       }
00120 
00121       DtSymbolDecorationSettingsBackup* settingsBackup()
00122       {
00123          return mySettingsBackup;
00124       }
00125 
00127       virtual void backup();
00128 
00130 
00134       static std::string className();
00135 
00136    protected:
00137 
00140       friend class DtReadSettingsLock<DtSymbolDecorationSettings>;
00141       friend class DtWriteSettingsLock<DtSymbolDecorationSettings>;
00142       friend class DtSharedSettingsManager;
00143 
00145       DtSymbolDecorationSettings(DtSharedSettingsManager& manager);
00146 
00147    protected:
00148 
00149       typedef boost::unordered_map<std::string, DecorationSet> DecorationSetMap;
00150       DecorationSetMap myDecorationSets;
00151 
00152       DecorationSettings myDecorationSettings;
00153 
00154       float myBackgroundColorR;
00155       float myBackgroundColorG;
00156       float myBackgroundColorB;
00157       float myBackgroundColorA;
00158 
00159       DtSymbolDecorationSettingsBackup* mySettingsBackup;
00160 
00161    };
00162 
00163 }

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)