VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
boxObjectDefinitionDialog.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 #pragma once
11 
12 #if !defined(Q_MOC_RUN)
16 #include "DtBoxObjectDefinitionWidgetUi.hpp"
19 #endif
20 
23 
24 class DtSetDataRequest;
25 class QDoubleValidator;
26 
27 namespace makVrf
28 {
29  class DtExtendedLabelsEntryWidget;
30  class DtVrfObjectManipulationHandlerBaseClass;
31  class DtBoxObjectDefinitionDialog;
32  class DtHeadingEntryWidget;
33  class DtForceSelectionEntryWidget;
34  class DtAltitudeEntryWidget;
35  class DtEmbarkationWidget;
36  class DtOverlayParentEntryWidget;
37 
42  {
43 
44  public:
45 
48 
51 
53  virtual void createConnections();
54 
56  virtual void terminateConnections();
57 
59  virtual void processObjectCreation();
60 
62  virtual void processObjectUpdate();
63 
64  virtual void setLocationValid(bool);
65 
67  virtual void processDoneRequest();
68 
70  virtual void processCloseRequest();
71 
73  virtual void processLengthChanged(double value);
74 
76  virtual void processWidthChanged(double value);
77 
79  virtual void processReviewMouseClicks(bool flag);
80 
82  virtual void processNamePrefixEdited(const std::string& name);
83 
85  virtual void processPopulateDialog(const makVrv::DtUniqueID&);
86 
88  virtual void populateOverlays();
89 
91  virtual void setForce(int);
92 
94  virtual void processLocationChanged();
95 
97  virtual void setupGui();
98 
100  virtual void populateDialogWithStmt(const DtCreateObjectCommand* cmd);
101 
103  virtual void slot_lineWidthChanged(int);
104 
106  virtual void slot_penStyleChanged(int);
107 
109  virtual void slot_fillDataChanged(int);
110 
111  virtual int fillStyle() const;
112 
113  virtual void slot_onFloorChanged(double);
114  virtual void slot_onCeilingChanged(double);
115  virtual void slot_onFloorSet(double);
116  virtual void slot_onCeilingSet(double);
117 
119  virtual void objectCreated();
120 
121  virtual void headingChanged();
122 
123  virtual void updateButtons();
124 
125  virtual void setActivationTime();
126 
128  virtual void setEmbarkationInformation(makVrv::DtUniqueID, bool);
129 
130  virtual void blockConnections(bool);
131 
132  protected:
133 
135  virtual void setupActivationTime(const DtSetDataRequest& setReq);
136 
138  virtual void cancelDialog();
139 
141  virtual void closeDialog();
142 
144  virtual void updateValues();
145 
147  virtual void slot_onHandlerStopped(DtVrfObjectManipulationHandlerBaseClass* handler);
148 
150  virtual void slot_onPlacement(const DtVector& loc);
151 
153  virtual void slot_onLocationSet(const DtVector& loc);
154 
156  virtual void slot_onOverlayNameChanged(const std::string& name);
157 
159  virtual void slot_onColorChanged(int);
160 
162  virtual void slot_onForceChanged(int);
163 
165  virtual void slot_displayUnitChanged(makVrv::DtUnitConverterCollection::DisplayUnitType type, int unit, int oldUnit);
166 
169  virtual void slot_displayUnitDecimalsChanged(
171 
173  virtual void processLabelEdited(const std::string& name);
174 
176  virtual void processExtendedLabelsEdited(const std::map<int, DtString>& name);
177 
178  virtual void slot_headingChangedByMouse(double headingInDeg);
179 
181  virtual void slot_onPublishObjectChanged(bool);
182 
183  virtual void slot_onCoordinateSystemChanged();
184 
185  protected:
193  };
194 
195 
200  {
201 
202  Q_OBJECT
203 
204  public:
205 
207  DtBoxObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="", DtDialogInteractionMode mode=DtCreationMode);
208 
210  virtual ~DtBoxObjectDefinitionDialog();
211 
213  virtual void init(const DtEntityType&, const QString& title, bool forPlan,
215 
217  virtual void closeDialog();
218 
220  virtual QString getName();
221 
223  virtual DtVector getLocation() const;
224 
226  virtual void setLength(double);
227 
229  virtual void setMaximumLength(double);
230 
232  virtual void setWidth(double);
233 
235  virtual void setMaximumWidth(double);
236 
238  virtual void setLocation(const DtVector& pt);
239 
241  virtual void setName(const QString& name);
242 
244  virtual void addOverlay(const QString& name, bool translate = true);
245 
247  virtual void removeOverlay(const QString& name);
248 
250  virtual void renameOverlay(const QString& oldName, const QString& newName);
251 
253  virtual void setOverlay(const QString& name);
254 
256  virtual void setPublishObjectVisible(bool);
257 
259  virtual void setPublishObject(bool);
260  virtual bool publishObject() const;
261 
262  virtual bool extendedLabelsValid() const;
263 
265  virtual void clearOverlays();
266 
268  virtual void setNameVisible(bool flag);
269 
271  virtual void setSetActivationTimeVisible(bool flag);
272 
274  virtual void setDistanceDecimalPlaces(int);
275 
277  virtual void setDistanceUnits(const makVrv::DtUnicode&);
278 
280  virtual void setAllowOverlaySelection(bool flag);
281 
283  virtual void setAdjustSizeEnabled(bool flag);
284 
286  virtual void setTitle(const QString& title);
287 
289  virtual void setCreateButtonEnabled(bool flag);
290  virtual void setAdjustStyleEnabled(bool);
291  virtual void setAdjustColorEnabled(bool);
292 
294  virtual void setNameLabel(const QString&);
295 
297  virtual void setCreateButtonText(const QString& text);
298 
300  virtual void setCreateButtonVisible(bool flag);
301 
303  virtual void setUpdateButtonEnabled(bool flag);
304 
306  virtual void setUpdateButtonText(const QString& text);
307 
309  virtual void setUpdateButtonVisible(bool flag);
310 
312  virtual void setCancelButtonEnabled(bool flag);
313 
315  virtual void setCancelButtonVisible(bool flag);
316 
318  virtual void setCancelButtonText( const QString& text );
319 
321  virtual DtDialogInteractionMode interactionMode();
322 
324  virtual void populate(const makVrv::DtUniqueID&);
325 
327  virtual void hideDialog();
328 
330  virtual void setShowFloorCeiling(bool);
331 
333  virtual void setFloor(double);
334  virtual double floor() const;
335  boost::signals2::signal<void (double)> signal_floorChanged;
336 
337  virtual void setCeiling(double);
338  virtual double ceiling() const;
339  boost::signals2::signal<void (double)> signal_ceilingChanged;
340 
342  virtual void populate(const DtCreateObjectCommand* cmd);
343 
345  virtual bool blockSignals(bool);
346 
348  virtual void populateOverlays();
349 
351  virtual void setForce(int);
352 
354  virtual void hideForces();
355 
357  virtual void showForces();
358 
360  virtual void setReadOnly(bool);
361 
362  virtual void setColor(unsigned int color);
363 
365  virtual void addExtension(QWidget*);
366 
368  virtual void removeExtension(QWidget*);
369 
371  virtual void showPropertiesDialog(bool);
372 
374  virtual void setAttachObjectToMouse(bool);
375  virtual void setAttachObjectToMouseVisible(bool);
376  virtual bool attachObjectToMouse() const;
377 
378  virtual void setCanChangeDimensions(bool);
379 
381  virtual void setAllowHeadingChange(bool);
382 
384  virtual void setHeading(double);
385 
387  virtual double heading() const;
388  virtual void updateCoordinateSystem();
389 
390  virtual void setLabel( const QString& name );
391  virtual void setExtendedLabels( const std::map<int, DtString>& labels );
392  virtual void setLabelEntryVisible(bool b);
393 
395  void includeSpacer(bool flag);
396 
398  virtual void setEmbarkationAllowed( bool flag );
399 
401  virtual void setEmbarkationWidgetVisible( bool flag );
402 
404  {
405  return myEmbarkationWidget;
406  }
407 
409  {
410  return myLocationWidget;
411  }
412 
413  virtual void setLocations(const std::vector<DtVector>& pts);
414 
415  protected:
416 
418  virtual void setupGui();
419 
421  virtual void setupConnections();
422 
424  virtual void closeEvent(QCloseEvent *event);
425 
427  virtual DtBoxObjectDefinitionDialogLogic* createLogic();
428 
429  virtual bool inGeocentric() const;
430 
431  virtual bool showAlpha() const;
432 
433  virtual void showEvent(QShowEvent*);
434 
435  protected slots:
436  virtual void slot_onFloorChanged();
437  virtual void slot_onCeilingChanged();
438  virtual void slot_onBtnStyleClicked();
439  virtual void slot_attachObjectToMouseClicked(bool flag);
440  virtual void slot_onCreateButtonClicked();
441  virtual void slot_onUpdateButtonClicked();
442  virtual void slot_onDoneButtonClicked();
443  virtual void slot_onNamePrefixEdited();
444  virtual void slot_onOverlaysComboCurrentIndexChanged(int index);
445  virtual void slot_onForceComboCurrentIndexChanged(int index);
446  virtual void slot_onLengthChanged(const QString&);
447  virtual void slot_onWidthChanged(const QString&);
448  virtual void slot_closePressed();
449  virtual void slot_onLocationChanged();
450  virtual void slot_onPublishObjectChanged();
451  virtual void slot_onBtnColorClicked();
452  virtual void slot_onLabelEdited();
453  virtual void slot_onSetActivationTime();
454  virtual void slot_onExtendedLabelsEdited();
455 
456  public:
457 
458  Ui_DtBoxObjectDefinitionWidgetUi myUiImpl;
461  QWidget* myParent;
465 
469 
470  protected:
473  QString myDefaultName;
477  unsigned int myBackgroundColor;
479  QDoubleValidator* myLengthValidator;
480  QDoubleValidator* myWidthValidator;
481  QString myLengthLabel;
482  QString myWidthLabel;
483  };
484 
486  {
487  public:
489  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
491 
492  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
494  const DtEditingType& editType);
495  };
496 }
QDoubleValidator * myWidthValidator
Definition: boxObjectDefinitionDialog.h:480
bool mySettingGuiUp
Definition: boxObjectDefinitionDialog.h:475
DtLocationEntryWidget * myLocationWidget
Definition: boxObjectDefinitionDialog.h:463
DtAltitudeEntryWidget * myFloor
Definition: boxObjectDefinitionDialog.h:459
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:57
Definition: createAndEditObjectDialogInterface.h:121
A unicode string.
Definition: DtUnicode.h:33
Represents a new kind of dock widget: it has a &quot;pin&quot; button that allows the widget to pin/unpin from ...
Definition: autoHideDock.h:34
Simple line text entry widget that will allow the user to enter an altitude value.
Definition: altitudeEntryWidget.h:25
Definition: boxObjectDefinitionDialog.h:485
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
bool myEditingLocation
Definition: boxObjectDefinitionDialog.h:478
unsigned int myBackgroundColor
Definition: boxObjectDefinitionDialog.h:477
makVrv::DtSignalConnectionManager myConnections
Definition: boxObjectDefinitionDialog.h:188
QString myDefaultName
Definition: boxObjectDefinitionDialog.h:473
DtSimCommand subclass for creating a new VrfObjects.
Definition: createObjectCommand.h:36
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:44
makVrv::DtDe & myDe
Definition: boxObjectDefinitionDialog.h:186
QWidget * myParent
Definition: boxObjectDefinitionDialog.h:461
Definition: createAndEditObjectDialogInterface.h:29
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: boxObjectDefinitionDialog.h:468
Contains the DtUnitConverterCollection class declaration.
DtEmbarkationWidget * myEmbarkationWidget
Definition: boxObjectDefinitionDialog.h:464
boost::signals2::signal< void(double)> signal_floorChanged
Definition: boxObjectDefinitionDialog.h:335
boost::signals2::signal< void(double)> signal_ceilingChanged
Definition: boxObjectDefinitionDialog.h:339
This class defines the dialog that allows the creation/update of Box objects in the scenario...
Definition: boxObjectDefinitionDialog.h:199
DtAltitudeEntryWidget * myCeiling
Definition: boxObjectDefinitionDialog.h:460
bool myBlockSignals
Definition: boxObjectDefinitionDialog.h:476
DtExtendedLabelsEntryWidget * myExtendedLabelsEntryWidget
Definition: boxObjectDefinitionDialog.h:467
DtHeadingEntryWidget * myHeading
Definition: boxObjectDefinitionDialog.h:466
Ui_DtBoxObjectDefinitionWidgetUi myUiImpl
Definition: boxObjectDefinitionDialog.h:458
QString myLengthLabel
Definition: boxObjectDefinitionDialog.h:481
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
Widget that allows the selection of an overlay.
Definition: overlayParentEntryWidget.h:35
Simple widget that, if a location is set, will see if there is an entity under that location...
Definition: embarkationWidget.h:36
This class implements the logic behind the DtBoxObjectDefinitionDialog.
Definition: boxObjectDefinitionDialog.h:41
Definition: vrfObjectManipulationHandlerBaseClass.h:88
Simple line text entry widget that will allow the user to enter a heading value.
Definition: headingEntryWidget.h:26
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
int myNameCounter
Definition: boxObjectDefinitionDialog.h:189
bool myObjectBackupLocationSet
Definition: boxObjectDefinitionDialog.h:191
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:34
bool myActivationTimeVisible
Definition: boxObjectDefinitionDialog.h:474
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
DtBoxObjectDefinitionDialogLogic * myLogic
Definition: boxObjectDefinitionDialog.h:471
Base class to provide boost signal/slot management.
DtForceSelectionEntryWidget * myForces
Definition: boxObjectDefinitionDialog.h:462
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
const char int mode
Definition: ioapi.h:38
DtLocationEntryWidget * locationEntryWidget()
Definition: boxObjectDefinitionDialog.h:408
DtEmbarkationWidget * embarkationWidget()
Definition: boxObjectDefinitionDialog.h:403
bool myLocationValid
Definition: boxObjectDefinitionDialog.h:190
Widget that will allow for entry of label and any extended labels.
Definition: extendedLabelsEntryWidget.h:30
DtVector myObjectBackupLocation
Definition: boxObjectDefinitionDialog.h:192
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: locationEntryWidget.h:44
DtDialogInteractionMode myInteractionMode
Definition: boxObjectDefinitionDialog.h:472
QString myWidthLabel
Definition: boxObjectDefinitionDialog.h:482
DtBoxObjectDefinitionDialog * myInterface
Definition: boxObjectDefinitionDialog.h:187
DisplayUnitType
Indicates a type of display unit.
Definition: DtUnitConverterCollection.h:36
DtCreationSignalType
Definition: vrfObjectManipulationHandlerBaseClass.h:71
QDoubleValidator * myLengthValidator
Definition: boxObjectDefinitionDialog.h:479

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)