VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDisplayUnitsSettingsWidget.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 #if !defined(Q_MOC_RUN)
13 #include <vrvCoreQt/vrvCoreQt.h>
15 #endif
16 
17 #include <QtWidgets/QWidget>
18 
19 class QLabel;
20 class QComboBox;
21 class QSpinBox;
22 class QSpacerItem;
23 class QGridLayout;
24 class QVBoxLayout;
25 class QHBoxLayout;
26 
27 namespace makVrv
28 {
29 
33  : public QWidget
35  { Q_OBJECT;
36 
38 
39  public:
40 
43  DtDe& de,
44  QWidget* parent,
45  Qt::WindowFlags f = Qt::Widget );
46 
49 
54  virtual void addDisplayUnitToUI(
55  const DtUnicode& displayUnitCollectionName,
56  const DtUnicode& displayUnitName,
58 
63  virtual void updateDisplayUnitUnit(
64  const std::string& displayUnitCollectionName,
65  const std::string& displayUnitName,
66  unsigned int unitEnumValue );
67 
72  virtual void updateDisplayUnitDecimals(
73  const std::string& displayUnitCollectionName,
74  const std::string& displayUnitName,
75  unsigned int decimals );
76 
85  virtual void updateDisplayUnitName(
86  const DtUnicode& displayUnitCollectionName,
87  const DtUnicode& displayUnitName,
88  const DtUnicode& newDisplayName
89  );
90 
98  virtual void setDisplayUnitDecimalsQSpinBoxVisible(
99  const std::string& displayUnitCollectionName,
100  const std::string& displayUnitName,
101  bool isVisible
102  );
103 
105  virtual void addSuppressMagneticNorthNotationCheckBox();
106 
108  virtual void setSuppressMagneticNorthNotationEnabled(bool enabled);
109 
112  virtual void addObjectTypeToUI( const DtUnicode& objectType );
113 
116  virtual std::string currentObjectType() const;
117 
126  virtual void populateDisplayUnitComboBoxes(
128  const DtUnicode& name,
129  unsigned int unitEnumValue);
130 
132  virtual void clear( );
133 
134  protected slots:
135 
136  void slot_onObjectTypeChanged( int index );
137  void slot_onDisplayUnitUnitChanged( int unit );
138  void slot_onDisplayUnitDecimalsChanged( int decimals );
139  void slot_onSuppressMagneticNorthNotationCheckboxChanged( int state );
140 
141  public:
142 
143  QGridLayout *myMainLayout;
144 
145  QHBoxLayout *myObjectTypeLayout;
148 
150 
151  std::map<std::string, std::set<QWidget*>> myDynamicWidgets;
152  std::map<std::string, unsigned int> myDynamicWidgetsLayoutIndices;
153 
154  std::map<makArchives::DtDisplayUnitsSettingsRecord::DisplayUnitType, std::set<QComboBox*>> myComboBoxesByDisplayUnitType;
155 
156  protected:
157 
170  virtual void setupGui();
171 
177  virtual std::string getDisplayUnitKey(
178  const std::string& displayUnitCollectionName,
179  const std::string& displayUnitName ) const;
180 
182 
189  unsigned int myNextAvailableObjectRowIndex; // Default value is 0
190  unsigned int myNextAvailableApplicationRowIndex; // Default value is 50
191  unsigned int myNextAvailableWeatherRowIndex; // Default value is 100
192 
193  };
194 
198  : public DtVirtualBaseClass
199  {
200  public:
201  static DtDisplayUnitsSettingsWidgetCreator& instance(DtDe& de);
202  static void registerInstance(DtDe& de, DtDisplayUnitsSettingsWidgetCreator* creator);
203  virtual DtDisplayUnitsSettingsWidget* create(DtDe& de, QWidget* parent) const;
204  };
205 
206 }
unsigned int myNextAvailableWeatherRowIndex
Definition: DtDisplayUnitsSettingsWidget.h:191
Virtual base class.
Definition: DtVirtualBaseClass.h:19
A unicode string.
Definition: DtUnicode.h:33
std::map< std::string, unsigned int > myDynamicWidgetsLayoutIndices
Definition: DtDisplayUnitsSettingsWidget.h:152
QComboBox * myObjectTypeComboBox
Definition: DtDisplayUnitsSettingsWidget.h:147
*virtual const DtObjectType & objectType() const
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
QHBoxLayout * myObjectTypeLayout
Definition: DtDisplayUnitsSettingsWidget.h:145
Contains DLL export macros.
DtDe & myDe
Definition: DtDisplayUnitsSettingsWidget.h:181
QLabel * myObjectTypeLabel
Definition: DtDisplayUnitsSettingsWidget.h:146
std::map< std::string, std::set< QWidget * > > myDynamicWidgets
Definition: DtDisplayUnitsSettingsWidget.h:151
DisplayUnitType
Enumeration of the different display unit types.
Definition: DtDisplayUnitsSettingsRecord.h:159
std::map< makArchives::DtDisplayUnitsSettingsRecord::DisplayUnitType, std::set< QComboBox * > > myComboBoxesByDisplayUnitType
Definition: DtDisplayUnitsSettingsWidget.h:154
Interface for the settings widget to communicate with its logic.
Definition: DtDisplayUnitsSettingsInterface.h:27
QGridLayout * myMainLayout
Definition: DtDisplayUnitsSettingsWidget.h:143
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Creator for the DtDisplayUnitsSettingsWidget.
Definition: DtDisplayUnitsSettingsWidget.h:197
QLabel * myDecimalPlacesLabel
Definition: DtDisplayUnitsSettingsWidget.h:149
unsigned int myNextAvailableApplicationRowIndex
Definition: DtDisplayUnitsSettingsWidget.h:190
unsigned int myNextAvailableObjectRowIndex
These are used to maintain the next free row in the QGridLayout so display units can continually be a...
Definition: DtDisplayUnitsSettingsWidget.h:189
This class displays the display units.
Definition: DtDisplayUnitsSettingsWidget.h:32
Interface for the display units settings dialog.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)