VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends
makVrv::DtExampleSettingsManager Class Reference

Example Settings Manager. More...

Inheritance diagram for makVrv::DtExampleSettingsManager:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtExampleSettingsManager ()
 DTOR.
Setters/getters for settings
virtual void setDummyVal (int val)
virtual int dummyVal () const
Setting Persistence Methods
void setFromRecord (const DtExampleSettingsRecord &rec)
 Set the current settings' state from the given record.
void getRecord (DtExampleSettingsRecord &rec) const
 Store the current settings' state in the given record.
- Public Member Functions inherited from makVrv::DtBaseSettingsManager< DtExampleSettingsRecord >
 DtBaseSettingsManager (DtDe &de, const std::string &name, const std::string &displayName, const std::string &ext)
 CTOR.
virtual ~DtBaseSettingsManager ()
 Virtual DTOR.
virtual void initializeBackup ()
 Creates a backup of the settings' current state.
- Public Member Functions inherited from makVrv::DtCommonBaseSettingsManager< DtExampleSettingsRecord >
 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).
virtual void loadDefaults ()
 Initializes the settings and creates a backup.
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' state to the given file.
virtual void getSplitRecord (std::vector< DtExampleSettingsRecord > &rec, std::vector< std::string > &fileNames)
 For directory support, split the main record into different sub-records and give them each a file name.
virtual void addRecords (DtExampleSettingsRecord &rec, DtExampleSettingsRecord &combinedRec)
 For directory support, when reading in a directory, add the records from each file to the combined record.
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor.
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor.

Static Public Member Functions

static DtExampleSettingsManagerinstance (DtDe &de)
 Get an instance of the settings manager.

Public Attributes

Boost signals for changed settings
boost::signal< void(int)> signal_dummyValSet

Protected Member Functions

 DtExampleSettingsManager (DtDe &)
 CTOR.

Protected Attributes

int myDummyVal

Friends

template<typename ManagerClass >
ManagerClass & defaultManagerInstanceFunction (DtDe &, bool)
 Befriend the manager instance functions for instance retreival/creation.
template<typename ManagerClass >
void defaultManagerRegisterInstanceFunction (DtDe &, ManagerClass *)
 Befriend the manager instance functions for instance retreival/creation.

Additional Inherited Members

- Protected Types inherited from makVrv::DtBaseSettingsManager< DtExampleSettingsRecord >
typedef DtRecordSettingsBackup
< DtBaseSettingsManager
< DtExampleSettingsRecord >
, DtExampleSettingsRecord
RecordBackupType

Detailed Description

Example Settings Manager.

Constructor & Destructor Documentation

virtual makVrv::DtExampleSettingsManager::~DtExampleSettingsManager ( )
virtual

DTOR.

makVrv::DtExampleSettingsManager::DtExampleSettingsManager ( DtDe )
protected

CTOR.

Member Function Documentation

static DtExampleSettingsManager& makVrv::DtExampleSettingsManager::instance ( DtDe de)
static

Get an instance of the settings manager.

virtual void makVrv::DtExampleSettingsManager::setDummyVal ( int  val)
virtual
virtual int makVrv::DtExampleSettingsManager::dummyVal ( ) const
virtual
void makVrv::DtExampleSettingsManager::setFromRecord ( const DtExampleSettingsRecord rec)
virtual

Set the current settings' state from the given record.

Implements makVrv::DtBaseSettingsManager< DtExampleSettingsRecord >.

void makVrv::DtExampleSettingsManager::getRecord ( DtExampleSettingsRecord rec) const
virtual

Store the current settings' state in the given record.

Implements makVrv::DtBaseSettingsManager< DtExampleSettingsRecord >.

Friends And Related Function Documentation

template<typename ManagerClass >
ManagerClass& defaultManagerInstanceFunction ( DtDe de,
bool  allowedInSlave 
)
friend

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retrieval / creation.

Befriend the manager instance functions for instance retrieval and creation.

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retrieval/creation.

  Manager requirements:
  1) Static instance function
  2) Protected DtSignalConnectionManager named myConnections.
  3) Member functioned called loadDefaults which takes no arguments.
     and loads the default settings of the manager or factory from disk.
  4) define defaultManagerInstanceFunction as friend.
  5) define defaultManagerRegisterInstanceFunction as friend (see below).
  5) Protected Constructor which only takes a DtDe reference.
  @code 

class Manager { public: static Manager& instance(DtDe& de); void loadDefaults(); protected: template <typename managerclass>=""> friend ManagerClass& defaultManagerInstanceFunction(DtDe& de, bool); template <typename managerclass>=""> friend void defaultManagerRegisterInstanceFunction(DtDe& de, ManagerClass* mgr) Manager(DtDe&); DtSignalConnectionManager myConnections; };

  Then simply in the implementation of instance call 
  defaultManagerInstanceFunction with the de object and return the return
  value.
  @code 

Manager& Manager::instance(DtDe& de) { return defaultManagerInstanceFunction<Manager>(de); }

template<typename ManagerClass >
void defaultManagerRegisterInstanceFunction ( DtDe de,
ManagerClass *  mgr 
)
friend

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retrieval / creation.

Befriend the manager instance functions for instance retrieval and creation.

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retrieval/creation.

  @code 

static void Manager::registerInstance(DtDe& de, Manager* mgr) { defaultManagerRegisterInstanceFunction(de,mgr); } ...else where call. // Assuming class NewManager : public Manager Manager::registerInstance(de,new NewManager(de));

Member Data Documentation

boost::signal<void ( int )> makVrv::DtExampleSettingsManager::signal_dummyValSet
int makVrv::DtExampleSettingsManager::myDummyVal
protected

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

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)