VR-Forces 4.0.4 Class Documentation
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends
makVrv::DtDisplayUnitsSettingsManager Class Reference

Manager for the display units settings. More...

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

List of all members.

Public Member Functions

virtual ~DtDisplayUnitsSettingsManager ()
 DTOR.
DtDisplayUnitsConverterconverter ()
 Returns the manager's internal converter.
Setters
void setCoordinateSystem (DtDisplayUnitsConverter::CoordSys cs)
void setDistanceUnits (DtDisplayUnitsConverter::DistanceUnits distUnits)
void setAltitudeUnits (DtDisplayUnitsConverter::DistanceUnits altUnits)
void setVelocityUnits (DtDisplayUnitsConverter::VelocityUnits velocityUnits)
void setOrientationUnits (DtDisplayUnitsConverter::OrientationUnits oriUnits)
void setAccelerationUnits (DtDisplayUnitsConverter::AccelerationUnits accelUnits)
void setRotationalVelocityUnits (DtDisplayUnitsConverter::RotVelocityUnits wUnits)
void setCoordinateSystemDecimals (DtDisplayUnitsConverter::CoordSys cs, int decimals)
void setDistanceUnitDecimals (DtDisplayUnitsConverter::DistanceUnits distUnit, int decimals)
void setAltitudeUnitDecimals (DtDisplayUnitsConverter::DistanceUnits altUnit, int decimals)
void setVelocityUnitDecimals (DtDisplayUnitsConverter::VelocityUnits velocityUnit, int decimals)
void setOrientationUnitDecimals (DtDisplayUnitsConverter::OrientationUnits oriUnit, int decimals)
void setAccelerationUnitDecimals (DtDisplayUnitsConverter::AccelerationUnits accelUnit, int decimals)
void setRotationalVelocityUnitDecimals (DtDisplayUnitsConverter::RotVelocityUnits wUnit, int decimals)
Setting persistence methods
virtual void setFromRecord (const makArchives::DtDisplayUnitsSettingsRecord &rec)
 Use the settings from the given settings record.

Static Public Member Functions

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

Protected Member Functions

 DtDisplayUnitsSettingsManager (DtDe &de)
 Protected CTOR ( use instance(..) )
virtual void slot_initializeSynchronizer ()
 Initializes the synchronizer agent to keep RDE settings in sync.
virtual void slot_displayEngineAdded (const DtDeRecord &deRec)
 Receives notification that a new De has been connected.

Protected Attributes

DtDisplayUnitsConvertermyDisplayUnitsConverter
DtDisplayUnitsSettingsSynchronizerAgent * mySettingsSynchronizer

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.

Detailed Description

Manager for the display units settings.


Constructor & Destructor Documentation

DTOR.

Protected CTOR ( use instance(..) )


Member Function Documentation

Get an instance of the settings manager.

Use the settings from the given settings record.

Overridden to perform some validation on the settings in the record.

Reimplemented from makVrv::DtBaseSharedSettingsManager< makArchives::DtDisplayUnitsSettingsRecord, DtSharedDisplayUnitsSettings >.

Returns the manager's internal converter.

Initializes the synchronizer agent to keep RDE settings in sync.

Instantiates a synchronizer (DtDisplayUnitsSettingsSynchronizerAgent) to keep remote De's display units settings manager's in sync with the master De's settings manager. Also connects to the IG communicator's clientAdded signal so the synchronizer can be reinitialized when a new De is connected.

virtual void makVrv::DtDisplayUnitsSettingsManager::slot_displayEngineAdded ( const DtDeRecord deRec) [protected, virtual]

Receives notification that a new De has been connected.

Re-initializes the synchronizer so the new De's settings manager can be kept up to date.

See also:
slot_initializeSynchronizer()

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 retreival/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.

 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.

 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 retreival/creation.

 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

DtDisplayUnitsSettingsSynchronizerAgent* makVrv::DtDisplayUnitsSettingsManager::mySettingsSynchronizer [protected]

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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)