VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
shapeObjectDefinitionDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 
10 #pragma once
11 
12 #include <vrvUtil/signalslib.h>
16 #include "shapeObjectDefinitionWidgetUi.hpp"
20 
21 #include <QtWidgets/QItemDelegate>
22 #include <QtWidgets/QTableWidget>
23 
24 class DtReferenceEllipsoid;
25 class QDialog;
26 class QDoubleValidator;
27 class QRegExpValidator;
28 class DtSetDataRequest;
29 
30 namespace makVrf
31 {
32  class DtOverlayParentEntryWidget;
33  class DtEmbarkationWidget;
34  class DtShapeObjectDefinitionDialog;
35  class DtVrfObjectManipulationHandlerBaseClass;
36  class DtHeadingEntryWidget;
37  class DtExtendedLabelsEntryWidget;
38  class DtForceSelectionEntryWidget;
39  class DtShapeValidatingTableWidget;
40  class DtAltitudeEntryWidget;
41 
46  {
47 
48  public:
49 
52 
55 
57  virtual void createConnections();
58 
60  virtual void terminateConnections();
61 
63  virtual void processLocationEdited(int currentRow=-1);
64 
66  virtual void processSelectLocation(int);
67 
69  virtual void processAddNewPoint();
70 
72  virtual void processRemovePoint(int index);
73 
75  virtual void processObjectCreation();
76 
78  virtual void processObjectUpdate();
79 
81  virtual void processDoneRequest();
82 
84  virtual void processCloseRequest();
85 
87  virtual void processCellEdited(int, int);
88 
89  virtual void onAltitudeSet(int, int);
90 
92  virtual void processCellEntered(int, int);
93 
95  virtual void processNamePrefixEdited();
96 
98  virtual void processLabelEdited(const std::string& name);
99 
101  virtual void processExtendedLabelsEdited(const std::map<int, DtString>& name);
102 
104  virtual void processItemSelectionChanged();
105 
109  virtual void processPopulateDialog(const makVrv::DtUniqueID& id );
110 
111  virtual void headingChanged();
112 
113  virtual bool inGeocentric() const;
114 
116  virtual void setupGui();
117 
119  virtual void updateLocations(const std::vector<DtGeodeticCoord>& locs);
120 
122  virtual bool isLine() const;
123 
125  virtual void populateDialogWithStmt(const DtCreateObjectCommand* cmd);
126 
128  virtual void populateOverlays();
129 
130  virtual void setForce(int);
131 
133  virtual void processAltitudeTypeChanged();
134 
135  virtual void attachToMouseChanged(bool b);
136 
137  virtual DtGeodeticCoord convertToGeodetic(const DtVector&) const;
138  virtual DtVector convertToLocal(const DtGeodeticCoord&) const;
139 
140  virtual void adjustAltitudesBy(double);
141  virtual void setAltitudesTo(DtAltitudeClampType, double);
142 
144  virtual void processItemAdded(int);
145 
148  virtual void showTerrainProfile();
149 
151  virtual void slot_pointSamplingRateChanged(int);
152 
154  virtual void slot_lineWidthChanged(int);
155 
157  virtual void slot_penStyleChanged(int);
158 
160  virtual void slot_arrowDataChanged(const std::string& s);
161 
163  virtual void slot_fillDataChanged(int);
164 
165  virtual int fillStyle() const;
166 
167  virtual void slot_onFloorChanged(double);
168  virtual void slot_onCeilingChanged(double);
169  virtual void slot_onFloorSet(double);
170  virtual void slot_onCeilingSet(double);
171 
173  virtual void reversePoints();
174  virtual void updateButtons();
175 
176  virtual void setActivationTime();
177 
179  virtual void setEmbarkationInformation(makVrv::DtUniqueID, bool);
180 
181  virtual void setupLabels();
182 
183  protected:
184 
186  virtual void closeDialog();
187 
188  virtual void slot_headingChangedByMouse(double headingInDeg);
189 
191  virtual void slot_onMouseLocationChanged(const DtVector& loc);
192 
194  virtual void slot_onMouseAltitudeChanged(double heading);
195 
197  virtual void slot_onHandlerStopped(DtVrfObjectManipulationHandlerBaseClass* handler);
198 
200  virtual void slot_onPlacement(const DtVector& loc);
201 
203  virtual void slot_onColorChanged(int);
204 
206  virtual void slot_onLocationAdded(const DtVector& loc);
207 
209  virtual void slot_onOverlayNameChanged(const std::string& name);
210 
212  virtual void slot_onForceChanged(int);
213 
214  virtual void objectCreated();
215 
216  virtual void slot_onCoordinateSystemChanged(
218  virtual void slot_onDisplayUnitDecimalsChanged(int);
219 
220  virtual void slot_onUnitChanged(int attribute, int from);
221 
222  virtual void restoreLocations();
223  virtual void backupLocations();
224 
225 
227  virtual void setupActivationTime(const DtSetDataRequest& setReq);
228 
230  virtual void slot_onPublishObjectChanged(bool);
231 
232  protected:
233 
236  DtReferenceEllipsoid* myReferenceForConversion;
239  std::vector<DtGeodeticCoord> myBackupLocations;
241  };
242 
243 
248  {
249 
250  Q_OBJECT
251 
252  public:
253 
255  DtShapeObjectDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="", DtDialogInteractionMode mode=DtCreationMode);
256 
259 
260  virtual void init(const DtEntityType&, const QString& title, bool forPlan,
262 
264  virtual void closeDialog();
265 
267  virtual void setLocationInGridFor(int row, const DtGeodeticCoord&,
270 
272  virtual bool validateDMS(const std::string& str) const;
273 
275  virtual void addLocation(const DtVector& loc, int index = -1);
276 
278  virtual void setEmbarkationAllowed( bool flag );
279 
280  virtual void clear();
281 
283  virtual void removePoint(int);
284 
286  virtual void setUseInputValidation(bool b);
287 
289  virtual void insertLocation(int index, const DtVector& loc);
290 
292  virtual void selectLocation(int index);
293 
295  virtual DtGeodeticCoord getLocation(int index);
296 
298  virtual QString getName();
299 
301  virtual void hideDialog();
302 
304  virtual int selectedPointIndex() const;
305 
307  virtual int rowCount() const;
308 
310  virtual void setAltitudeAboveTerrain(bool);
311 
313  virtual bool altitudeAboveTerrain() const;
314 
316  virtual void setAttachedToMouseVisible(bool);
317 
319  virtual void setName(const QString& name);
320 
322  virtual void setLabel(const QString& name);
323 
325  virtual void setExtendedLabels(const std::map<int, DtString>& lab);
326 
328  virtual void setLabelEntryVisible(bool);
329 
331  virtual void setNameVisible(bool flag);
332 
334  virtual void setSetActivationTimeVisible(bool flag);
335 
337  virtual void setTitle(const QString& title);
338 
340  virtual void setCreateButtonEnabled(bool flag);
341 
342  virtual void setAdjustStyleEnabled(bool);
343 
345  virtual void setCreateButtonText(const QString& text);
346 
348  virtual void setCreateButtonVisible(bool flag);
349 
351  virtual void setUpdateButtonEnabled(bool flag);
352 
354  virtual void setUpdateButtonVisible(bool flag);
355 
357  virtual void setAllowOverlaySelection(bool flag);
358 
360  virtual void setUpdateButtonText(const QString& text);
361 
363  virtual void setDoneButtonEnabled(bool flag);
364 
366  virtual void setDoneButtonVisible(bool flag);
367 
369  virtual void setShowFloorCeiling(bool);
370 
372  virtual void setFloor(double);
373  virtual double floor() const;
374  virtual void setFloorLabel(const QString&);
375  boost::signal<void (double)> signal_floorChanged;
376 
377  virtual void setCeiling(double);
378  virtual double ceiling() const;
379  virtual void setCeilingLabel(const QString&);
380  boost::signal<void (double)> signal_ceilingChanged;
381 
382  virtual void hideForces();
383 
385  virtual void setUpButtonVisible(bool flag);
386 
388  virtual void setDownButtonVisible(bool flag);
389 
391  virtual void setAddPointButtonVisible(bool flag);
392 
394  virtual void setAddPointButtonEnabled(bool flag);
395 
397  virtual void setAdjustAltitudeButtonVisible(bool flag);
398 
400  virtual void setAdjustAltitudeButtonEnabled(bool flag);
401 
403  virtual void setRemovePointButtonVisible(bool flag);
404 
406  virtual void setRemovePointButtonEnabled(bool flag);
407 
409  virtual void setShowStyleButton(bool flag);
410 
412  virtual void setShowColorButton(bool flag);
413 
415  virtual void setControlButtonsVisible(bool flag);
416 
418  virtual void setAttachObjectToMouse(bool);
419 
421  virtual DtDialogInteractionMode interactionMode();
422 
424  virtual void populate(const makVrv::DtUniqueID&);
425 
427  virtual void populate(const DtCreateObjectCommand* cmd);
428 
430  virtual bool blockSignals(bool);
431 
433  virtual void addOverlay(const QString& name, bool translate = true);
434 
436  virtual void removeOverlay(const QString& name);
437 
439  virtual void renameOverlay(const QString& oldName, const QString& newName);
440 
442  virtual void setOverlay(const QString& name);
443 
445  virtual void setPublishObjectVisible(bool);
446 
448  virtual void setPublishObject(bool);
449  virtual bool publishObject() const;
450 
452  virtual void clearOverlays();
453 
455  virtual void populateOverlays();
456 
458  virtual void setAltitudeAboveTerrain(int row, double alt);
459 
460  bool attachedToMouse() const;
461 
464  virtual double altitude(int) const;
465 
467  virtual void setAltitude(int, double, bool blocked = false);
468 
470  virtual void setAltitudeAllowed(bool);
471  bool altitudeAllowed() const
472  {
473  return myAltitudeAllowed;
474  }
475 
476  bool altitudeShown() const
477  {
478  return myAltitudeShown;
479  }
480 
482  virtual void setShowForces(bool);
483 
485  virtual void setReadOnly(bool);
486 
488  virtual void setReadOnly(int, bool);
489 
490  virtual void setColor(unsigned int color);
491 
492  virtual void setXLabel(const QString&);
493  virtual void setYLabel(const QString&);
494  virtual void setZLabel(const QString&);
495  virtual void adjustAltitudeAdjustmentDialogLabels();
496 
497  virtual void setupForCoordinateSystemAndUnits(makVrv::DtSharedDisplayUnitsSettings::CoordSys,
499 
501  virtual void setAllowHeadingChange(bool);
502 
504  virtual void setHeading(double);
505 
507  virtual double heading() const;
508 
510  virtual void refreshLocs();
511  virtual void refreshAltitudes();
512  virtual void refreshLocs(const std::vector<DtGeodeticCoord>&);
513 
514  virtual void clearSelection();
515 
517  virtual void setForce(int force);
518 
520  virtual void addExtension(QWidget*);
521 
523  virtual void removeExtension(QWidget*);
524 
526  virtual void showPropertiesDialog(bool);
527 
529  virtual void setTerrainProfileButtonEnabled(bool);
530  virtual void setTerrainProfileButtonVisible(bool);
531 
533  virtual void includeSpacer(bool);
534  virtual bool extendedLabelsValid() const;
535 
537  virtual void setEmbarkationWidgetVisible( bool flag );
538 
539  DtEmbarkationWidget* embarkationWidget()
540  {
541  return myEmbarkationWidget;
542  }
543 
544  virtual QSize minimumSizeHint() const;
545 
546  protected:
547 
551  virtual void addLocationIntoList(const DtGeodeticCoord& loc, int pos=-1,
554 
556  virtual void setupGui();
557 
559  virtual void setupConnections();
560 
562  virtual void closeEvent(QCloseEvent *event);
563 
568  virtual QDialog* createAltitudeAdjustmentDialog();
569 
571  virtual DtShapeObjectDefinitionDialogLogic* createLogic();
572  virtual bool showAlpha() const;
573 
574  virtual void showEvent(QShowEvent*);
575 
576  virtual void getDistanceAndAltitudeDecimals(int& decimals, int& altDecimals);
577 
578  public slots:
579 
581  virtual void slot_onShapeLocationsCellChanged(int, int);
582 
584  virtual void slot_altitudeTypeChanged();
585 
586  protected slots:
587  virtual void slot_onFloorChanged();
588  virtual void slot_onCeilingChanged();
589  virtual void slot_onReversePoints();
590  virtual void slot_onSetActivationTime();
591  virtual void slot_onLabelEdited();
592  virtual void slot_onExtendedLabelsEdited();
593  virtual void slot_itemSelectionChanged();
594  virtual void slot_onCreateButtonClicked();
595  virtual void slot_onUpdateButtonClicked();
596  virtual void slot_onDoneButtonClicked();
597  virtual void slot_onNamePrefixEdited();
598  virtual void slot_closePressed();
599  virtual void slot_onBtnMoveDownClicked();
600  virtual void slot_onBtnMoveUpClicked();
601  virtual void slot_onBtnAddPointClicked();
602  virtual void slot_onBtnRemovePointClicked();
603  virtual void slot_onShapeLocationsCellEntered( int, int);
604  virtual void slot_onOverlaysComboCurrentIndexChanged(int index);
605  virtual void slot_onForceComboCurrentIndexChanged(int index);
606  virtual void slot_attachedToMouseChanged();
607  virtual void slot_onAdjustAltitudeClicked();
608  virtual void slot_onShowTerrainProfile();
609  virtual void slot_onPublishObjectChanged();
610  virtual void slot_onBtnColorClicked();
611  virtual void slot_onBtnStyleClicked();
612 
613  public:
614 
615  Ui_ShapeObjectDefinitionWidgetUi myUiImpl;
624 
625  protected:
633  QWidget* myParent;
634  unsigned int myBackgroundColor;
635  DtEntityType myEditingType;
636  };
637 
639  {
640  public:
641  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
643 
644  virtual void initializeDialog(makVrv::DtDe& de, DtCreateAndEditObjectDialogInterface*, const DtEntityType& entityType,
646  const DtEditingType& editType);
647  };
648 
650  {
651  public:
653  virtual ~DtShapeTableValidator();
654 
655  protected:
656  virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
657  const QModelIndex &index) const;
658 
659  protected:
662  QDoubleValidator* myDoubleValidator;
663  QDoubleValidator* myLatValidator;
664  QDoubleValidator* myLonValidator;
666  };
667 
669  {
670  public:
672  virtual ~DtShapeValidatingTableWidget();
673 
675  virtual void commitData(QWidget *editor);
676  virtual bool validateDMS(const std::string&) const;
677 
678  protected:
680  };
681 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)