VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
entityControlPanelWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
17 #endif
18 #include <boost/signals2.hpp>
19 
21 #include <QtWidgets/QWidget>
22 #include <vrfutil/rwAirSpeedType.h>
23 
24 class QGroupBox;
25 class QValidator;
26 class QHBoxLayout;
27 class QLabel;
28 class QComboBox;
29 
30 namespace makVrv
31 {
32  class DtDe;
33 }
34 
35 namespace makVrf
36 {
37  class DtEntityControlPanelWidgetLogic;
38  class DtEntityAttributeSliderWithEditor;
39  class DtEntityAttributeSliderWithEditorAirSpeed;
40  class DtEntityHeadingDial;
41 
43 
46  {
47  Q_OBJECT
48 
49  public:
52  QWidget* parent, const Qt::WindowFlags& flags = 0);
53 
54  //DTOR
55  virtual ~DtEntityControlPanelWidget();
56 
58  virtual void blockSignals(bool);
59  bool signalsBlocked() const;
60 
61  virtual void clear();
62  virtual void init(makVrv::DtUniqueID);
63  virtual void updateOnDataChanged();
64 
65  virtual void setAltitudeRange(double minAlt, double maxAlt);
66  virtual void setAltitudeDecimals(int);
67 
68  virtual void setSpeedRange(double minSpeed, double maxSpeed);
69  virtual void setSpeedDecimals(int);
70 
71  virtual void setAltitudeEnabled(bool enabled);
72 
73  virtual void setAirSpeedTypeEnabled(bool enabled);
74 
75  virtual void setActualHeading(double heading);
76  virtual void setActualAltitude(double altitude);
77  virtual void setActualSpeed(double speed);
78 
79  virtual void setEntityIcon(const QPixmap& icon);
80 
81  virtual void setTerrainHeight(double height);
82 
83  virtual void setRequestedHeading(double heading);
84  virtual void setRequestedAltitude(double altitude);
85  virtual void setRequestedSpeed(double speed);
86 
87  virtual void setMarkingText(const QString& marking);
88  virtual void setPaletteName(const QString& paletteName);
89 
90  virtual void setEnableControl(bool enable);
91  virtual void setDisplayActualData(bool display);
92 
93  virtual double actualHeading() const;
94  virtual double actualAltitude() const;
95  virtual double actualSpeed() const;
96 
97  virtual double requestedHeading() const;
98  virtual double requestedAltitude() const;
99  virtual double requestedSpeed() const;
100  virtual bool speedSliderActive() const;
101  virtual bool headingSliderActive() const;
102  virtual bool altitudeSliderActive() const;
103 
104  virtual double terrainHeight() const;
105 
106  virtual double minimumAlt() const;
107  virtual double maximumAlt() const;
108 
109  virtual double minimumSpeed() const;
110  virtual double maximumSpeed() const;
111 
112  virtual bool isMagneticNorth() const;
113  virtual void setMagneticNorth(bool unit);
114 
115  virtual void refreshDisplayUnitsLabels(const QString& altUnit, const QString& speedUnit);
116 
117  virtual void setAltitudeSliderTitle(const QString& title);
118 
119  virtual void slot_requestedHeadingChanged(double value, bool singleClick);
120  virtual void slot_requestedAltitudeChanged(double value, bool singleClick);
121  virtual void slot_requestedSpeedChanged(double value, bool singleClick);
122  virtual void slot_turnDirectionChanged(int turnDirection);
123  virtual void slot_airSpeedTypeChanged(int type);
124  virtual void slot_northTypeChanged(bool isMagnetic);
125 
126  boost::signals2::signal<void(DtEntityControlPanelWidget*)> signal_aboutToBeClosed;
127 
128  protected:
129  virtual void initLogic();
130  virtual void closeEvent(QCloseEvent*) override;
131 
132  protected:
133 
139 
142 
145 
146  QString myMarkingText;
147  };
148 }
A widget that enable editing an attribute via a DtEntityAttributeSlider or a QLineEdit associated wit...
Definition: entityAttributeSliderWithEditorAirSpeed.h:18
DtEntityControlPanelWidgetLogic * myLogic
Definition: entityControlPanelWidget.h:140
Definition: entityHeadingDial.h:28
makVrv::DtDe & myDe
Definition: entityControlPanelWidget.h:141
boost::signals2::signal< void(DtEntityControlPanelWidget *)> signal_aboutToBeClosed
Definition: entityControlPanelWidget.h:126
DtEntityHeadingDial * myHeadingDial
Definition: entityControlPanelWidget.h:134
QLabel * myPaletteNameLabel
Definition: entityControlPanelWidget.h:138
DtEntityAttributeSliderWithEditorAirSpeed * mySpeedSlider
Definition: entityControlPanelWidget.h:136
An entry widget that controls heading, altitude and speed of selected entities.
Definition: entityControlPanelWidget.h:44
makVrv::DtSignalConnectionManager myConnections
Definition: entityControlPanelWidget.h:144
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
bool myBlockSignals
Definition: entityControlPanelWidget.h:143
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20
Logic of the entity control panel widget: tasks executions, handling selection change, handling data updates and so on.
Definition: entityControlPanelWidgetLogic.h:40
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
QString myMarkingText
Definition: entityControlPanelWidget.h:146
This interface defines the required functions for the entity control panel widget.
Definition: entityControlPanelWidgetInterface.h:38
Base class to provide boost signal/slot management.
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
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
QLabel * myMarkingTextLabel
Definition: entityControlPanelWidget.h:137
A widget that enable editing an attribute via a DtEntityAttributeSlider or a QLineEdit A unit label c...
Definition: entityAttributeSliderWithEditor.h:24
DtEntityAttributeSliderWithEditor * myAltitudeSlider
Definition: entityControlPanelWidget.h:135

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)