VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtGridLinesPage.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
13 
15 #include <vrvCoreQt/DtPage.h>
16 
17 class QButtonGroup;
18 class QComboBox;
19 class QDoubleSpinBox;
20 class QGroupBox;
21 class QHBoxLayout;
22 class QLabel;
23 class QRadioButton;
24 class QSpinBox;
25 class QVBoxLayout;
26 class QGridLayout;
27 class QCheckBox;
28 
29 namespace makVrv
30 {
31 
32  class DtVirtualBaseClass;
33  class DtPersistenceToolbarWidget;
34  class DtColorPushButton;
35 
39  : public DtPage, public DtGridLinesInterface
40  { Q_OBJECT;
41  public:
42 
44  DtGridLinesPage( DtDe& de, QWidget* parent = 0, Qt::WindowFlags f = 0 );
45 
47  virtual ~DtGridLinesPage();
48 
50  virtual QIcon icon();
51 
54  virtual DtQIconConfigurations qIconConfigurations() const;
55 
57  virtual QString title();
58 
60  virtual const std::string& pageClassName() const;
61 
63  static const std::string& thePageClassName();
64 
66  virtual void setNorthSouthGridLineColor(float r, float g, float b, float a);
67 
69  virtual void setEastWestGridLineColor(float r, float g, float b, float a);
70 
72  virtual void setMinimalGridlineLabelsEnabled(bool enabled);
73 
75  virtual void setAutoSpacing( bool autoSpacing );
76 
78  virtual void setFixedSpacingAmount( double amount );
79 
81  virtual void setMaxFixedSpacing( double maxSpacing );
82 
84  virtual void setMinFixedSpacing( double minSpacing );
85 
87  virtual void setGridType(
89 
91  virtual void clearGridTypes();
92 
94  virtual void disableAllGridTypes();
95 
97  virtual void addGridType(const DtUnicode& gridName,
99 
101  virtual void setXOffset( double offset );
102 
104  virtual void setYOffset( double offset );
105 
107  virtual void setMinSpacing( int pixels );
108 
110  virtual void setUnitType(
112 
113  virtual void setUnitType(
115 
117  virtual void clearUnitTypes();
118 
120  virtual void setUnitTypeEnabled(
122  virtual void setUnitTypeEnabled(
124 
126  virtual void addUnitType( const DtUnicode& unitName,
128 
129  virtual void addUnitType( const DtUnicode& unitName,
131 
133  virtual void setDecimals( unsigned decimals );
134 
136  virtual void setFixedSpacingAmountEnabled( bool enabled );
137 
139  virtual void setMinSpacingEnabled( bool enabled );
140 
143  virtual void setGridTypeEnabled(
145 
147  virtual void setDecimalsEnabled( bool enabled );
148 
149  protected slots:
150 
152  void on_gridTypeCombo_currentIndexChanged( int index );
153 
155  void on_unitTypeCombo_currentIndexChanged( int index );
156 
158  void on_northSouthColorChanged(const QColor&);
159 
161  void on_eastWestColorChanged(const QColor&);
162 
164  void on_minimalGridlineLabelsCheckBoxToggled( int state );
165 
167  void on_autoSpacingRadioButtonClicked();
168 
170  void on_fixedSpacingRadioButtonClicked();
171 
173  void on_fixedSpacingAmountChanged( double val );
174 
176  void on_minSpacingChanged( int val );
177 
179  void on_xOffsetChanged( double val );
180 
182  void on_yOffsetChanged( double val );
183 
185  void on_decimalsChanged( int decimals );
186 
187  protected:
188 
191  void setupGui();
192 
195  void connectToSignals();
196 
198  virtual void activate();
199 
201  virtual void deactivate();
202 
204  QString notation(
206  QString notation(
208  void setupUnitLabels( const QString& notation );
209 
210  public:
211 
213 
214  QGridLayout* myGridTypeLayout;
217 
220 
223 
226 
227  QButtonGroup* mySpacingButtonGroup;
235 
236  QHBoxLayout* myXOffsetLayout;
237  QHBoxLayout* myYOffsetLayout;
242 
243  protected:
244 
246  std::string myClassName;
248 
249  };
250 
251 
255 }
std::string myClassName
Definition: DtGridLinesPage.h:246
A widget that displays a persistence GUI in some way Operations presented are import, export, save, and restore.
Definition: DtPersistenceToolbarWidget.h:26
QLabel * mySpacingAmountLabel
Definition: DtGridLinesPage.h:231
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
QRadioButton * myAutoSpacingRadioButton
Definition: DtGridLinesPage.h:229
QDoubleSpinBox * myYOffsetSpinBox
Definition: DtGridLinesPage.h:241
Contains makVrv::DtPage class.
QComboBox * myUnitTypeComboBox
Definition: DtGridLinesPage.h:219
DtPageCreatorTemplate< DtGridLinesPage > DtGridLinesPageCreator
Creator type for creating new DtGridLinesPages.
Definition: DtGridLinesPage.h:254
A push-button that displays a current color and pops up a color picker dialog when pressed...
Definition: DtColorPushButton.h:26
QSpinBox * myMinSpacingSpinBox
Definition: DtGridLinesPage.h:234
QLabel * myUnitTypeLabel
Definition: DtGridLinesPage.h:218
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
QRadioButton * myFixedSpacingRadioButton
Definition: DtGridLinesPage.h:230
Contains DLL export macros.
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
Definition: DtPage.h:150
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:56
QLabel * myYOffsetLabel
Definition: DtGridLinesPage.h:239
QHBoxLayout * myXOffsetLayout
Definition: DtGridLinesPage.h:236
DtColorPushButton * myEastWestColorButton
Definition: DtGridLinesPage.h:225
QLabel * myXOffsetLabel
Definition: DtGridLinesPage.h:238
QCheckBox * myMinimalGridlineLabelsCheckbox
Definition: DtGridLinesPage.h:228
Contains the DtGridLinesInterface.
bool myUsingAngularUnits
Definition: DtGridLinesPage.h:247
DtVirtualBaseClass * myLogic
Definition: DtGridLinesPage.h:245
QDoubleSpinBox * mySpacingAmountSpinBox
Definition: DtGridLinesPage.h:233
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:30
The interface used by the DtGridLinesPage and the DtGridLinesLogic.
Definition: DtGridLinesInterface.h:24
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:101
DtColorPushButton * myNorthSouthColorButton
Definition: DtGridLinesPage.h:224
QComboBox * myGridTypeComboBox
Definition: DtGridLinesPage.h:216
QSpinBox * myDecimalsSpinBox
Definition: DtGridLinesPage.h:222
DtPersistenceToolbarWidget * myToolbar
Definition: DtGridLinesPage.h:212
QDoubleSpinBox * myXOffsetSpinBox
Definition: DtGridLinesPage.h:240
QHBoxLayout * myYOffsetLayout
Definition: DtGridLinesPage.h:237
QLabel * myGridTypeLabel
Definition: DtGridLinesPage.h:215
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
QGridLayout * myGridTypeLayout
Definition: DtGridLinesPage.h:214
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:75
voidpf uLong offset
Definition: ioapi.h:42
QButtonGroup * mySpacingButtonGroup
Definition: DtGridLinesPage.h:227
QLabel * myDecimalsLabel
Definition: DtGridLinesPage.h:221
QLabel * myMinSpacingLabel
Definition: DtGridLinesPage.h:232
The grid lines page, controls for configuring grid lines.
Definition: DtGridLinesPage.h:38

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)