VR-Forces 5.0.2 Developer's Guide
 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 DtAngleEntryWidget;
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(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int unit, int oldUnit);
166 
169  virtual void slot_displayUnitDecimalsChanged(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int);
170 
172  virtual void processLabelEdited(const std::string& name);
173 
175  virtual void processExtendedLabelsEdited(const std::map<int, DtString>& name);
176 
177  virtual void slot_headingChangedByMouse(double headingInDeg);
178 
180  virtual void slot_onPublishObjectChanged(bool);
181 
182  virtual void slot_onCoordinateSystemChanged();
183 
184  protected:
192  };
193 
194 
199  {
200 
201  Q_OBJECT
202 
203  public:
204 
206  DtBoxObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="", DtDialogInteractionMode mode=DtCreationMode);
207 
209  virtual ~DtBoxObjectDefinitionDialog();
210 
212  virtual void init(const DtEntityType&, const QString& title, bool forPlan,
214 
216  virtual void closeDialog();
217 
219  virtual QString getName();
220 
222  virtual DtVector getLocation() const;
223 
225  virtual void setLength(double);
226 
228  virtual void setMaximumLength(double);
229 
231  virtual void setWidth(double);
232 
234  virtual void setMaximumWidth(double);
235 
237  virtual void setLocation(const DtVector& pt);
238 
240  virtual void setName(const QString& name);
241 
243  virtual void addOverlay(const QString& name, bool translate = true);
244 
246  virtual void removeOverlay(const QString& name);
247 
249  virtual void renameOverlay(const QString& oldName, const QString& newName);
250 
252  virtual void setOverlay(const QString& name);
253 
255  virtual void setPublishObjectVisible(bool);
256 
258  virtual void setPublishObject(bool);
259  virtual bool publishObject() const;
260 
261  virtual bool extendedLabelsValid() const;
262 
264  virtual void clearOverlays();
265 
267  virtual void setNameVisible(bool flag);
268 
270  virtual void setSetActivationTimeVisible(bool flag);
271 
273  virtual void updateLengthDecimalsDisplay();
274  virtual void updateWidthDecimalsDisplay();
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, bool showAttachObjectToMouse = true);
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_onLengthFinished();
449  virtual void slot_onWidthFinished();
450  virtual void slot_closePressed();
451  virtual void slot_onLocationChanged();
452  virtual void slot_onPublishObjectChanged();
453  virtual void slot_onBtnColorClicked();
454  virtual void slot_onLabelEdited();
455  virtual void slot_onSetActivationTime();
456  virtual void slot_onExtendedLabelsEdited();
457 
458  public:
459 
460  Ui_DtBoxObjectDefinitionWidgetUi myUiImpl;
463  QWidget* myParent;
467 
471 
472  protected:
475  QString myDefaultName;
479  unsigned int myBackgroundColor;
481  QDoubleValidator* myLengthValidator;
482  QDoubleValidator* myWidthValidator;
483  QString myLengthLabel;
484  QString myWidthLabel;
485  };
486 
488  {
489  public:
491  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
493 
494  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
496  const DtEditingType& editType);
497  };
498 }
QDoubleValidator * myWidthValidator
Definition: boxObjectDefinitionDialog.h:482
bool mySettingGuiUp
Definition: boxObjectDefinitionDialog.h:477
DtLocationEntryWidget * myLocationWidget
Definition: boxObjectDefinitionDialog.h:465
DtAltitudeEntryWidget * myFloor
Definition: boxObjectDefinitionDialog.h:461
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:61
Definition: createAndEditObjectDialogInterface.h:121
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
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:26
Definition: boxObjectDefinitionDialog.h:487
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
bool myEditingLocation
Definition: boxObjectDefinitionDialog.h:480
unsigned int myBackgroundColor
Definition: boxObjectDefinitionDialog.h:479
makVrv::DtSignalConnectionManager myConnections
Definition: boxObjectDefinitionDialog.h:187
QString myDefaultName
Definition: boxObjectDefinitionDialog.h:475
DtSimCommand subclass for creating a new VrfObjects. Used for both single and multi-point objects...
Definition: createObjectCommand.h:36
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
makVrv::DtDe & myDe
Definition: boxObjectDefinitionDialog.h:185
QWidget * myParent
Definition: boxObjectDefinitionDialog.h:463
Definition: createAndEditObjectDialogInterface.h:29
DtAngleEntryWidget * myHeading
Definition: boxObjectDefinitionDialog.h:468
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: boxObjectDefinitionDialog.h:470
Contains the DtUnitConverterCollection class declaration.
DtEmbarkationWidget * myEmbarkationWidget
Definition: boxObjectDefinitionDialog.h:466
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:198
DtAltitudeEntryWidget * myCeiling
Definition: boxObjectDefinitionDialog.h:462
bool myBlockSignals
Definition: boxObjectDefinitionDialog.h:478
DtExtendedLabelsEntryWidget * myExtendedLabelsEntryWidget
Definition: boxObjectDefinitionDialog.h:469
Ui_DtBoxObjectDefinitionWidgetUi myUiImpl
Definition: boxObjectDefinitionDialog.h:460
QString myLengthLabel
Definition: boxObjectDefinitionDialog.h:483
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
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
Simple line text entry widget that will allow the user to enter a heading value.
Definition: angleEntryWidget.h:26
This class implements the logic behind the DtBoxObjectDefinitionDialog.
Definition: boxObjectDefinitionDialog.h:41
Definition: vrfObjectManipulationHandlerBaseClass.h:90
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
int myNameCounter
Definition: boxObjectDefinitionDialog.h:188
bool myObjectBackupLocationSet
Definition: boxObjectDefinitionDialog.h:190
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:34
bool myActivationTimeVisible
Definition: boxObjectDefinitionDialog.h:476
DtBoxObjectDefinitionDialogLogic * myLogic
Definition: boxObjectDefinitionDialog.h:473
Base class to provide boost signal/slot management.
DtForceSelectionEntryWidget * myForces
Definition: boxObjectDefinitionDialog.h:464
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:189
Widget that will allow for entry of label and any extended labels.
Definition: extendedLabelsEntryWidget.h:30
DtVector myObjectBackupLocation
Definition: boxObjectDefinitionDialog.h:191
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:70
Definition: locationEntryWidget.h:45
DtDialogInteractionMode myInteractionMode
Definition: boxObjectDefinitionDialog.h:474
QString myWidthLabel
Definition: boxObjectDefinitionDialog.h:484
DtBoxObjectDefinitionDialog * myInterface
Definition: boxObjectDefinitionDialog.h:186
DtCreationSignalType
Option to supply to the createObject method.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
QDoubleValidator * myLengthValidator
Definition: boxObjectDefinitionDialog.h:481

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)