21 #include <vlutil/vlUtil.h>
34 template <
typename RecordType>
44 const std::string& displayName,
const std::string& ext )
113 DtTHROW_NEW( DtCorruptedState,
"DtDeSettings have gone missing!" );
126 DtTHROW_NEW( DtCorruptedState,
"DtDeSettings have gone missing!" );
207 if ( loadOnlyFactorySettings )
227 if (
settings()->readRecordFrom(record,filePath) )
246 virtual void getRecord( RecordType& record )
const = 0;
282 template <
typename RecordType>
295 const std::string& displayName,
const std::string& ext )
323 virtual void getRecord( RecordType& record )
const = 0;
363 template <
typename RecordType,
typename SettingsType>
376 const std::string& displayName,
const std::string& ext )
398 writeSettings->backup();
407 settings->setFromRecord( record );
417 settings->getRecord( record );
434 return settings->applyFactoryOverrides(record);
virtual DtDeSettings * findSettings(const std::string &settingsType)
Get the settings object for a particular settings type. If the Settings of the given type does not ex...
virtual void loadDefaultSettings(bool loadOnlyFactorySettings)
Loads the default settings from disk. If loadOnlyFactorySettings is true, only the factory record wil...
Definition: DtBaseSettingsManager.h:203
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:283
Base class for shared settings managers. Extends the functionality provided by the DtCommonBaseSettin...
Definition: DtBaseSettingsManager.h:364
a read settings lock on a setting object. The object can only get read access aka const functions...
Definition: DtReadSettingsLock.h:48
virtual void initializeBackup()=0
Creates a backup of the settings' current state (abstract).
static DtDeSettingsManager & instance(DtDe &de)
Get an instance of the settings manager.
bool myAutoSaveFlag
Definition: DtBaseSettingsManager.h:266
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Interaction makVrv::DtWriteSettingsLock class.
virtual bool useDefaultSettingsRecord() const
Gets whether setting initialization should check for a default record. If set and a default record is...
Definition: DtBaseSettingsManager.h:100
virtual void setUseDefaultSettingsRecord(bool useit)
Sets whether setting initialization should check for a default record. If set and a default record is...
Definition: DtBaseSettingsManager.h:91
virtual void initializeBackup()
Creates a backup of the settings' current state.
Definition: DtBaseSettingsManager.h:391
virtual void autoSaveIfNecessary()
Saves the current settings as defaults if autosave is enabled. This method is mainly provided to make...
Definition: DtBaseSettingsManager.h:65
virtual void getRecord(RecordType &record) const
Store the current settings' state in the given record.
Definition: DtBaseSettingsManager.h:413
DtSignalConnectionManager myConnections
Definition: DtBaseSettingsManager.h:259
std::string myExtension
Definition: DtBaseSettingsManager.h:262
bool findDefaultSettingsRecord(const std::string &name, RecordType &record) const
Find a settings default records.
Definition: DtDeInitializer.h:366
Common base class for all types of settings managers. This class provides the interface for creating ...
Definition: DtBaseSettingsManager.h:35
virtual bool autoSave() const
Gets whether autosave is enabled for the settings manager. If autosave is enabled, the settings will be saved as they're changed.
Definition: DtBaseSettingsManager.h:82
virtual ~DtBaseSharedSettingsManager()
Virtual DTOR.
Definition: DtBaseSettingsManager.h:382
The makVrv::DtRecordSettingsBackup is a templaced class that settings records will use in order to ba...
Definition: DtRecordSettingsBackup.h:101
virtual void saveDefaultSettings()
Saves the current settings' state as the default (on disk).
Definition: DtBaseSettingsManager.h:193
bool readDefaultRecord(RecordType &r)
Read a record from the default settings.
DtSharedRecordSettingsBackup< SettingsType, RecordType > SharedRecordBackupType
Definition: DtBaseSettingsManager.h:369
Contains DLL export macros.
DtSettingsBackup * mySettingsBackup
Definition: DtBaseSettingsManager.h:268
void setFactoryFile(const std::string &s)
Definition: DtSettingsBackup.h:170
virtual void getRecord(RecordType &record) const =0
Store the current settings' state in the given record (abstract).
bool writeRecordTo(const RecordType &r, const std::string &exportFileName) const
Write a record to a specific location.
Contains makVrv::DtVirtualBaseClass class.
DtDe & myDe
Definition: DtBaseSettingsManager.h:270
virtual DtSettingsBackup * settingsBackup()
Accessor for the manager's settings backup.
Definition: DtBaseSettingsManager.h:132
DtBaseSettingsManager(DtDe &de, const std::string &name, const std::string &displayName, const std::string &ext)
CTOR.
Definition: DtBaseSettingsManager.h:294
std::string myDisplayName
Definition: DtBaseSettingsManager.h:263
bool myUseDefaultSettingsRecordFlag
Definition: DtBaseSettingsManager.h:265
virtual void initializeBackup()
Creates a backup of the settings' current state.
Definition: DtBaseSettingsManager.h:310
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
static DtSharedSettingsManager & instance(DtDe &)
Get an instance of the shared settings manager from the DtDe;.
Provides a method of doign settings backup.
Definition: DtSettingsBackup.h:23
std::string myName
Definition: DtBaseSettingsManager.h:261
a write settings lock on a setting object. The object can be read and modified, but no other threads ...
Definition: DtWriteSettingsLock.h:47
virtual ~DtBaseSettingsManager()
Virtual DTOR.
Definition: DtBaseSettingsManager.h:301
bool readFactoryDefaultRecord(RecordType &r) const
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 (DtDeS...
Definition: DtBaseSettingsManager.h:43
Contains makVrv::DtReadSettingsLock class.
virtual void createSettings(const std::string &settingsType, const std::string &settingsExt)
Create a settings object with a name and extension.
virtual void importSettings(const std::string &filePath)
Load the settings' state from the given file.
Definition: DtBaseSettingsManager.h:224
Base class to provide boost signal/slot management.
virtual DtDeSettings * settings()
Accessor for the manager's DtDeSettings object.
Definition: DtBaseSettingsManager.h:107
virtual bool getOverriddenFactoryRecord(RecordType &record) const
Get overrides to the factory record, if any. If there are overrides, this function returns true...
Definition: DtBaseSettingsManager.h:424
Settings class for reading and writing settings to/from files.
Definition: DtDeSettings.h:29
virtual void backup()
Backs up settings to backup file. If file does not exist, will create. Emits signal_backedUp when thi...
DtBaseSharedSettingsManager(DtDe &de, const std::string &name, const std::string &displayName, const std::string &ext)
CTOR.
Definition: DtBaseSettingsManager.h:375
virtual void loadDefaults()
Initializes the settings and creates a backup. If the useDefaultSettingsRecord is enabled and a defau...
Definition: DtBaseSettingsManager.h:150
virtual void registerSettingsBackup(DtSettingsBackup *backup)
Registers the settings class with the manager. If the name supplied for registration already exists...
virtual bool getOverriddenFactoryRecord(RecordType &record) const
Get overrides to the factory record, if any. If there are overrides, this function returns true...
Definition: DtBaseSettingsManager.h:335
virtual void setFromRecord(const RecordType &record)=0
Set the current settings' state from the given record (abstract).
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
virtual const DtSettingsBackup * settingsBackup() const
Accessor for the manager's settings backup (const).
Definition: DtBaseSettingsManager.h:138
virtual void setAutoSave(bool doit)
Sets whether autosave is enabled for the settings manager. If autosave is enabled, the settings will be saved as they're changed.
Definition: DtBaseSettingsManager.h:75
virtual void getRecord(RecordType &record) const =0
Store the current settings' state in the given record (abstract).
virtual void setFromRecord(const RecordType &record)
Set the current settings' state from the given record.
Definition: DtBaseSettingsManager.h:402
virtual ~DtCommonBaseSettingsManager()
Virtual DTOR.
Definition: DtBaseSettingsManager.h:58
virtual void exportSettings(const std::string &filePath) const
Save the current settings' state to the given file.
Definition: DtBaseSettingsManager.h:235
virtual bool getOverriddenFactoryRecord(RecordType &record) const =0
Get overrides to the factory record, if any. If there are overrides, this function returns true...
virtual const DtDeInitializer & deInitializer() const
Return the DtDeInitializer.
virtual bool applyFactoryOverrides(RecordType &record) const =0
Get overrides to the factory record, if any. If there are overrides, this function returns true...
The makVrv::DtSharedRecordSettingsBackup is a templaced class that settings records will use in order...
Definition: DtRecordSettingsBackup.h:223
DtRecordSettingsBackup< DtBaseSettingsManager< RecordType >, RecordType > RecordBackupType
Definition: DtBaseSettingsManager.h:288
bool writeDefaultRecord(const RecordType &r)
Write a record as the default settings.
virtual void setFromRecord(const RecordType &record)=0
Set the current settings' state from the given record (abstract).
virtual const DtDeSettings * settings() const
Accessor for the manager's DtDeSettings object (const).
Definition: DtBaseSettingsManager.h:120
static DtSettingsBackupManager & instance(DtDe &de)
Get an instance of the settings manager.