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;
257 std::vector<std::string>& fileNames) {};
261 virtual void addRecords(RecordType& rec, RecordType& combinedRec) {};
290 template <
typename RecordType>
303 const std::string& displayName,
const std::string& ext )
331 virtual void getRecord( RecordType& record )
const = 0;
371 template <
typename RecordType,
typename SettingsType>
384 const std::string& displayName,
const std::string& ext )
406 writeSettings->backup();
415 settings->setFromRecord( record );
425 settings->getRecord( record );
442 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:291
Base class for shared settings managers. Extends the functionality provided by the DtCommonBaseSettin...
Definition: DtBaseSettingsManager.h:372
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).
virtual void addRecords(RecordType &rec, RecordType &combinedRec)
For directory support, when reading in a directory, add the records from each file to the combined re...
Definition: DtBaseSettingsManager.h:261
static DtDeSettingsManager & instance(DtDe &de)
Get an instance of the settings manager.
bool myAutoSaveFlag
Definition: DtBaseSettingsManager.h:274
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:399
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:421
DtSignalConnectionManager myConnections
Definition: DtBaseSettingsManager.h:261
std::string myExtension
Definition: DtBaseSettingsManager.h:270
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:390
The makVrv::DtRecordSettingsBackup is a templaced class that settings records will use in order to ba...
Definition: DtRecordSettingsBackup.h:100
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:377
Contains DLL export macros.
DtSettingsBackup * mySettingsBackup
Definition: DtBaseSettingsManager.h:276
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:278
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:302
std::string myDisplayName
Definition: DtBaseSettingsManager.h:271
bool myUseDefaultSettingsRecordFlag
Definition: DtBaseSettingsManager.h:273
virtual void initializeBackup()
Creates a backup of the settings' current state.
Definition: DtBaseSettingsManager.h:318
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:269
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:309
virtual void getSplitRecord(std::vector< RecordType > &rec, std::vector< std::string > &fileNames)
For directory support, split the main record into different sub-records and give them each a file nam...
Definition: DtBaseSettingsManager.h:256
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:432
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:383
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:343
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:72
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:410
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:197
DtRecordSettingsBackup< DtBaseSettingsManager< RecordType >, RecordType > RecordBackupType
Definition: DtBaseSettingsManager.h:296
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.