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!" );
193 if ( loadOnlyFactorySettings )
213 if (
settings()->readRecordFrom(record,filePath) )
232 virtual void getRecord( RecordType& record )
const = 0;
237 std::vector<std::string>& fileNames) {};
241 virtual void addRecords(RecordType& rec, RecordType& combinedRec) {};
270 template <
typename RecordType>
283 const std::string& displayName,
const std::string& ext )
311 virtual void getRecord( RecordType& record )
const = 0;
331 template <
typename RecordType,
typename SettingsType>
344 const std::string& displayName,
const std::string& ext )
366 writeSettings->backup();
375 settings->setFromRecord( record );
385 settings->getRecord( 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:189
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:271
Base class for shared settings managers. Extends the functionality provided by the DtCommonBaseSettin...
Definition: DtBaseSettingsManager.h:332
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:241
static DtDeSettingsManager & instance(DtDe &de)
Get an instance of the settings manager.
bool myAutoSaveFlag
Definition: DtBaseSettingsManager.h:254
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:359
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:381
DtSignalConnectionManager myConnections
Definition: DtBaseSettingsManager.h:241
std::string myExtension
Definition: DtBaseSettingsManager.h:250
bool findDefaultSettingsRecord(const std::string &name, RecordType &record) const
Find a settings default records.
Definition: DtDeInitializer.h:362
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:350
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:179
bool readDefaultRecord(RecordType &r)
Read a record from the default settings.
DtSharedRecordSettingsBackup< SettingsType, RecordType > SharedRecordBackupType
Definition: DtBaseSettingsManager.h:337
Contains DLL export macros.
DtSettingsBackup * mySettingsBackup
Definition: DtBaseSettingsManager.h:256
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:258
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:282
std::string myDisplayName
Definition: DtBaseSettingsManager.h:251
bool myUseDefaultSettingsRecordFlag
Definition: DtBaseSettingsManager.h:253
virtual void initializeBackup()
Creates a backup of the settings' current state.
Definition: DtBaseSettingsManager.h:298
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:249
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:289
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:236
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.
bool readFactoryDefaultRecord(RecordType &r)
virtual void importSettings(const std::string &filePath)
Load the settings' state from the given file.
Definition: DtBaseSettingsManager.h:210
Base class to provide boost signal/slot management.
virtual DtDeSettings * settings()
Accessor for the manager's DtDeSettings object.
Definition: DtBaseSettingsManager.h:107
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:343
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 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:70
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:370
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:221
virtual const DtDeInitializer & deInitializer() const
Return the DtDeInitializer.
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:276
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.