VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
sensorControlDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
17 #include <vrfutil/rwUUID.h>
21 
23 #endif
24 #include <boost/signals2.hpp>
25 
26 #include <QtWidgets/QDialog>
27 
28 #include <matrix/vlVector.h>
29 
30 class QGridLayout;
31 class QVBoxLayout;
32 class QLabel;
33 class QLineEdit;
34 class QPushButton;
35 class QToolButton;
36 class QSlider;
37 class QSignalMapper;
38 class QDialogButtonBox;
39 class QFrame;
40 
41 namespace makVrf
42 {
43  class DtVrfFilteredListView;
44  class DtLocationEntryWidget;
45 
46  class DtSensorTrackEntityDialog;
47  class DtSensorTrackLocationDialog;
48  class DtSensorFieldOfViewStateComponent;
49  class DtSetLaserCodeDialog;
50  class DtTimedSimObjectModifiedSignaler;
51 
53  {
54  Q_OBJECT
55  public:
56  //CTOR
57  DtSensorControlDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
58 
59  //DTOR
60  virtual ~DtSensorControlDialog() override;
61 
62  virtual void setupGui(const std::string& sensorFieldOfViewId, makVrv::DtUniqueID);
63 
64  virtual QSize sizeHint() const override;
65 
67  virtual DtUUID entityUUID() const;
68 
71  virtual const std::string& sensorFieldOfViewId() const;
72 
73  protected:
74 
76  virtual void sendRequest();
77 
79  virtual void sendManualControl(bool on);
80 
82  virtual void sendLasing(bool on);
83 
84  virtual void addFiltersFromCollection(const std::string& filterCollection);
85 
88  virtual void checkJoystickAvailablity();
89 
92  virtual void takeJoystickControl();
93 
95  virtual void releaseJoystickControl();
96 
98  virtual void updateZoomFromState(const DtSensorFieldOfViewStateComponent* s);
99 
101  virtual void updateModeFromState(const DtSensorFieldOfViewStateComponent* s);
102 
104  virtual void slot_onStateViewUpdated();
105 
108  virtual void slot_enableLasing(makVrv::DtUniqueID id);
109 
112  virtual void slot_updateLasingOn(const makVrv::DtElementAttributeManager::EntryAttributesList& l);
113 
114  protected slots:
115  virtual void onUpdate();
116  virtual void onClosed();
117  virtual void onTrackEntity();
118  virtual void onTrackLocation();
119  virtual void onScan();
120  virtual void onJoystick();
121  virtual void onManualControl();
122  virtual void onZoom();
123  virtual void onRateChange();
124  virtual void onLase(bool on);
125  virtual void onDesignatorCodeEdit();
126  virtual void onDesignatorCodeAccepted();
127  virtual void onDesignatorCodeCanceled();
128  virtual void showTrackLocationDialog();
129  virtual void showTrackEntityDialog();
130 
131  public:
132 
133  boost::signals2::signal<void (int, int, int, int)> signal_dialogGeometryUpdated;
134  boost::signals2::signal<void (std::vector<DtUUID> names, const DtSetDataRequest&)> signal_sendSetRequest;
135  boost::signals2::signal<void ()> signal_dialogClosed;
136 
137  protected:
138 
143  std::string myEntityGlobalId;
147  unsigned myColor;
150 
151  public:
152  QGridLayout* myMainLayout;
153 
155  QSlider* myZoomSlider;
156 
158  QSlider* myRateSlider;
159 
169 
174 
178  };
179 
181  {
182  Q_OBJECT
183  public:
184 
185  //CTOR
186  DtSensorTrackEntityDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
187 
188  //DTOR
189  virtual ~DtSensorTrackEntityDialog() override;
190 
191  virtual void setupGui(DtSimObjectReference);
192 
193  virtual DtUUID entityToTrack() const;
194  virtual void setEntityToTrack(const DtUUID& id);
195 
196  void addFiltersFromCollection(const std::string& filterCollection);
197  virtual void giveMapFocusTo();
198 
199  public slots:
200  virtual void takeMapFocusFrom();
201 
202  protected:
203 
204  virtual void showEvent(QShowEvent* event) override;
205 
206  protected:
207 
209 
210  public:
211  QVBoxLayout* myMainLayout;
214  QDialogButtonBox* myButtonBox;
215  };
216 
218  {
219  Q_OBJECT
220  public:
221 
222  //CTOR
223  DtSensorTrackLocationDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
224 
225  //DTOR
226  virtual ~DtSensorTrackLocationDialog() override;
227 
228  virtual void setupGui(DtSimObjectReference);
229 
230  virtual DtVector locationToTrack() const;
231  virtual void setLocationToTrack(const DtVector& location);
232  virtual void giveMapFocusTo();
233 
234  public slots:
235  virtual void takeMapFocusFrom();
236 
237  protected:
238 
241 
242  public:
243  QVBoxLayout* myMainLayout;
245  QDialogButtonBox* myButtonBox;
246  };
247 
250  {
251  public:
255  static DtSensorControlDialogCreator& instance(makVrv::DtDe& de);
256 
259  static void registerInstance(makVrv::DtDe& de,
260  DtSensorControlDialogCreator* instance);
261 
263  virtual DtSensorControlDialog* create(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
264  };
265 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
boost::signals2::signal< void()> signal_dialogClosed
Definition: sensorControlDialog.h:135
DtSensorTrackEntityDialog * myTrackEntityDialog
Definition: sensorControlDialog.h:175
QLabel * myRateLabel
Definition: sensorControlDialog.h:157
QToolButton * myPanDownButton
Definition: sensorControlDialog.h:173
QSlider * myRateSlider
Definition: sensorControlDialog.h:158
unsigned myColor
Definition: sensorControlDialog.h:147
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
bool myManualControlSent
Definition: sensorControlDialog.h:146
makVrv::DtSignalConnectionManager myModifiedConnections
Definition: sensorControlDialog.h:149
DtVector myGeocLocationToTrack
Definition: sensorControlDialog.h:240
Definition: sensorControlDialog.h:52
QFrame * myLaserSeparator
Definition: sensorControlDialog.h:164
Contains the DtUUID class declaration.
makVrv::DtDe & myDe
Definition: sensorControlDialog.h:208
QLabel * myZoomLabel
Definition: sensorControlDialog.h:154
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: sensorFieldOfViewStateComponent.h:21
makVrv::DtSignalConnectionManager myConnections
Definition: sensorControlDialog.h:140
makVrv::DtDe & myDe
Definition: sensorControlDialog.h:239
DtSetLaserCodeDialog * myLaserCodeDialog
Definition: sensorControlDialog.h:177
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
makVrv::DtDe & myDe
Definition: sensorControlDialog.h:139
QVBoxLayout * myMainLayout
Definition: sensorControlDialog.h:211
DtSensorTrackLocationDialog * myTrackLocationDialog
Definition: sensorControlDialog.h:176
QToolButton * myScanButton
Definition: sensorControlDialog.h:162
boost::signals2::signal< void(int, int, int, int)> signal_dialogGeometryUpdated
Definition: sensorControlDialog.h:133
DtVrfFilteredListView * myFilteredListView
Definition: sensorControlDialog.h:212
A widget class for managing a DtVrfTreeWidget of objects which supports user-defined filters...
Definition: vrfFilteredListView.h:64
Definition: setLaserCodeDialog.h:23
DtSensorTrackingMode
Definition: sensorFieldOfViewEnums.h:9
QLabel * myLaserDesignatorCode
Definition: sensorControlDialog.h:167
std::vector< EntryAttributes > EntryAttributesList
Define the type used to signal changes to one or more attributes for one or more elements.
Definition: DtElementAttributeManager.h:44
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QToolButton * myJoystickButton
Definition: sensorControlDialog.h:163
QToolButton * myLaserDesignatorButton
Definition: sensorControlDialog.h:165
std::string myEntityGlobalId
Definition: sensorControlDialog.h:143
QVBoxLayout * myMainLayout
Definition: sensorControlDialog.h:243
double myMaxZoomLevel
Definition: sensorControlDialog.h:145
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtSimObjectReference myStateView
Definition: sensorControlDialog.h:148
DtSensorTrackingMode myCurrentMode
Definition: sensorControlDialog.h:144
DtMapFocusHandler myFilteredListViewManager
Definition: sensorControlDialog.h:213
QToolButton * myTrackEntityButton
Definition: sensorControlDialog.h:160
Definition: sensorControlDialog.h:180
Base class to provide boost signal/slot management.
Definition: sensorControlDialog.h:217
QToolButton * myPanLeftButton
Definition: sensorControlDialog.h:171
QGridLayout * myMainLayout
Definition: sensorControlDialog.h:152
QDialogButtonBox * myButtonBox
Definition: sensorControlDialog.h:214
This class will manage filtered list views for the basic purpose of allowing a single list view in th...
Definition: mapFocusHandler.h:116
Contains the DtElementAttributeManager class declaration.
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:76
Definition: locationEntryWidget.h:47
std::string mySensorFieldOfViewId
Definition: sensorControlDialog.h:141
DtLocationEntryWidget * myTrackLocation
Definition: sensorControlDialog.h:244
Definition: sensorControlDialog.h:248
DtUUID myEntityUUID
Definition: sensorControlDialog.h:142
QDialogButtonBox * myButtonBox
Definition: sensorControlDialog.h:245
QLabel * myLaserDesignatorCodeLabel
Definition: sensorControlDialog.h:166
QToolButton * myPanRightButton
Definition: sensorControlDialog.h:172
QToolButton * myTrackLocationButton
Definition: sensorControlDialog.h:161
QToolButton * myLaserDesignatorCodeEditButton
Definition: sensorControlDialog.h:168
QToolButton * myPanUpButton
Definition: sensorControlDialog.h:170
QSlider * myZoomSlider
Definition: sensorControlDialog.h:155

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)