VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
makVrv::DtCommonBaseSettingsManager< RecordType > Class Template Referenceabstract

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.

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

Public Member Functions

 DtCommonBaseSettingsManager (DtDe &de, const std::string &name, const std::string &displayName, const std::string &ext)
 
virtual ~DtCommonBaseSettingsManager ()
 
virtual void autoSaveIfNecessary ()
 
virtual void setAutoSave (bool doit)
 
virtual bool autoSave () const
 
virtual void setUseDefaultSettingsRecord (bool useit)
 
virtual bool useDefaultSettingsRecord () const
 
virtual DtDeSettingssettings ()
 
virtual const DtDeSettingssettings () const
 
virtual DtSettingsBackupsettingsBackup ()
 
virtual const DtSettingsBackupsettingsBackup () const
 
Setting Persistence Methods
virtual void loadDefaults ()
 
virtual void initializeBackup ()=0
 
virtual void saveDefaultSettings ()
 
virtual void loadDefaultSettings (bool loadOnlyFactorySettings)
 
virtual void importSettings (const std::string &filePath)
 
virtual void exportSettings (const std::string &filePath) const
 
virtual void setFromRecord (const RecordType &record)=0
 
virtual void getRecord (RecordType &record) const =0
 
virtual void getSplitRecord (std::vector< RecordType > &rec, std::vector< std::string > &fileNames)
 
virtual void addRecords (RecordType &rec, RecordType &combinedRec)
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Protected Attributes

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

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 ( )
inlinevirtual

Virtual DTOR.

Member Function Documentation

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::autoSaveIfNecessary ( )
inlinevirtual

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< makVrf::DtRangeLineSettingsRecord >::importSettings().

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::setAutoSave ( bool  doit)
inlinevirtual

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

Reimplemented in makVrf::DtRangeLineSettingsManager.

Referenced by makVrv::DtCommonBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >::loadDefaults().

template<typename RecordType>
virtual bool makVrv::DtCommonBaseSettingsManager< RecordType >::autoSave ( ) const
inlinevirtual

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

Reimplemented in makVrf::DtRangeLineSettingsManager.

Referenced by makVrv::DtCommonBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >::autoSaveIfNecessary(), and makVrv::DtCommonBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >::loadDefaults().

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::setUseDefaultSettingsRecord ( bool  useit)
inlinevirtual

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
inlinevirtual

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 ( )
inlinevirtual
template<typename RecordType>
virtual const DtDeSettings* makVrv::DtCommonBaseSettingsManager< RecordType >::settings ( ) const
inlinevirtual

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 ( )
inlinevirtual

Accessor for the manager's settings backup.

template<typename RecordType>
virtual const DtSettingsBackup* makVrv::DtCommonBaseSettingsManager< RecordType >::settingsBackup ( ) const
inlinevirtual

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

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::loadDefaults ( )
inlinevirtual

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.

Reimplemented in makVrv::DtShadowSettingsManager.

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

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

Implemented in makVrv::DtShadowSettingsManager, makVrv::DtObserverModeManager, 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::DtBaseSharedSettingsManager< makArchives::DtLaserDesignatorSettingsRecord, DtSharedLaserDesignatorSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtSymbolDecorationSettingsRecord, DtSymbolDecorationSettings >, makVrv::DtBaseSettingsManager< RecordType >, makVrv::DtBaseSettingsManager< DtExampleSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtDistributedEnvironmentSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtVirtualRealitySettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtObserverModesRecord >, makVrv::DtBaseSettingsManager< DtApplicationSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtGridLinesSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtCloudLayerListRecord >, makVrv::DtBaseSettingsManager< makArchives::DtForestSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtShadowSettingsCollectionRecord >, makVrv::DtBaseSettingsManager< DtAudioSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtOculusSettingsRecord >, and makVrv::DtBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >.

Referenced by makVrv::DtCommonBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >::loadDefaults().

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::saveDefaultSettings ( )
inlinevirtual
template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::loadDefaultSettings ( bool  loadOnlyFactorySettings)
inlinevirtual

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< makVrf::DtRangeLineSettingsRecord >::loadDefaults().

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::importSettings ( const std::string &  filePath)
inlinevirtual

