VR-Forces 4.0.4 Class Documentation
Public Member Functions | Protected Attributes
makVrv::DtCommonBaseSettingsManager< RecordType > Class Template Reference

Common base class for all types of settings managers. More...

Inheritance diagram for makVrv::DtCommonBaseSettingsManager< RecordType >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 DtCommonBaseSettingsManager (DtDe &de, const std::string &name, const std::string &displayName, const std::string &ext)
 CTOR The name, displayName, and extension parameters are used for creating the settings object (DtDeSettings) and backup, and for constructing the filename when readin/writing the records to disk.
virtual ~DtCommonBaseSettingsManager ()
 Virtual DTOR.
virtual void autoSaveIfNecessary ()
 Saves the current settings as defaults if autosave is enabled.
virtual void setAutoSave (bool doit)
 Sets whether autosave is enabled for the settings manager.
virtual bool autoSave () const
 Gets whether autosave is enabled for the settings manager.
virtual void setUseDefaultSettingsRecord (bool useit)
 Sets whether setting initialization should check for a default record.
virtual bool useDefaultSettingsRecord () const
 Gets whether setting initialization should check for a default record.
virtual DtDeSettingssettings ()
 Accessor for the manager's DtDeSettings object.
virtual const DtDeSettingssettings () const
 Accessor for the manager's DtDeSettings object (const).
virtual DtSettingsBackupsettingsBackup ()
 Accessor for the manager's settings backup.
virtual const DtSettingsBackupsettingsBackup () const
 Accessor for the manager's settings backup (const).
Setting Persistence Methods
virtual void loadDefaults ()
 Initializes the settings and creates a backup.
virtual void initializeBackup ()=0
 Creates a backup of the settings' current state (abstract).
virtual void saveDefaultSettings ()
 Saves the current settings' state as the default (on disk).
virtual void loadDefaultSettings (bool loadOnlyFactorySettings)
 Loads the default settings from disk.
virtual void importSettings (const std::string &filePath)
 Load the settings' state from the given file.
virtual void exportSettings (const std::string &filePath) const
 Save the current settings's state to the given file.
virtual void setFromRecord (const RecordType &record)=0
 Set the current settings' state from the given record (abstract).
virtual void getRecord (RecordType &record) const =0
 Store the current settings' state in the given record (abstract).

Protected Attributes

DtSignalConnectionManager myConnections
std::string myName
std::string myExtension
std::string myDisplayName
bool myUseDefaultSettingsRecordFlag
bool myAutoSaveFlag
DtSettingsBackupmySettingsBackup
DtDemyDe

Detailed Description

template<typename RecordType>
class makVrv::DtCommonBaseSettingsManager< RecordType >

Common base class for all types of settings managers.

This class provides the interface for creating settings managers with the large portion of the persistence logic handled by either this base class or specialized base classes for different types of settings managers. This template class takes the settings record class as a template parameter in order to perform default record lookups and the common save/load and import/export functionality.


Constructor & Destructor Documentation

template<typename RecordType>
makVrv::DtCommonBaseSettingsManager< RecordType >::DtCommonBaseSettingsManager ( DtDe de,
const std::string &  name,
const std::string &  displayName,
const std::string &  ext 
) [inline]

CTOR The name, displayName, and extension parameters are used for creating the settings object (DtDeSettings) and backup, and for constructing the filename when readin/writing the records to disk.

template<typename RecordType>
virtual makVrv::DtCommonBaseSettingsManager< RecordType >::~DtCommonBaseSettingsManager ( ) [inline, virtual]

Virtual DTOR.


Member Function Documentation

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::autoSaveIfNecessary ( ) [inline, virtual]

Saves the current settings as defaults if autosave is enabled.

This method is mainly provided to make creating setters for individual settings easier, by wrapping the if check in this method.

Referenced by makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::importSettings().

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::setAutoSave ( bool  doit) [inline, virtual]

Sets whether autosave is enabled for the settings manager.

If autosave is enabled, the settings will be saved as they're changed.

Referenced by makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::loadDefaults().

