VR-Forces 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  virtual void processObjectSpecificLabelEdited(int index, QString marker, QString value);
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 updateLengthDecimalsDisplay();
275  virtual void updateWidthDecimalsDisplay();
276 
278  virtual void setDistanceUnits(const makVrv::DtUnicode&);
279 
281  virtual void setAllowOverlaySelection(bool flag);
282 
284  virtual void setAdjustSizeEnabled(bool flag);
285 
287  virtual void setTitle(const QString& title);
288 
290  virtual void setCreateButtonEnabled(bool flag);
291  virtual void setAdjustStyleEnabled(bool);
292  virtual void setAdjustColorEnabled(bool);
293 
295  virtual void setNameLabel(const QString&);
296 
298  virtual void setCreateButtonText(const QString& text);
299 
301  virtual void setCreateButtonVisible(bool flag);
302 
304  virtual void setUpdateButtonEnabled(bool flag);
305 
307  virtual void setUpdateButtonText(const QString& text);
308 
310  virtual void setUpdateButtonVisible(bool flag);
311 
313  virtual void setCancelButtonEnabled(bool flag);
314 
316  virtual void setCancelButtonVisible(bool flag);
317 
319  virtual void setCancelButtonText( const QString& text );
320 
322  virtual DtDialogInteractionMode interactionMode();
323 
325  virtual void populate(const makVrv::DtUniqueID&);
326 
328  virtual void hideDialog();
329 
331  virtual void setShowFloorCeiling(bool);
332 
334  virtual void setFloor(double);
335  virtual double floor() const;
336  boost::signals2::signal<void (double)> signal_floorChanged;
337 
338  virtual void setCeiling(double);
339  virtual double ceiling() const;
340  boost::signals2::signal<void (double)> signal_ceilingChanged;
341 
343  virtual void populate(const DtCreateObjectCommand* cmd);
344 
346  virtual bool blockSignals(bool);
347 
349  virtual void populateOverlays();
350 
352  virtual void setForce(int);
353 
355  virtual void hideForces();
356 
358  virtual void showForces();
359 
361  virtual void setReadOnly(bool);
362 
363  virtual void setColor(unsigned int color);
364 
366  virtual void addExtension(QWidget*);
367 
369  virtual void removeExtension(QWidget*);
370 
372  virtual void showPropertiesDialog(bool, bool showAttachObjectToMouse = true);
373 
375  virtual void setAttachObjectToMouse(bool);
376  virtual void setAttachObjectToMouseVisible(bool);
377  virtual bool attachObjectToMouse() const;
378 
379  virtual void setCanChangeDimensions(bool);
380 
382  virtual void setAllowHeadingChange(bool);
383 
385  virtual void setHeading(double);
386 
388  virtual double heading() const;
389  virtual void updateCoordinateSystem();
390 
391  virtual void setLabel( const QString& name );
392  virtual void setExtendedLabels( const std::map<int, DtString>& labels );
393  virtual void setLabelEntryVisible(bool b);
394 
396  void includeSpacer(bool flag);
397 
399  virtual void setEmbarkationAllowed( bool flag );
400 
402  virtual void setEmbarkationWidgetVisible( bool flag );
403 
405  {
406  return myEmbarkationWidget;
407  }
408 
410  {
411  return myLocationWidget;
412  }
413 
414  virtual void setLocations(const std::vector<DtVector>& pts);
415 
416  protected:
417 
419  virtual void setupGui();
420 
422  virtual void setupConnections();
423 
425  virtual void closeEvent(QCloseEvent *event);
426 
428  virtual DtBoxObjectDefinitionDialogLogic* createLogic();
429 
430  virtual bool inGeocentric() const;
431 
432  virtual bool showAlpha() const;
433 
434  virtual void showEvent(QShowEvent*);
435 
436  protected slots:
437  virtual void slot_onFloorChanged();
438  virtual void slot_onCeilingChanged();
439  virtual void slot_onBtnStyleClicked();
440  virtual void slot_attachObjectToMouseClicked(bool flag);
441  virtual void slot_onCreateButtonClicked();
442  virtual void slot_onUpdateButtonClicked();
443  virtual void slot_onDoneButtonClicked();
444  virtual void slot_onNamePrefixEdited();
445  virtual void slot_onOverlaysComboCurrentIndexChanged(int index);
446  virtual void slot_onForceComboCurrentIndexChanged(int index);
447  virtual void slot_onLengthChanged(const QString&);
448  virtual void slot_onWidthChanged(const QString&);
449  virtual void slot_onLengthFinished();
450  virtual void slot_onWidthFinished();
451  virtual void slot_closePressed();
452  virtual void slot_onLocationChanged();
453  virtual void slot_onPublishObjectChanged();
454  virtual void slot_onBtnColorClicked();
455  virtual void slot_onLabelEdited();
456  virtual void slot_onSetActivationTime();
457  virtual void slot_onExtendedLabelsEdited();
458  virtual void slot_onObjectSpecificLabelsEdited(int, QString marker, QString value);
459 
460  public:
461 
462  Ui_DtBoxObjectDefinitionWidgetUi myUiImpl;
465  QWidget* myParent;
469 
473 
474  protected:
477  QString myDefaultName;
481  unsigned int myBackgroundColor;
483  QDoubleValidator* myLengthValidator;
484  QDoubleValidator* myWidthValidator;
485  QString myLengthLabel;
486  QString myWidthLabel;
487  };
488 
490  {
491  public:
493  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
495 
496  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
498  const DtEditingType& editType);
499  };
500 }
QDoubleValidator * myWidthValidator
Definition: boxObjectDefinitionDialog.h:484
bool mySettingGuiUp
Definition: boxObjectDefinitionDialog.h:479
DtLocationEntryWidget * myLocationWidget
Definition: boxObjectDefinitionDialog.h:467
DtAltitudeEntryWidget * myFloor
Definition: boxObjectDefinitionDialog.h:463
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:61
Definition: createAndEditObjectDialogInterface.h:124
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:35
Simple line text entry widget that will allow the user to enter an altitude value.
Definition: altitudeEntryWidget.h:26
Definition: boxObjectDefinitionDialog.h:489
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
bool myEditingLocation
Definition: boxObjectDefinitionDialog.h:482
unsigned int myBackgroundColor
Definition: boxObjectDefinitionDialog.h:481
makVrv::DtSignalConnectionManager myConnections
Definition: boxObjectDefinitionDialog.h:188
QString myDefaultName
Definition: boxObjectDefinitionDialog.h:477
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:186
QWidget * myParent
Definition: boxObjectDefinitionDialog.h:465
Definition: createAndEditObjectDialogInterface.h:29
DtAngleEntryWidget * myHeading
Definition: boxObjectDefinitionDialog.h:470
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: boxObjectDefinitionDialog.h:472
Contains the DtUnitConverterCollection class declaration.
DtEmbarkationWidget * myEmbarkationWidget
Definition: boxObjectDefinitionDialog.h:468
boost::signals2::signal< void(double)> signal_floorChanged
Definition: boxObjectDefinitionDialog.h:336
boost::signals2::signal< void(double)> signal_ceilingChanged
Definition: boxObjectDefinitionDialog.h:340
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:464
bool myBlockSignals
Definition: boxObjectDefinitionDialog.h:480
DtExtendedLabelsEntryWidget * myExtendedLabelsEntryWidget
Definition: boxObjectDefinitionDialog.h:471
Ui_DtBoxObjectDefinitionWidgetUi myUiImpl
Definition: boxObjectDefinitionDialog.h:462
QString myLengthLabel
Definition: boxObjectDefinitionDialog.h:485
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:189
bool myObjectBackupLocationSet
Definition: boxObjectDefinitionDialog.h:191
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:34
bool myActivationTimeVisible
Definition: boxObjectDefinitionDialog.h:478
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtBoxObjectDefinitionDialogLogic * myLogic
Definition: boxObjectDefinitionDialog.h:475
Base class to provide boost signal/slot management.
DtForceSelectionEntryWidget * myForces
Definition: boxObjectDefinitionDialog.h:466
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:409
DtEmbarkationWidget * embarkationWidget()
Definition: boxObjectDefinitionDialog.h:404
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. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
Definition: locationEntryWidget.h:47
DtDialogInteractionMode myInteractionMode
Definition: boxObjectDefinitionDialog.h:476
QString myWidthLabel
Definition: boxObjectDefinitionDialog.h:486
DtBoxObjectDefinitionDialog * myInterface
Definition: boxObjectDefinitionDialog.h:187
DtCreationSignalType
Option to supply to the createObject method.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
QDoubleValidator * myLengthValidator
Definition: boxObjectDefinitionDialog.h:483

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)