VR-Forces 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) 2023 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 
158 
160  void setGridOnToolbar(makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, bool included);
161 
163  void setLatLonLabelsCenteringCutoff(int altitude);
164 
166  double latLonLabelsCenteringCutoff() const;
167 
169  void setGarsPolarLatitudeCutoff(double latitude);
170 
172  double garsPolarLatitudeCutoff() const;
173 
175 
178 
179  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys)> signal_gridTypeSet;
180  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits)> signal_unitTypeSet;
181  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits)> signal_angularUnitTypeSet;
182  boost::signalslib::signal<void (float, float, float, float)> signal_northSouthGridlineColorChanged;
183  boost::signalslib::signal<void (float, float, float, float)> signal_eastWestGridlineColorChanged;
184  boost::signalslib::signal<void (bool)> signal_minimalGridlineLabelsEnabled;
185  boost::signalslib::signal<void (bool)> signal_autoSpacingSet;
186  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_fixedSpacingAmountSet;
187  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_fixedAngularSpacingAmountSet;
188  boost::signalslib::signal<void (int)> signal_minSpacingSet;
189  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_xOffsetSet;
190  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,double)> signal_yOffsetSet;
191  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_longitudeOffsetSet;
192  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,double)> signal_latitudeOffsetSet;
193  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs,makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits,unsigned int) >signal_decimalPlacesSet;
194  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs,makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits,unsigned int)> signal_angularDecimalPlacesSet;
195  boost::signalslib::signal<void (double)> signal_latLonLabelsCenteringCutoffSet;
196  boost::signalslib::signal<void (double)> signal_garsPolarLatitudeCutoffSet;
197  boost::signalslib::signal<void (makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, bool)> signal_gridOnToolbarPlacementChanged;
199 
202 
204  void setFromRecord( const makArchives::DtGridLinesSettingsRecord& rec );
205 
207  void getRecord( makArchives::DtGridLinesSettingsRecord& rec ) const;
208 
210 
211  protected:
212 
214  template <typename ManagerClass>
215  friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
216 
218  template <typename ManagerClass>
219  friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
220 
223 
228  virtual bool applyFactoryOverrides(makArchives::DtGridLinesSettingsRecord& rec) const;
229 
233 
235  void setFixedSpacings( const makArchives::DtGridLinesSettingsRecord& rec );
236 
238  void setXOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
239 
241  void setYOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
242 
244  void setFixedAngularSpacings( const makArchives::DtGridLinesSettingsRecord& rec );
245 
247  void setLongitudeOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
248 
250  void setLatitudeOffsets( const makArchives::DtGridLinesSettingsRecord& rec );
251 
253  void setGridToToolbarPresenceMap(const makArchives::DtGridLinesSettingsRecord::GridToToolbarPresenceMap& map);
254 
256  const makArchives::DtGridLinesSettingsRecord::GridToToolbarPresenceMap& gridToToolbarPresenceMap() const;
257 
259 
260  protected:
261 
263 
264  };
265 
266 }
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:291
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_yOffsetSet
Definition: DtGridLinesSettingsManager.h:190
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, double)> signal_latitudeOffsetSet
Definition: DtGridLinesSettingsManager.h:192
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits)> signal_unitTypeSet
Definition: DtGridLinesSettingsManager.h:180
makArchives::DtGridLinesSettingsRecord mySettingsRecord
Definition: DtGridLinesSettingsManager.h:262
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:191
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_fixedSpacingAmountSet
Definition: DtGridLinesSettingsManager.h:186
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
boost::signalslib::signal< void(float, float, float, float)> signal_eastWestGridlineColorChanged
Definition: DtGridLinesSettingsManager.h:183
std::map< DtDisplayUnitsSettingsRecord::CoordSys, bool > GridToToolbarPresenceMap
Definition: DtGridLinesSettingsRecord.h:41
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boost::signalslib::signal< void(bool)> signal_minimalGridlineLabelsEnabled
Definition: DtGridLinesSettingsManager.h:184
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:879
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys)> signal_gridTypeSet
Definition: DtGridLinesSettingsManager.h:179
boost::signalslib::signal< void(int)> signal_minSpacingSet
Definition: DtGridLinesSettingsManager.h:188
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, unsigned int) > signal_decimalPlacesSet
Definition: DtGridLinesSettingsManager.h:193
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:102
boost::signalslib::signal< void(float, float, float, float)> signal_northSouthGridlineColorChanged
Definition: DtGridLinesSettingsManager.h:182
boost::signalslib::signal< void(double)> signal_garsPolarLatitudeCutoffSet
Definition: DtGridLinesSettingsManager.h:196
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:841
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::DistanceUnits, double)> signal_xOffsetSet
Definition: DtGridLinesSettingsManager.h:189
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:72
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, double)> signal_fixedAngularSpacingAmountSet
Definition: DtGridLinesSettingsManager.h:187
boost::signalslib::signal< void(double)> signal_latLonLabelsCenteringCutoffSet
Definition: DtGridLinesSettingsManager.h:195
voidpf uLong offset
Definition: ioapi.h:42
boost::signalslib::signal< void(bool)> signal_autoSpacingSet
Definition: DtGridLinesSettingsManager.h:185
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits)> signal_angularUnitTypeSet
Definition: DtGridLinesSettingsManager.h:181
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, makArchives::DtDisplayUnitsSettingsRecord::OrientationUnits, unsigned int)> signal_angularDecimalPlacesSet
Definition: DtGridLinesSettingsManager.h:194
boost::signalslib::signal< void(makArchives::DtDisplayUnitsSettingsRecord::CoordSys cs, bool)> signal_gridOnToolbarPlacementChanged
Definition: DtGridLinesSettingsManager.h:197
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)