VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtGridLinesSettingsManager.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002  * Copyright (c) 2012 MAK Technologies, Inc.
00003  * All rights reserved.
00004  *****************************************************************************/
00005 
00009 
00010 #pragma once
00011 
00012 #include <vrvCore/vrvCore.h>
00013 
00014 #include <vrvUtil/DtBaseSettingsManager.h>
00015 
00016 #include <makArchives/DtGridLinesSettingsRecord.h>
00017 
00018 namespace makArchives
00019 {
00020    class DtGridLinesSettingsRecord;
00021 }
00022 
00023 namespace makVrv
00024 {
00025 
00026    class DtDe;
00027 
00030    class DT_DLL_VRVCORE DtGridLinesSettingsManager
00031       : public DtBaseSettingsManager<makArchives::DtGridLinesSettingsRecord>
00032    {
00033    public:
00034 
00036       static DtGridLinesSettingsManager& instance( DtDe& de );
00037 
00039       virtual ~DtGridLinesSettingsManager();
00040 
00043 
00045       bool autoSpacing() const;
00046 
00048       void setAutoSpacing( bool autoSpacing );
00049 
00051       double fixedSpacingAmount(
00052          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit) const;
00053 
00055       void setFixedSpacingAmount(
00056          makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit,
00057          double amount );
00058 
00060       double fixedSpacingAmount(
00061          makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit) const;
00062 
00064       void setFixedSpacingAmount(
00065          makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit,
00066          double amount );
00067 
00070       int minSpacing() const;
00071 
00074       void setMinSpacing( int pixels );
00075 
00077       makArchives::DtDisplayUnitsSettingsRecord::CoordSys gridType() const;
00078 
00080       void setGridType( makArchives::DtDisplayUnitsSettingsRecord::CoordSys gridType );
00081 
00083       bool unitTypeIsAngular() const;
00084 
00090       makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unitType() const;
00091 
00094       makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits angularUnitType() const;
00095 
00097       void setUnitType( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit );
00098 
00100       void setUnitType( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit );
00101 
00103       double xOffset( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit ) const;
00104 
00106       void setXOffset( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit, double offset );
00107 
00109       double yOffset( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit ) const;
00110 
00112       void setYOffset( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit, double offset );
00113 
00115       double longitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
00116 
00118       void setLongitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, double offset );
00119 
00121       double latitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
00122 
00124       void setLatitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, double offset );
00125 
00127       unsigned decimalPlaces( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit ) const;
00128 
00130       void setDecimalPlaces( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit, unsigned amount );
00131 
00133       unsigned decimalPlaces( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
00134 
00136       void setDecimalPlaces( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, unsigned amount );
00137 
00139 
00142 
00143       boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys)> signal_gridTypeSet;
00144       boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits)> signal_unitTypeSet;
00145       boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits)> signal_angularUnitTypeSet;
00146       boost::signal<void (bool)> signal_autoSpacingSet;
00147       boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_fixedSpacingAmountSet;
00148       boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_fixedAngularSpacingAmountSet;
00149       boost::signal<void (int)> signal_minSpacingSet;
00150       boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_xOffsetSet;
00151       boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_yOffsetSet;
00152       boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_longitudeOffsetSet;
00153       boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_latitudeOffsetSet;
00154       boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,unsigned) >signal_decimalPlacesSet;
00155       boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,unsigned)> signal_angularDecimalPlacesSet;
00156 
00158 
00161 
00163       void setFromRecord( const makArchives::DtGridLinesSettingsRecord& rec );
00164 
00166       void getRecord( makArchives::DtGridLinesSettingsRecord& rec ) const;
00167 
00169 
00170    protected:
00171 
00173       template <typename ManagerClass>
00174       friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
00175 
00177       template <typename ManagerClass>
00178       friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
00179 
00181       DtGridLinesSettingsManager( DtDe& );
00182 
00186 
00188       void setFixedSpacings( const makArchives::DtGridLinesSettingsRecord& rec );
00189 
00191       void setXOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
00192 
00194       void setYOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
00195 
00197       void setFixedAngularSpacings( const makArchives::DtGridLinesSettingsRecord& rec );
00198 
00200       void setLongitudeOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
00201 
00203       void setLatitudeOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
00204 
00206 
00207    protected:
00208 
00209       makArchives::DtGridLinesSettingsRecord mySettingsRecord;
00210 
00211    };
00212 
00213 }

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)