template<typename RecordType>
virtual bool makVrv::DtCommonBaseSettingsManager< RecordType >::autoSave ( ) const [inline, virtual]

Gets whether autosave is enabled for the settings manager.

If autosave is enabled, the settings will be saved as they're changed.

Referenced by makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::autoSaveIfNecessary(), and makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::loadDefaults().

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::setUseDefaultSettingsRecord ( bool  useit) [inline, virtual]

Sets whether setting initialization should check for a default record.

If set and a default record is present, the settings manager will use that record instead of the default settings file from disk to initialize the settings.

template<typename RecordType>
virtual bool makVrv::DtCommonBaseSettingsManager< RecordType >::useDefaultSettingsRecord ( ) const [inline, virtual]

Gets whether setting initialization should check for a default record.

If set and a default record is present, the settings manager will use that record instead of the default settings file from disk to initialize the settings.

template<typename RecordType>
virtual DtDeSettings* makVrv::DtCommonBaseSettingsManager< RecordType >::settings ( ) [inline, virtual]
template<typename RecordType>
virtual const DtDeSettings* makVrv::DtCommonBaseSettingsManager< RecordType >::settings ( ) const [inline, virtual]

Accessor for the manager's DtDeSettings object (const).

Exceptions:
DtCorruptedStateif the settings can't be found.
template<typename RecordType>
virtual DtSettingsBackup* makVrv::DtCommonBaseSettingsManager< RecordType >::settingsBackup ( ) [inline, virtual]

Accessor for the manager's settings backup.

template<typename RecordType>
virtual const DtSettingsBackup* makVrv::DtCommonBaseSettingsManager< RecordType >::settingsBackup ( ) const [inline, virtual]

Accessor for the manager's settings backup (const).

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::loadDefaults ( ) [inline, virtual]

Initializes the settings and creates a backup.

If the useDefaultSettingsRecord is enabled and a default record exists, the record will be used to initialize the settings. Otherwise, settings will be initialized from the default (or factory) record on disk.

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::initializeBackup ( ) [pure virtual]

Creates a backup of the settings' current state (abstract).

Implemented in makVrv::DtBaseSharedSettingsManager< RecordType, SettingsType >, makVrv::DtBaseSharedSettingsManager< makArchives::DtTacticalGraphicsSettingsRecord, DtSharedTacticalGraphicsDisplaySettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtRadioCommunicationsSettingsRecord, DtSharedRadioCommunicationsSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtInterestManagementRecord, DtSharedInterestManagementSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtTrackHistorySettingsRecord, DtSharedTrackHistorySettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtAggregateSettingsRecord, DtSharedAggregateDisplaySettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtDisplayUnitsSettingsRecord, DtSharedDisplayUnitsSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtEntitySettingsRecord, DtSharedEntityDisplaySettings >, makVrv::DtBaseSettingsManager< RecordType >, makVrv::DtBaseSettingsManager< DtExampleSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtDistributedEnvironmentSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtObserverModesRecord >, makVrv::DtBaseSettingsManager< makArchives::DtGridLinesSettingsRecord >, and makVrv::DtBaseSettingsManager< makArchives::DtForestSettingsRecord >.

Referenced by makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::loadDefaults().

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::saveDefaultSettings ( ) [inline, virtual]

Saves the current settings' state as the default (on disk).

Referenced by makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::autoSaveIfNecessary().

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::loadDefaultSettings ( bool  loadOnlyFactorySettings) [inline, virtual]

Loads the default settings from disk.

If loadOnlyFactorySettings is true, only the factory record will be read. Otherwise, if a default record is present, that will be used.

Reimplemented in makVrv::DtObserverModeManager.

Referenced by makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::loadDefaults().

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::importSettings ( const std::string &  filePath) [inline, virtual]

Load the settings' state from the given file.

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::exportSettings ( const std::string &  filePath) const [inline, virtual]

Save the current settings's state to the given file.

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::setFromRecord ( const RecordType &  record) [pure virtual]

Set the current settings' state from the given record (abstract).