Load the settings' state from the given file.

Reimplemented in makVrv::DtShadowSettingsManager.

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::exportSettings ( const std::string &  filePath) const
inlinevirtual

Save the current settings' 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::DtShadowSettingsManager, 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::DtBaseSharedSettingsManager< makArchives::DtLaserDesignatorSettingsRecord, DtSharedLaserDesignatorSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtSymbolDecorationSettingsRecord, DtSymbolDecorationSettings >, makVrv::DtBaseSettingsManager< RecordType >, makVrv::DtBaseSettingsManager< DtExampleSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtDistributedEnvironmentSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtVirtualRealitySettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtObserverModesRecord >, makVrv::DtBaseSettingsManager< DtApplicationSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtGridLinesSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtCloudLayerListRecord >, makVrv::DtBaseSettingsManager< makArchives::DtForestSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtShadowSettingsCollectionRecord >, makVrv::DtBaseSettingsManager< DtAudioSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtOculusSettingsRecord >, makVrv::DtBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >, makVrv::DtObserverModeManager, makVrv::DtVirtualRealitySettingsManager, makVrv::DtAudioSettingsManager, makVrv::DtGridLinesSettingsManager, makVrv::DtIntervisibilitySettingsManager, makVrf::DtRangeLineSettingsManager, makVrv::DtForestSettingsManager, makVrv::DtCloudLayerSettingsManager, makVrv::DtDistributedEnvironmentSettingsManager, makVrv::DtOculusSettingsManager, and makVrv::DtExampleSettingsManager.

Referenced by makVrv::DtCommonBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >::importSettings(), makVrv::DtCommonBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >::loadDefaults(), and makVrv::DtCommonBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >::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::DtShadowSettingsManager, 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::DtBaseSharedSettingsManager< makArchives::DtLaserDesignatorSettingsRecord, DtSharedLaserDesignatorSettings >, makVrv::DtBaseSharedSettingsManager< makArchives::DtSymbolDecorationSettingsRecord, DtSymbolDecorationSettings >, makVrv::DtBaseSettingsManager< RecordType >, makVrv::DtBaseSettingsManager< DtExampleSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtDistributedEnvironmentSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtVirtualRealitySettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtObserverModesRecord >, makVrv::DtBaseSettingsManager< DtApplicationSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtGridLinesSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtCloudLayerListRecord >, makVrv::DtBaseSettingsManager< makArchives::DtForestSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtShadowSettingsCollectionRecord >, makVrv::DtBaseSettingsManager< DtAudioSettingsRecord >, makVrv::DtBaseSettingsManager< makArchives::DtOculusSettingsRecord >, makVrv::DtBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >, makVrv::DtObserverModeManager, makVrv::DtVirtualRealitySettingsManager, makVrv::DtAudioSettingsManager, makVrv::DtGridLinesSettingsManager, makVrv::DtIntervisibilitySettingsManager, makVrf::DtRangeLineSettingsManager, makVrv::DtForestSettingsManager, makVrv::DtCloudLayerSettingsManager, makVrv::DtDistributedEnvironmentSettingsManager, makVrv::DtOculusSettingsManager, and makVrv::DtExampleSettingsManager.

Referenced by makVrv::DtCommonBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >::exportSettings(), and makVrv::DtCommonBaseSettingsManager< makVrf::DtRangeLineSettingsRecord >::saveDefaultSettings().

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::getSplitRecord ( std::vector< RecordType > &  rec,
std::vector< std::string > &  fileNames 
)
inlinevirtual

For directory support, split the main record into different sub-records and give them each a file name.

template<typename RecordType>
virtual void makVrv::DtCommonBaseSettingsManager< RecordType >::addRecords ( RecordType &  rec,
RecordType &  combinedRec 
)
inlinevirtual

For directory support, when reading in a directory, add the records from each file to the combined record.

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 Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)