VR-Forces 4.8 Class Documentation
 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(makVrv::DtUnitConverterCollection::DisplayUnitType type, int unit, int oldUnit);
156 
159  virtual void slot_displayUnitDecimalsChanged(
161 
163  virtual void processLabelEdited(const std::string& name);
164 
166  virtual void processExtendedLabelsEdited(const std::map<int, DtString>& name);
167 
169  virtual void slot_onPublishObjectChanged(bool);
170 
171  virtual void slot_onCoordinateSystemChanged();
172 
173  virtual void slot_onSpiderWebSpokesChanged(int);
174  virtual void slot_onSpiderWebRingsChanged(int);
175 
176  virtual void slot_onFloorChanged(double);
177  virtual void slot_onCeilingChanged(double);
178  virtual void slot_onFloorSet(double);
179  virtual void slot_onCeilingSet(double);
180 
181  protected:
186  };
187 
188 
193  {
194 
195  Q_OBJECT
196 
197  public:
198 
200  DtCircleObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="", DtDialogInteractionMode mode=DtCreationMode);
201 
204 
206  void init(const DtEntityType&, const QString& title, bool forPlan,
208 
210  virtual void closeDialog();
211 
213  virtual void setEmbarkationAllowed( bool flag );
214 
216  virtual QString getName();
217 
219  virtual double getHeading() const;
220 
222  virtual DtVector getLocation() const;
223 
225  virtual void setHeading(double heading);
226 
228  virtual void setXRadius(double);
229  virtual void setXRadiusLabel(const QString&);
230 
232  virtual void setYRadius(double);
233  virtual void setYRadiusLabel(const QString&);
234 
236  virtual void setLocation(const DtVector& pt);
237 
239  virtual void setName(const QString& name);
240 
242  virtual void addOverlay(const QString& name, bool translate = true);
243 
245  virtual void removeOverlay(const QString& name);
246 
248  virtual void renameOverlay(const QString& oldName, const QString& newName);
249 
251  virtual void setOverlay(const QString& name);
252 
254  virtual void setPublishObjectVisible(bool);
255 
257  virtual void setPublishObject(bool);
258  virtual bool publishObject() const;
259 
261  virtual void clearOverlays();
262 
264  virtual void setNameVisible(bool flag);
265 
267  virtual void setSetActivationTimeVisible(bool flag);
268 
270  virtual void setHeadingDecimalPlaces(int decimalPlaces);
271 
273  virtual void setDistanceDecimalPlaces(int);
274 
276  virtual void setDistanceUnits(const makVrv::DtUnicode&);
277 
279  virtual void setHeadingStep(double);
280 
282  virtual void setAllowOverlaySelection(bool flag);
283 
285  virtual void setTitle(const QString& title);
286 
288  virtual void setCreateButtonEnabled(bool flag);
289  virtual void setAdjustStyleEnabled(bool);
290 
292  virtual void setHeadingEnabled(bool flag);
293 
295  virtual void setXRadiusEnabled(bool flag);
296 
298  virtual void setYRadiusEnabled(bool flag);
299 
301  virtual void setCreateButtonText(const QString& text);
302 
304  virtual void setCreateButtonVisible(bool flag);
305 
307  virtual void setYRadiusVisible(bool);
308 
310  virtual void setUpdateButtonEnabled(bool flag);
311 
313  virtual void setUpdateButtonText(const QString& text);
314 
316  virtual void setUpdateButtonVisible(bool flag);
317 
319  virtual void setCancelButtonEnabled(bool flag);
320 
322  virtual void setCancelButtonVisible(bool flag);
323 
325  virtual void setCancelButtonText( const QString& text );
326 
328  virtual DtDialogInteractionMode interactionMode();
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 setSpiderWebInfoVisible(bool);
344  virtual void setNumberOfSpiderWebSpokes(int);
345  virtual int numberOfSpiderWebSpokes() const;
346  boost::signals2::signal<void (int)> signal_spiderWebSpokesChanged;
347 
348  virtual void setNumberOfSpiderWebRings(int);
349  virtual int numberOfSpiderWebRings() const;
350  boost::signals2::signal<void (int)> signal_spiderWebRingsChanged;
351 
353  virtual void populate(const makVrv::DtUniqueID&);
354 
356  virtual void hideDialog();
357 
359  virtual void populate(const DtCreateObjectCommand* cmd);
360 
362  virtual bool blockSignals(bool);
363 
365  virtual void populateOverlays();
366 
368  virtual void setForce(int);
369 
371  virtual void hideForces();
372 
374  virtual void showForces();
375 
377  virtual void setReadOnly(bool);
378 
379  virtual void setColor(unsigned int color);
380 
382  virtual void addExtension(QWidget*);
383 
385  virtual void removeExtension(QWidget*);
386  virtual bool extendedLabelsValid() const;
387 
389  virtual void showPropertiesDialog(bool);
390 
392  virtual void setAttachObjectToMouse(bool);
393  virtual void setAttachObjectToMouseVisible(bool);
394  virtual bool attachObjectToMouse() const;
395 
396  virtual void setLabel( const QString& name );
397  virtual void setExtendedLabels( const std::map<int, DtString>& labels );
398  virtual void setLabelEntryVisible(bool b);
399 
400  virtual void updateCoordinateSystem();
401 
403  virtual void setEmbarkationWidgetVisible( bool flag );
404 
406  {
407  return myEmbarkationWidget;
408  }
409 
411  {
412  return myLocationWidget;
413  }
414 
415  protected:
416 
418  virtual void setupGui();
419 
421  virtual void setupConnections();
422 
424  virtual void closeEvent(QCloseEvent *event);
425 
427  virtual DtCircleObjectDefinitionDialogLogic* createLogic();
428 
429  virtual bool inGeocentric() const;
430 
431  virtual void showEvent(QShowEvent*);
432 
433  virtual bool showAlpha() const;
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_onHeadingChanged(double value);
447  virtual void slot_onSpiderWebSpokesChanged(int);
448  virtual void slot_onSpiderWebRingsChanged(int);
449  virtual void slot_onXRadiusChanged(const QString&);
450  virtual void slot_onYRadiusChanged(const QString&);
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 
459  public:
460 
461  Ui_DtCircleObjectDefinitionWidgetUi myUiImpl;
464  QWidget* myParent;
470 
471  protected:
475  QString myDefaultName;
478  unsigned int myBackgroundColor;
480  };
481 
483  {
484  public:
486  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
488 
489  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
491  const DtEditingType& editType);
492  };
493 }
DtDialogInteractionMode myInteractionMode
Definition: circleObjectDefinitionDialog.h:474
DtLocationEntryWidget * myLocationWidget
Definition: circleObjectDefinitionDialog.h:463
Widget that allows the selection of a force.
Definition: forceSelectionEntryWidget.h:57
Definition: createAndEditObjectDialogInterface.h:121
boost::signals2::signal< void(int)> signal_spiderWebSpokesChanged
Definition: circleObjectDefinitionDialog.h:346
A unicode string.
Definition: DtUnicode.h:33
DtAltitudeEntryWidget * myCeiling
Definition: circleObjectDefinitionDialog.h:467
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
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
DtEmbarkationWidget * myEmbarkationWidget
Definition: circleObjectDefinitionDialog.h:468
DtEmbarkationWidget * embarkationWidget()
Definition: circleObjectDefinitionDialog.h:405
DtSimCommand subclass for creating a new VrfObjects.
Definition: createObjectCommand.h:36
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:44
Definition: createAndEditObjectDialogInterface.h:29
Contains the DtUnitConverterCollection class declaration.
bool myBlockSignals
Definition: circleObjectDefinitionDialog.h:477
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
DtExtendedLabelsEntryWidget * myExtendedLabelsEntryWidget
Definition: circleObjectDefinitionDialog.h:465
This class defines the dialog that allows the creation/update of circle objects in the scenario...
Definition: circleObjectDefinitionDialog.h:192
boost::signals2::signal< void(int)> signal_spiderWebRingsChanged
Definition: circleObjectDefinitionDialog.h:350
Definition: vrfObjectManipulationHandlerBaseClass.h:88
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
makVrv::DtSignalConnectionManager myConnections
Definition: circleObjectDefinitionDialog.h:184
DtLocationEntryWidget * locationEntryWidget()
Definition: circleObjectDefinitionDialog.h:410
bool mySettingGuiUp
Definition: circleObjectDefinitionDialog.h:476
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:34
makVrv::DtDe & myDe
Definition: circleObjectDefinitionDialog.h:182
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
DtCircleObjectDefinitionDialog * myInterface
Definition: circleObjectDefinitionDialog.h:183
QString myDefaultName
Definition: circleObjectDefinitionDialog.h:475
Ui_DtCircleObjectDefinitionWidgetUi myUiImpl
Definition: circleObjectDefinitionDialog.h:461
Base class to provide boost signal/slot management.
bool myActivationTimeVisible
Definition: circleObjectDefinitionDialog.h:472
DtForceSelectionEntryWidget * myForces
Definition: circleObjectDefinitionDialog.h:462
DtCircleObjectDefinitionDialogLogic * myLogic
Definition: circleObjectDefinitionDialog.h:473
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:482
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.
Definition: DtDe.h:69
Definition: locationEntryWidget.h:44
boost::signals2::signal< void(double)> signal_floorChanged
Definition: circleObjectDefinitionDialog.h:336
bool myEditingLocation
Definition: circleObjectDefinitionDialog.h:479
unsigned int myBackgroundColor
Definition: circleObjectDefinitionDialog.h:478
boost::signals2::signal< void(double)> signal_ceilingChanged
Definition: circleObjectDefinitionDialog.h:340
DisplayUnitType
Indicates a type of display unit.
Definition: DtUnitConverterCollection.h:36
This class implements the logic behind the DtCircleObjectDefinitionDialog.
Definition: circleObjectDefinitionDialog.h:39
DtCreationSignalType
Definition: vrfObjectManipulationHandlerBaseClass.h:71
DtAltitudeEntryWidget * myFloor
Definition: circleObjectDefinitionDialog.h:466
int myNameCounter
Definition: circleObjectDefinitionDialog.h:185
DtOverlayParentEntryWidget * myOverlaysCombo
Definition: circleObjectDefinitionDialog.h:469
QWidget * myParent
Definition: circleObjectDefinitionDialog.h:464

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)