VR-Forces 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 
124  virtual bool isSmallDistanceItem() const;
125 
127  virtual void setupActivationTime(const DtSetDataRequest& setReq);
128 
130  virtual void cancelDialog();
131 
133  virtual void closeDialog();
134 
136  virtual void updateValues();
137 
139  virtual void slot_onHandlerStopped(DtVrfObjectManipulationHandlerBaseClass* handler);
140 
142  virtual void slot_onPlacement(const DtVector& loc);
143 
145  virtual void slot_onLocationSet(const DtVector& loc);
146 
148  virtual void slot_onOverlayNameChanged(const std::string& name);
149 
151  virtual void slot_onColorChanged(int);
152 
154  virtual void slot_onForceChanged(int);
155 
157  virtual void slot_displayUnitChanged(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int unit, int oldUnit);
158 
161  virtual void slot_displayUnitDecimalsChanged(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int);
162 
164  virtual void processLabelEdited(const std::string& name);
165 
167  virtual void processExtendedLabelsEdited(const std::map<int, DtString>& name);
168  virtual void processObjectSpecificLabelEdited(int index, QString marker, QString value);
169 
171  virtual void slot_onPublishObjectChanged(bool);
172 
173  virtual void slot_onCoordinateSystemChanged();
174 
175  virtual void slot_onSpiderWebSpokesChanged(int);
176  virtual void slot_onSpiderWebRingDistanceChanged(double);
177 
178  virtual void slot_onFloorChanged(double);
179  virtual void slot_onCeilingChanged(double);
180  virtual void slot_onFloorSet(double);
181  virtual void slot_onCeilingSet(double);
182 
183  protected:
188  };
189 
190 
195  {
196 
197  Q_OBJECT
198 
199  public:
200 
202  DtCircleObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="", DtDialogInteractionMode mode=DtCreationMode);
203 
206 
208  void init(const DtEntityType&, const QString& title, bool forPlan,
210 
212  virtual void closeDialog();
213 
215  virtual void setEmbarkationAllowed( bool flag );
216 
218  virtual QString getName();
219 
221  virtual double getHeading() const;
222 
224  virtual DtVector getLocation() const;
225 
227  virtual void setHeading(double heading);
228 
230  virtual void setXRadius(double);
231  virtual void setXRadiusLabel(const QString&);
232 
234  virtual void setYRadius(double);
235  virtual void setYRadiusLabel(const QString&);
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 
263  virtual void clearOverlays();
264 
266  virtual void setNameVisible(bool flag);
267 
269  virtual void setSetActivationTimeVisible(bool flag);
270 
272  virtual void setHeadingDecimalPlaces(int decimalPlaces);
273 
275  virtual void updateXRadiusDecimalsDisplay();
276  virtual void updateYRadiusDecimalsDisplay();
277  virtual void updateSpiderWebDistanceDecimalsDisplay();
278 
280  virtual void setDistanceUnits(const makVrv::DtUnicode&);
281 
283  virtual void setHeadingStep(double);
284 
286  virtual void setAllowOverlaySelection(bool flag);
287 
289  virtual void setTitle(const QString& title);
290 
292  virtual void setCreateButtonEnabled(bool flag);
293  virtual void setAdjustStyleEnabled(bool);
294 
296  virtual void setHeadingEnabled(bool flag);
297 
299  virtual void setXRadiusEnabled(bool flag);
300 
302  virtual void setYRadiusEnabled(bool flag);
303 
305  virtual void setCreateButtonText(const QString& text);
306 
308  virtual void setCreateButtonVisible(bool flag);
309 
311  virtual void setYRadiusVisible(bool);
312 
314  virtual void setUpdateButtonEnabled(bool flag);
315 
317  virtual void setUpdateButtonText(const QString& text);
318 
320  virtual void setUpdateButtonVisible(bool flag);
321 
323  virtual void setCancelButtonEnabled(bool flag);
324 
326  virtual void setCancelButtonVisible(bool flag);
327 
329  virtual void setCancelButtonText( const QString& text );
330 
332  virtual DtDialogInteractionMode interactionMode();
333 
335  virtual void setShowFloorCeiling(bool);
336 
337  virtual double xRadius() const;
338 
340  virtual void setFloor(double);
341  virtual double floor() const;
342  boost::signals2::signal<void (double)> signal_floorChanged;
343 
344  virtual void setCeiling(double);
345  virtual double ceiling() const;
346  boost::signals2::signal<void (double)> signal_ceilingChanged;
347 
349  virtual void setSpiderWebInfoVisible(bool);
350  virtual void setNumberOfSpiderWebSpokes(int);
351  virtual int numberOfSpiderWebSpokes() const;
352  boost::signals2::signal<void (int)> signal_spiderWebSpokesChanged;
353 
354  virtual void setSpiderWebRingDistance(double);
355  virtual double spiderWebRingDistance() const;
356  boost::signals2::signal<void (int)> signal_spiderWebRingDistanceChanged;
357 
359  virtual void populate(const makVrv::DtUniqueID&);
360 
362  virtual void hideDialog();
363 
365  virtual void populate(const DtCreateObjectCommand* cmd);
366 
368  virtual bool blockSignals(bool);
369 
371  virtual void populateOverlays();
372 
374  virtual void setForce(int);
375 
377  virtual void hideForces();
378 
380  virtual void showForces();
381 
383  virtual void setReadOnly(bool);
384 
385  virtual void setColor(unsigned int color);
386 
388  virtual void addExtension(QWidget*);
389 
391  virtual void removeExtension(QWidget*);
392  virtual bool extendedLabelsValid() const;
393 
395  virtual void showPropertiesDialog(bool, bool showAttachObjectToMouse = true);
396 
398  virtual void setAttachObjectToMouse(bool);
399  virtual void setAttachObjectToMouseVisible(bool);
400  virtual bool attachObjectToMouse() const;
401 
402  virtual void setLabel( const QString& name );
403  virtual void setExtendedLabels( const std::map<int, DtString>& labels );
404  virtual void setLabelEntryVisible(bool b);
405 
406  virtual void updateCoordinateSystem();
407 
409  virtual void setEmbarkationWidgetVisible( bool flag );
410 
412  {
413  return myEmbarkationWidget;
414  }
415 
417  {
418  return myLocationWidget;
419  }
420 
421  protected:
422 
424  virtual void setupGui();
425 
427  virtual void setupConnections();
428 
430  virtual void closeEvent(QCloseEvent *event);
431 
433  virtual DtCircleObjectDefinitionDialogLogic* createLogic();
434 
435  virtual bool inGeocentric() const;
436 
437  virtual void showEvent(QShowEvent*);
438 
439  virtual bool showAlpha() const;
440 
441  protected slots:
442  virtual void slot_onFloorChanged();
443  virtual void slot_onCeilingChanged();
444  virtual void slot_onBtnStyleClicked();
445  virtual void slot_attachObjectToMouseClicked(bool flag);
446  virtual void slot_onCreateButtonClicked();
447  virtual void slot_onUpdateButtonClicked();
448  virtual void slot_onDoneButtonClicked();
449  virtual void slot_onNamePrefixEdited();
450  virtual void slot_onOverlaysComboCurrentIndexChanged(int index);
451  virtual void slot_onForceComboCurrentIndexChanged(int index);
452  virtual void slot_onHeadingChanged(double value);
453  virtual void slot_onSpiderWebSpokesChanged();
454  virtual void slot_onSpiderWebRingDistanceChanged();
455  virtual void slot_onXRadiusChanged(const QString&);
456  virtual void slot_onYRadiusChanged(const QString&);
457  virtual void slot_onXRadiusChangeFinished();
458  virtual void slot_onYRadiusChangeFinished();
459  virtual void slot_onSpiderWebRingDistanceFinished();
460  virtual void slot_closePressed();
461  virtual void slot_onLocationChanged();
462  virtual void slot_onPublishObjectChanged();
463  virtual void slot_onBtnColorClicked();
464  virtual void slot_onLabelEdited();
465  virtual void slot_onSetActivationTime();
466  virtual void slot_onExtendedLabelsEdited();
467  virtual void slot_onObjectSpecificLabelsEdited(int, QString marker, QString value);
468 
469  public:
470 
471  Ui_DtCircleObjectDefinitionWidgetUi myUiImpl;
474  QWidget* myParent;
480 
481  protected:
485  QString myDefaultName;
488  unsigned int myBackgroundColor;
490  };
491 
493  {
494  public:
496  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
498 
499  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
501  const DtEditingType& editType);
502  };
503 }
DtDialogInteractionMode myInteractionMode
Definition: circleObjectDefinitionDialog.h:484
DtLocationEntryWidget * myLocationWidget
Definition: circleObjectDefinitionDialog.h:473
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:61
Definition: createAndEditObjectDialogInterface.h:124
boost::signals2::signal< void(int)> signal_spiderWebSpokesChanged
Definition: circleObjectDefinitionDialog.h:352
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:477
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
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
DtEmbarkationWidget * myEmbarkationWidget
Definition: circleObjectDefinitionDialog.h:478
DtEmbarkationWidget * embarkationWidget()
Definition: circleObjectDefinitionDialog.h:411
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:487
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:475
This class defines the dialog that allows the creation/update of circle objects in the scenario...
Definition: circleObjectDefinitionDialog.h:194
Definition: vrfObjectManipulationHandlerBaseClass.h:90
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtSignalConnectionManager myConnections
Definition: circleObjectDefinitionDialog.h:186
DtLocationEntryWidget * locationEntryWidget()
Definition: circleObjectDefinitionDialog.h:416
bool mySettingGuiUp
Definition: circleObjectDefinitionDialog.h:486
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:34
makVrv::DtDe & myDe
Definition: circleObjectDefinitionDialog.h:184
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtCircleObjectDefinitionDialog * myInterface
Definition: circleObjectDefinitionDialog.h:185
QString myDefaultName
Definition: circleObjectDefinitionDialog.h:485
Ui_DtCircleObjectDefinitionWidgetUi myUiImpl
Definition: circleObjectDefinitionDialog.h:471
Base class to provide boost signal/slot management.
bool myActivationTimeVisible
Definition: circleObjectDefinitionDialog.h:482
DtForceSelectionEntryWidget * myForces
Definition: circleObjectDefinitionDialog.h:472
DtCircleObjectDefinitionDialogLogic * myLogic
Definition: circleObjectDefinitionDialog.h:483
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:492
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:72
Definition: locationEntryWidget.h:47
boost::signals2::signal< void(double)> signal_floorChanged
Definition: circleObjectDefinitionDialog.h:342
bool myEditingLocation
Definition: circleObjectDefinitionDialog.h:489
unsigned int myBackgroundColor
Definition: circleObjectDefinitionDialog.h:488
boost::signals2::signal< void(int)> signal_spiderWebRingDistanceChanged
Definition: circleObjectDefinitionDialog.h:356
boost::signals2::signal< void(double)> signal_ceilingChanged
Definition: circleObjectDefinitionDialog.h:346
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:476
int myNameCounter
Definition: circleObjectDefinitionDialog.h:187
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: circleObjectDefinitionDialog.h:479
QWidget * myParent
Definition: circleObjectDefinitionDialog.h:474

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)