VR-Forces 5.0.1 Developer's Guide
 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) 2020 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  bool minimalGridlineLabelsEnabled() const;
52 
54  void setMinimalGridlineLabelsEnabled(bool enabled);
55 
57  bool getNorthSouthGridLineColor(float& r, float& g, float& b, float& a) const;
58 
60  void setNorthSouthGridLineColor(float r, float g, float b, float a);
61 
63  bool getEastWestGridLineColor(float& r, float& g, float& b, float& a) const;
64 
66  void setEastWestGridLineColor(float r, float g, float b, float a);
67 
69  double fixedSpacingAmount(
71 
73  void setFixedSpacingAmount(
75  double amount );
76 
78  double fixedSpacingAmount(
80 
82  void setFixedSpacingAmount(
84  double amount );
85 
88  int minSpacing() const;
89 
92  void setMinSpacing( int pixels );
93 
96 
98  void setGridType( makArchives::DtDisplayUnitsSettingsRecord::CoordSys gridType );
99 
101  bool unitTypeIsAngular() const;
102 
109 
113 
116 
119 
122 
125 
128 
130  void setYOffset( makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits unit, double offset );
131 
133  double longitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
134 
136  void setLongitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, double offset );
137 
139  double latitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit ) const;
140 
142  void setLatitudeOffset( makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits unit, double offset );
143 
146 
149 
152 
155 
157 
160 
161  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys)> signal_gridTypeSet;
162  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits)> signal_unitTypeSet;
163  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits)> signal_angularUnitTypeSet;
164  boost::signalslib::signal<void (float, float, float, float)> signal_northSouthGridlineColorChanged;
165  boost::signalslib::signal<void (float, float, float, float)> signal_eastWestGridlineColorChanged;
166  boost::signalslib::signal<void (bool)> signal_minimalGridlineLabelsEnabled;
167  boost::signalslib::signal<void (bool)> signal_autoSpacingSet;
168  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_fixedSpacingAmountSet;
169  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_fixedAngularSpacingAmountSet;
170  boost::signalslib::signal<void (int)> signal_minSpacingSet;
171  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_xOffsetSet;
172  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_yOffsetSet;
173  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_longitudeOffsetSet;
174  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_latitudeOffsetSet;
175  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs,makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,unsigned int) >signal_decimalPlacesSet;
176  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs,makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,unsigned int)> signal_angularDecimalPlacesSet;
177 
179 
182 
184  void setFromRecord( const makArchives::DtGridLinesSettingsRecord& rec );
185 
187  void getRecord( makArchives::DtGridLinesSettingsRecord& rec ) const;
188 
190 
191  protected:
192 
194  template <typename ManagerClass>
195  friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
196 
198  template <typename ManagerClass>
199  friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
200 
203 
207 
209  void setFixedSpacings( const makArchives::DtGridLinesSettingsRecord& rec );
210 
212  void setXOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
213 
215  void setYOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
216 
218  void setFixedAngularSpacings( const makArchives::DtGridLinesSettingsRecord& rec );
219 
221  void setLongitudeOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
222 
224  void setLatitudeOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
225 
227 
228  protected:
229 
231 
232  };
233 
234 }
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:271
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_yOffsetSet
Definition: DtGridLinesSettingsManager.h:172
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, double)> signal_latitudeOffsetSet
Definition: DtGridLinesSettingsManager.h:174
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits)> signal_unitTypeSet
Definition: DtGridLinesSettingsManager.h:162
makArchives::DtGridLinesSettingsRecord mySettingsRecord
Definition: DtGridLinesSettingsManager.h:230
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, double)> signal_longitudeOffsetSet
Definition: DtGridLinesSettingsManager.h:173
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_fixedSpacingAmountSet
Definition: DtGridLinesSettingsManager.h:168
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:56
boost::signalslib::signal< void(float, float, float, float)> signal_eastWestGridlineColorChanged
Definition: DtGridLinesSettingsManager.h:165
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boost::signalslib::signal< void(bool)> signal_minimalGridlineLabelsEnabled
Definition: DtGridLinesSettingsManager.h:166
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:866
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys)> signal_gridTypeSet
Definition: DtGridLinesSettingsManager.h:161
boost::signalslib::signal< void(int)> signal_minSpacingSet
Definition: DtGridLinesSettingsManager.h:170
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, unsigned int) > signal_decimalPlacesSet
Definition: DtGridLinesSettingsManager.h:175
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:101
boost::signalslib::signal< void(float, float, float, float)> signal_northSouthGridlineColorChanged
Definition: DtGridLinesSettingsManager.h:164
A DtGridLinesSettingsRecord contains the information to save grid line settings.
Definition: DtGridLinesSettingsRecord.h:25
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function. Manager requirements: 1) Static instance function 2) Protected DtS...
Definition: DtDe.h:828
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_xOffsetSet
Definition: DtGridLinesSettingsManager.h:171
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
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, double)> signal_fixedAngularSpacingAmountSet
Definition: DtGridLinesSettingsManager.h:169
voidpf uLong offset
Definition: ioapi.h:42
boost::signalslib::signal< void(bool)> signal_autoSpacingSet
Definition: DtGridLinesSettingsManager.h:167
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits)> signal_angularUnitTypeSet
Definition: DtGridLinesSettingsManager.h:163
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, unsigned int)> signal_angularDecimalPlacesSet
Definition: DtGridLinesSettingsManager.h:176
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)