VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
circleObjectDefinitionDialog.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 "DtCircleObjectDefinitionWidgetUi.hpp"
19 
22 #endif
23 
24 class DtSetDataRequest;
25 
26 namespace makVrf
27 {
28  class DtExtendedLabelsEntryWidget;
29  class DtVrfObjectManipulationHandlerBaseClass;
30  class DtCircleObjectDefinitionDialog;
31  class DtForceSelectionEntryWidget;
32  class DtAltitudeEntryWidget;
33  class DtEmbarkationWidget;
34  class DtOverlayParentEntryWidget;
35 
40  {
41 
42  public:
43 
46 
49 
51  virtual void createConnections();
52 
54  virtual void terminateConnections();
55 
57  virtual void processObjectCreation();
58 
60  virtual void processObjectUpdate();
61 
63  virtual void processDoneRequest();
64 
66  virtual void processCloseRequest();
67 
69  virtual void processHeadingChanged(double value);
70 
72  virtual void processXRadiusChanged(double value);
73 
75  virtual void processYRadiusChanged(double value);
76 
78  virtual void processReviewMouseClicks(bool flag);
79 
81  virtual void processNamePrefixEdited(const std::string& name);
82 
84  virtual void processPopulateDialog(makVrv::DtUniqueID id);
85 
87  virtual void populateOverlays();
88 
90  virtual void setForce(int);
91 
93  virtual void processLocationChanged();
94 
96  virtual void setupGui();
97 
99  virtual void populateDialogWithStmt(const DtCreateObjectCommand* cmd);
100 
102  virtual void slot_lineWidthChanged(int);
103 
105  virtual void slot_penStyleChanged(int);
106 
108  virtual void slot_fillDataChanged(int);
109 
110  virtual int fillStyle() const;
111 
113  virtual void objectCreated();
114 
115  virtual void updateButtons();
116 
117  virtual void setActivationTime();
118 
120  virtual void setEmbarkationInformation(makVrv::DtUniqueID, bool);
121 
122  protected:
123 
125  virtual void setupActivationTime(const DtSetDataRequest& setReq);
126 
128  virtual void cancelDialog();
129 
131  virtual void closeDialog();
132 
134  virtual void updateValues();
135 
137  virtual void slot_onHandlerStopped(DtVrfObjectManipulationHandlerBaseClass* handler);
138 
140  virtual void slot_onPlacement(const DtVector& loc);
141 
143  virtual void slot_onLocationSet(const DtVector& loc);
144 
146  virtual void slot_onOverlayNameChanged(const std::string& name);
147 
149  virtual void slot_onColorChanged(int);
150 
152  virtual void slot_onForceChanged(int);
153 
155  virtual void slot_displayUnitChanged(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int unit, int oldUnit);
156 
159  virtual void slot_displayUnitDecimalsChanged(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int);
160 
162  virtual void processLabelEdited(const std::string& name);
163 
165  virtual void processExtendedLabelsEdited(const std::map<int, DtString>& name);
166 
168  virtual void slot_onPublishObjectChanged(bool);
169 
170  virtual void slot_onCoordinateSystemChanged();
171 
172  virtual void slot_onSpiderWebSpokesChanged(int);
173  virtual void slot_onSpiderWebRingDistanceChanged(double);
174 
175  virtual void slot_onFloorChanged(double);
176  virtual void slot_onCeilingChanged(double);
177  virtual void slot_onFloorSet(double);
178  virtual void slot_onCeilingSet(double);
179 
180  protected:
185  };
186 
187 
192  {
193 
194  Q_OBJECT
195 
196  public:
197 
199  DtCircleObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="", DtDialogInteractionMode mode=DtCreationMode);
200 
203 
205  void init(const DtEntityType&, const QString& title, bool forPlan,
207 
209  virtual void closeDialog();
210 
212  virtual void setEmbarkationAllowed( bool flag );
213 
215  virtual QString getName();
216 
218  virtual double getHeading() const;
219 
221  virtual DtVector getLocation() const;
222 
224  virtual void setHeading(double heading);
225 
227  virtual void setXRadius(double);
228  virtual void setXRadiusLabel(const QString&);
229 
231  virtual void setYRadius(double);
232  virtual void setYRadiusLabel(const QString&);
233 
235  virtual void setLocation(const DtVector& pt);
236 
238  virtual void setName(const QString& name);
239 
241  virtual void addOverlay(const QString& name, bool translate = true);
242 
244  virtual void removeOverlay(const QString& name);
245 
247  virtual void renameOverlay(const QString& oldName, const QString& newName);
248 
250  virtual void setOverlay(const QString& name);
251 
253  virtual void setPublishObjectVisible(bool);
254 
256  virtual void setPublishObject(bool);
257  virtual bool publishObject() const;
258 
260  virtual void clearOverlays();
261 
263  virtual void setNameVisible(bool flag);
264 
266  virtual void setSetActivationTimeVisible(bool flag);
267 
269  virtual void setHeadingDecimalPlaces(int decimalPlaces);
270 
272  virtual void updateXRadiusDecimalsDisplay();
273  virtual void updateYRadiusDecimalsDisplay();
274  virtual void updateSpiderWebDistanceDecimalsDisplay();
275 
277  virtual void setDistanceUnits(const makVrv::DtUnicode&);
278 
280  virtual void setHeadingStep(double);
281 
283  virtual void setAllowOverlaySelection(bool flag);
284 
286  virtual void setTitle(const QString& title);
287 
289  virtual void setCreateButtonEnabled(bool flag);
290  virtual void setAdjustStyleEnabled(bool);
291 
293  virtual void setHeadingEnabled(bool flag);
294 
296  virtual void setXRadiusEnabled(bool flag);
297 
299  virtual void setYRadiusEnabled(bool flag);
300 
302  virtual void setCreateButtonText(const QString& text);
303 
305  virtual void setCreateButtonVisible(bool flag);
306 
308  virtual void setYRadiusVisible(bool);
309 
311  virtual void setUpdateButtonEnabled(bool flag);
312 
314  virtual void setUpdateButtonText(const QString& text);
315 
317  virtual void setUpdateButtonVisible(bool flag);
318 
320  virtual void setCancelButtonEnabled(bool flag);
321 
323  virtual void setCancelButtonVisible(bool flag);
324 
326  virtual void setCancelButtonText( const QString& text );
327 
329  virtual DtDialogInteractionMode interactionMode();
330 
332  virtual void setShowFloorCeiling(bool);
333 
335  virtual void setFloor(double);
336  virtual double floor() const;
337  boost::signals2::signal<void (double)> signal_floorChanged;
338 
339  virtual void setCeiling(double);
340  virtual double ceiling() const;
341  boost::signals2::signal<void (double)> signal_ceilingChanged;
342 
344  virtual void setSpiderWebInfoVisible(bool);
345  virtual void setNumberOfSpiderWebSpokes(int);
346  virtual int numberOfSpiderWebSpokes() const;
347  boost::signals2::signal<void (int)> signal_spiderWebSpokesChanged;
348 
349  virtual void setSpiderWebRingDistance(double);
350  virtual double spiderWebRingDistance() const;
351  boost::signals2::signal<void (int)> signal_spiderWebRingDistanceChanged;
352 
354  virtual void populate(const makVrv::DtUniqueID&);
355 
357  virtual void hideDialog();
358 
360  virtual void populate(const DtCreateObjectCommand* cmd);
361 
363  virtual bool blockSignals(bool);
364 
366  virtual void populateOverlays();
367 
369  virtual void setForce(int);
370 
372  virtual void hideForces();
373 
375  virtual void showForces();
376 
378  virtual void setReadOnly(bool);
379 
380  virtual void setColor(unsigned int color);
381 
383  virtual void addExtension(QWidget*);
384 
386  virtual void removeExtension(QWidget*);
387  virtual bool extendedLabelsValid() const;
388 
390  virtual void showPropertiesDialog(bool, bool showAttachObjectToMouse = true);
391 
393  virtual void setAttachObjectToMouse(bool);
394  virtual void setAttachObjectToMouseVisible(bool);
395  virtual bool attachObjectToMouse() const;
396 
397  virtual void setLabel( const QString& name );
398  virtual void setExtendedLabels( const std::map<int, DtString>& labels );
399  virtual void setLabelEntryVisible(bool b);
400 
401  virtual void updateCoordinateSystem();
402 
404  virtual void setEmbarkationWidgetVisible( bool flag );
405 
407  {
408  return myEmbarkationWidget;
409  }
410 
412  {
413  return myLocationWidget;
414  }
415 
416  protected:
417 
419  virtual void setupGui();
420 
422  virtual void setupConnections();
423 
425  virtual void closeEvent(QCloseEvent *event);
426 
428  virtual DtCircleObjectDefinitionDialogLogic* createLogic();
429 
430  virtual bool inGeocentric() const;
431 
432  virtual void showEvent(QShowEvent*);
433 
434  virtual bool showAlpha() const;
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_onHeadingChanged(double value);
448  virtual void slot_onSpiderWebSpokesChanged();
449  virtual void slot_onSpiderWebRingDistanceChanged();
450  virtual void slot_onXRadiusChanged(const QString&);
451  virtual void slot_onYRadiusChanged(const QString&);
452  virtual void slot_onXRadiusChangeFinished();
453  virtual void slot_onYRadiusChangeFinished();
454  virtual void slot_onSpiderWebRingDistanceFinished();
455  virtual void slot_closePressed();
456  virtual void slot_onLocationChanged();
457  virtual void slot_onPublishObjectChanged();
458  virtual void slot_onBtnColorClicked();
459  virtual void slot_onLabelEdited();
460  virtual void slot_onSetActivationTime();
461  virtual void slot_onExtendedLabelsEdited();
462 
463  public:
464 
465  Ui_DtCircleObjectDefinitionWidgetUi myUiImpl;
468  QWidget* myParent;
474 
475  protected:
479  QString myDefaultName;
482  unsigned int myBackgroundColor;
484  };
485 
487  {
488  public:
490  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
492 
493  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
495  const DtEditingType& editType);
496  };
497 }
DtDialogInteractionMode myInteractionMode
Definition: circleObjectDefinitionDialog.h:478
DtLocationEntryWidget * myLocationWidget
Definition: circleObjectDefinitionDialog.h:467
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:61
Definition: createAndEditObjectDialogInterface.h:121
boost::signals2::signal< void(int)> signal_spiderWebSpokesChanged
Definition: circleObjectDefinitionDialog.h:347
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
DtAltitudeEntryWidget * myCeiling
Definition: circleObjectDefinitionDialog.h:471
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
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
DtEmbarkationWidget * myEmbarkationWidget
Definition: circleObjectDefinitionDialog.h:472
DtEmbarkationWidget * embarkationWidget()
Definition: circleObjectDefinitionDialog.h:406
DtSimCommand subclass for creating a new VrfObjects. Used for both single and multi-point objects...
Definition: createObjectCommand.h:36
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
Definition: createAndEditObjectDialogInterface.h:29
Contains the DtUnitConverterCollection class declaration.
bool myBlockSignals
Definition: circleObjectDefinitionDialog.h:481
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
DtExtendedLabelsEntryWidget * myExtendedLabelsEntryWidget
Definition: circleObjectDefinitionDialog.h:469
This class defines the dialog that allows the creation/update of circle objects in the scenario...
Definition: circleObjectDefinitionDialog.h:191
Definition: vrfObjectManipulationHandlerBaseClass.h:90
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtSignalConnectionManager myConnections
Definition: circleObjectDefinitionDialog.h:183
DtLocationEntryWidget * locationEntryWidget()
Definition: circleObjectDefinitionDialog.h:411
bool mySettingGuiUp
Definition: circleObjectDefinitionDialog.h:480
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:34
makVrv::DtDe & myDe
Definition: circleObjectDefinitionDialog.h:181
DtCircleObjectDefinitionDialog * myInterface
Definition: circleObjectDefinitionDialog.h:182
QString myDefaultName
Definition: circleObjectDefinitionDialog.h:479
Ui_DtCircleObjectDefinitionWidgetUi myUiImpl
Definition: circleObjectDefinitionDialog.h:465
Base class to provide boost signal/slot management.
bool myActivationTimeVisible
Definition: circleObjectDefinitionDialog.h:476
DtForceSelectionEntryWidget * myForces
Definition: circleObjectDefinitionDialog.h:466
DtCircleObjectDefinitionDialogLogic * myLogic
Definition: circleObjectDefinitionDialog.h:477
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
const char int mode
Definition: ioapi.h:38
Definition: circleObjectDefinitionDialog.h:486
Widget that will allow for entry of label and any extended labels.
Definition: extendedLabelsEntryWidget.h:30
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
boost::signals2::signal< void(double)> signal_floorChanged
Definition: circleObjectDefinitionDialog.h:337
bool myEditingLocation
Definition: circleObjectDefinitionDialog.h:483
unsigned int myBackgroundColor
Definition: circleObjectDefinitionDialog.h:482
boost::signals2::signal< void(int)> signal_spiderWebRingDistanceChanged
Definition: circleObjectDefinitionDialog.h:351
boost::signals2::signal< void(double)> signal_ceilingChanged
Definition: circleObjectDefinitionDialog.h:341
This class implements the logic behind the DtCircleObjectDefinitionDialog.
Definition: circleObjectDefinitionDialog.h:39
DtCreationSignalType
Option to supply to the createObject method.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
DtAltitudeEntryWidget * myFloor
Definition: circleObjectDefinitionDialog.h:470
int myNameCounter
Definition: circleObjectDefinitionDialog.h:184
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: circleObjectDefinitionDialog.h:473
QWidget * myParent
Definition: circleObjectDefinitionDialog.h:468

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)