Implemented in makVrv::DtDisplayUnitsSettingsManager, makVrv::DtBaseSharedSettingsManager< RecordType, SettingsType >, makVrv::DtBaseSharedSettingsManager< makArchives::DtTacticalGraphicsSettingsRecord, DtSharedTacticalGraphicsDisplaySettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtRadioCommunicationsSettingsRecord, DtSharedRadioCommunicationsSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtInterestManagementRecord, DtSharedInterestManagementSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtTrackHistorySettingsRecord, DtSharedTrackHistorySettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtAggregateSettingsRecord, DtSharedAggregateDisplaySettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtDisplayUnitsSettingsRecord, DtSharedDisplayUnitsSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtEntitySettingsRecord, DtSharedEntityDisplaySettings >, makVrv::DtBaseSettingsManager< RecordType >, makVrv::DtBaseSettingsManager< DtExampleSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtDistributedEnvironmentSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtObserverModesRecord >, makVrv::DtBaseSettingsManager< makArchives::DtGridLinesSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtForestSettingsRecord >, makVrv::DtObserverModeManager, makVrv::DtIntervisibilitySettingsManager, makVrv::DtGridLinesSettingsManager, makVrv::DtForestSettingsManager, makVrv::DtDistributedEnvironmentSettingsManager, and makVrv::DtExampleSettingsManager.

Referenced by makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::importSettings(), makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::loadDefaults(), and makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::loadDefaultSettings().

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::getRecord ( RecordType &  record) const [pure virtual]

Store the current settings' state in the given record (abstract).

Implemented in makVrv::DtBaseSharedSettingsManager< RecordType, SettingsType >, makVrv::DtBaseSharedSettingsManager< makArchives::DtTacticalGraphicsSettingsRecord, DtSharedTacticalGraphicsDisplaySettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtRadioCommunicationsSettingsRecord, DtSharedRadioCommunicationsSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtInterestManagementRecord, DtSharedInterestManagementSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtTrackHistorySettingsRecord, DtSharedTrackHistorySettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtAggregateSettingsRecord, DtSharedAggregateDisplaySettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtDisplayUnitsSettingsRecord, DtSharedDisplayUnitsSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtEntitySettingsRecord, DtSharedEntityDisplaySettings >, makVrv::DtBaseSettingsManager< RecordType >, makVrv::DtBaseSettingsManager< DtExampleSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtDistributedEnvironmentSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtObserverModesRecord >, makVrv::DtBaseSettingsManager< makArchives::DtGridLinesSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtForestSettingsRecord >, makVrv::DtObserverModeManager, makVrv::DtIntervisibilitySettingsManager, makVrv::DtGridLinesSettingsManager, makVrv::DtForestSettingsManager, makVrv::DtDistributedEnvironmentSettingsManager, and makVrv::DtExampleSettingsManager.

Referenced by makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::exportSettings(), and makVrv::DtCommonBaseSettingsManager< makArchives::DtEntitySettingsRecord >::saveDefaultSettings().


Member Data Documentation

template<typename RecordType>
DtSignalConnectionManager makVrv::DtCommonBaseSettingsManager< RecordType >::myConnections [protected]
template<typename RecordType>
std::string makVrv::DtCommonBaseSettingsManager< RecordType >::myName [protected]
template<typename RecordType>
std::string makVrv::DtCommonBaseSettingsManager< RecordType >::myExtension [protected]
template<typename RecordType>
std::string makVrv::DtCommonBaseSettingsManager< RecordType >::myDisplayName [protected]
template<typename RecordType>
bool makVrv::DtCommonBaseSettingsManager< RecordType >::myUseDefaultSettingsRecordFlag [protected]
template<typename RecordType>
bool makVrv::DtCommonBaseSettingsManager< RecordType >::myAutoSaveFlag [protected]
template<typename RecordType>
DtSettingsBackup* makVrv::DtCommonBaseSettingsManager< RecordType >::mySettingsBackup [protected]
template<typename RecordType>
DtDe& makVrv::DtCommonBaseSettingsManager< RecordType >::myDe [protected]

The documentation for this class was generated from the following file:

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)