VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtGridLinesSettingsManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2012 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
15 
17 
18 namespace makArchives
19 {
20  class DtGridLinesSettingsRecord;
21 }
22 
23 namespace makVrv
24 {
25 
26  class DtDe;
27 
31  : public DtBaseSettingsManager<makArchives::DtGridLinesSettingsRecord>
32  {
33  public:
34 
36  static DtGridLinesSettingsManager& instance( DtDe& de );
37 
39  virtual ~DtGridLinesSettingsManager();
40 
43 
45  bool autoSpacing() const;
46 
48  void setAutoSpacing( bool autoSpacing );
49 
51  double fixedSpacingAmount(
53 
55  void setFixedSpacingAmount(
57  double amount );
58 
60  double fixedSpacingAmount(
62 
64  void setFixedSpacingAmount(
66  double amount );
67 
70  int minSpacing() const;
71 
74  void setMinSpacing( int pixels );
75 
78 
80  void setGridType( makArchives::DtDisplayUnitsSettingsRecord::CoordSys gridType );
81 
83  bool unitTypeIsAngular() const;
84 
91 
95 
98 
101 
104 
107 
110 
112  void setYOffset( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit, double offset );
113 
115  double longitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
116 
118  void setLongitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, double offset );
119 
121  double latitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
122 
124  void setLatitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, double offset );
125 
127  unsigned decimalPlaces( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit ) const;
128 
130  void setDecimalPlaces( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit, unsigned amount );
131 
133  unsigned decimalPlaces( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
134 
136  void setDecimalPlaces( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, unsigned amount );
137 
139 
142 
143  boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys)> signal_gridTypeSet;
144  boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits)> signal_unitTypeSet;
145  boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits)> signal_angularUnitTypeSet;
146  boost::signal<void (bool)> signal_autoSpacingSet;
147  boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_fixedSpacingAmountSet;
148  boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_fixedAngularSpacingAmountSet;
149  boost::signal<void (int)> signal_minSpacingSet;
150  boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_xOffsetSet;
151  boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_yOffsetSet;
152  boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_longitudeOffsetSet;
153  boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_latitudeOffsetSet;
154  boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,unsigned) >signal_decimalPlacesSet;
155  boost::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,unsigned)> signal_angularDecimalPlacesSet;
156 
158 
161 
163  void setFromRecord( const makArchives::DtGridLinesSettingsRecord& rec );
164 
166  void getRecord( makArchives::DtGridLinesSettingsRecord& rec ) const;
167 
169 
170  protected:
171 
173  template <typename ManagerClass>
174  friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
175 
177  template <typename ManagerClass>
178  friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
179 
182 
186 
188  void setFixedSpacings( const makArchives::DtGridLinesSettingsRecord& rec );
189 
191  void setXOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
192 
194  void setYOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
195 
197  void setFixedAngularSpacings( const makArchives::DtGridLinesSettingsRecord& rec );
198 
200  void setLongitudeOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
201 
203  void setLatitudeOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
204 
206 
207  protected:
208 
210 
211  };
212 
213 }
boost::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_fixedSpacingAmountSet
Definition: DtGridLinesSettingsManager.h:147
Base class for (non-shared) settings managers.
Definition: DtBaseSettingsManager.h:271
boost::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys)> signal_gridTypeSet
Definition: DtGridLinesSettingsManager.h:143
boost::signal< void(int)> signal_minSpacingSet
Definition: DtGridLinesSettingsManager.h:149
boost::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_yOffsetSet
Definition: DtGridLinesSettingsManager.h:151
boost::signal< void(bool)> signal_autoSpacingSet
Definition: DtGridLinesSettingsManager.h:146
boost::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_xOffsetSet
Definition: DtGridLinesSettingsManager.h:150
makArchives::DtGridLinesSettingsRecord mySettingsRecord
Definition: DtGridLinesSettingsManager.h:209
boost::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, double)> signal_fixedAngularSpacingAmountSet
Definition: DtGridLinesSettingsManager.h:148
boost::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits)> signal_angularUnitTypeSet
Definition: DtGridLinesSettingsManager.h:145
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:53
boost::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, unsigned) > signal_decimalPlacesSet
Definition: DtGridLinesSettingsManager.h:154
boost::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, double)> signal_latitudeOffsetSet
Definition: DtGridLinesSettingsManager.h:153
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boost::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits)> signal_unitTypeSet
Definition: DtGridLinesSettingsManager.h:144
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:840
The settings manager for grid lines settings.
Definition: DtGridLinesSettingsManager.h:30
Contains the DtGridLinesSettingsRecord class declaration.
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:87
boost::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, unsigned)> signal_angularDecimalPlacesSet
Definition: DtGridLinesSettingsManager.h:155
A DtGridLinesSettingsRecord contains the information to save grid line settings.
Definition: DtGridLinesSettingsRecord.h:25
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function.
Definition: DtDe.h:802
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
voidpf uLong offset
Definition: ioapi.h:42
boost::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, double)> signal_longitudeOffsetSet
Definition: DtGridLinesSettingsManager.h:152
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)