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 <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 
49  class DtSetLaserCodeDialog;
50 
52  {
53  Q_OBJECT
54  public:
55  //CTOR
56  DtSensorControlDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
57 
58  //DTOR
59  virtual ~DtSensorControlDialog();
60 
61  virtual void setupGui(const std::string& sensorFieldOfViewId,
62  makVrv::DtSimEntry* simEntry);
63 
64  virtual QSize sizeHint() const;
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 makVrv::DtVrlinkSensorFieldOfViewState& s);
99 
101  virtual void updateModeFromState(const makVrv::DtVrlinkSensorFieldOfViewState& s);
102 
104  virtual void slot_onStateViewUpdated(makVrv::DtStateView<makVrv::DtVrlinkSensorFieldsOfView>* s);
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;
148 
149  public:
150  QGridLayout* myMainLayout;
151 
153  QSlider* myZoomSlider;
154 
156  QSlider* myRateSlider;
157 
167 
172 
176  };
177 
179  {
180  Q_OBJECT
181  public:
182 
183  //CTOR
184  DtSensorTrackEntityDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
185 
186  //DTOR
187  virtual ~DtSensorTrackEntityDialog();
188 
189  virtual void setupGui(makVrv::DtSimEntry* simEntry);
190 
191  virtual DtUUID entityToTrack() const;
192  virtual void setEntityToTrack(const DtUUID& id);
193 
194  void addFiltersFromCollection(const std::string& filterCollection);
195  virtual void giveMapFocusTo();
196 
197  public slots:
198  virtual void takeMapFocusFrom();
199 
200  protected:
201 
202  virtual void showEvent(QShowEvent* event);
203 
204  protected:
205 
207 
208  public:
209  QVBoxLayout* myMainLayout;
212  QDialogButtonBox* myButtonBox;
213  };
214 
216  {
217  Q_OBJECT
218  public:
219 
220  //CTOR
221  DtSensorTrackLocationDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
222 
223  //DTOR
224  virtual ~DtSensorTrackLocationDialog();
225 
226  virtual void setupGui(makVrv::DtSimEntry* simEntry);
227 
228  virtual DtVector locationToTrack() const;
229  virtual void setLocationToTrack(const DtVector& location);
230  virtual void giveMapFocusTo();
231 
232  public slots:
233  virtual void takeMapFocusFrom();
234 
235  protected:
236 
239 
240  public:
241  QVBoxLayout* myMainLayout;
243  QDialogButtonBox* myButtonBox;
244  };
245 
248  {
249  public:
253  static DtSensorControlDialogCreator& instance(makVrv::DtDe& de);
254 
257  static void registerInstance(makVrv::DtDe& de,
258  DtSensorControlDialogCreator* instance);
259 
261  virtual DtSensorControlDialog* create(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
262  };
263 }
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:173
QLabel * myRateLabel
Definition: sensorControlDialog.h:155
QToolButton * myPanDownButton
Definition: sensorControlDialog.h:171
QSlider * myRateSlider
Definition: sensorControlDialog.h:156
unsigned myColor
Definition: sensorControlDialog.h:147
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
bool myManualControlSent
Definition: sensorControlDialog.h:146
DtVector myGeocLocationToTrack
Definition: sensorControlDialog.h:238
Definition: sensorControlDialog.h:51
A DtSimEntry is a container of DtSimState&#39;s and represents the total state of an simulation object...
Definition: DtSimEntry.h:27
QFrame * myLaserSeparator
Definition: sensorControlDialog.h:162
Contains the DtUUID class declaration.
makVrv::DtDe & myDe
Definition: sensorControlDialog.h:206
QLabel * myZoomLabel
Definition: sensorControlDialog.h:152
makVrv::DtSignalConnectionManager myConnections
Definition: sensorControlDialog.h:140
makVrv::DtDe & myDe
Definition: sensorControlDialog.h:237
DtSetLaserCodeDialog * myLaserCodeDialog
Definition: sensorControlDialog.h:175
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:209
DtSensorTrackLocationDialog * myTrackLocationDialog
Definition: sensorControlDialog.h:174
QToolButton * myScanButton
Definition: sensorControlDialog.h:160
boost::signals2::signal< void(int, int, int, int)> signal_dialogGeometryUpdated
Definition: sensorControlDialog.h:133
DtVrfFilteredListView * myFilteredListView
Definition: sensorControlDialog.h:210
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
A DtStateView is a the interface to simulation state information. Users can create DtStateViews for s...
Definition: DtStateView.h:49
QLabel * myLaserDesignatorCode
Definition: sensorControlDialog.h:165
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:161
QToolButton * myLaserDesignatorButton
Definition: sensorControlDialog.h:163
std::string myEntityGlobalId
Definition: sensorControlDialog.h:143
QVBoxLayout * myMainLayout
Definition: sensorControlDialog.h:241
double myMaxZoomLevel
Definition: sensorControlDialog.h:145
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtSensorTrackingMode myCurrentMode
Definition: sensorControlDialog.h:144
DtMapFocusHandler myFilteredListViewManager
Definition: sensorControlDialog.h:211
QToolButton * myTrackEntityButton
Definition: sensorControlDialog.h:158
Definition: sensorControlDialog.h:178
Base class to provide boost signal/slot management.
Definition: sensorControlDialog.h:215
QToolButton * myPanLeftButton
Definition: sensorControlDialog.h:169
QGridLayout * myMainLayout
Definition: sensorControlDialog.h:150
QDialogButtonBox * myButtonBox
Definition: sensorControlDialog.h:212
This class will manage filtered list views for the basic purpose of allowing a single list view in th...
Definition: mapFocusHandler.h:77
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:72
Definition: locationEntryWidget.h:47
std::string mySensorFieldOfViewId
Definition: sensorControlDialog.h:141
DtLocationEntryWidget * myTrackLocation
Definition: sensorControlDialog.h:242
Definition: sensorControlDialog.h:246
DtUUID myEntityUUID
Definition: sensorControlDialog.h:142
QDialogButtonBox * myButtonBox
Definition: sensorControlDialog.h:243
QLabel * myLaserDesignatorCodeLabel
Definition: sensorControlDialog.h:164
QToolButton * myPanRightButton
Definition: sensorControlDialog.h:170
QToolButton * myTrackLocationButton
Definition: sensorControlDialog.h:159
QToolButton * myLaserDesignatorCodeEditButton
Definition: sensorControlDialog.h:166
QToolButton * myPanUpButton
Definition: sensorControlDialog.h:168
QSlider * myZoomSlider
Definition: sensorControlDialog.h:153

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)