VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
embarkationConfigurationDialog.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2013 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 #pragma once
9 
10 #if !defined(Q_MOC_RUN)
14 #endif
15 
16 #include <QtWidgets/QDialog>
17 #include <QtCore/QHash>
18 
21 class QVBoxLayout;
24 class QListWidget;
25 class QPushButton;
26 class QListWidgetItem;
27 class DtUiElement;
28 class QToolButton;
29 class QLabel;
30 class QHBoxLayout;
31 
32 namespace makVrv
33 {
34  class DtDe;
35 }
36 
38 {
39  Q_OBJECT
40 
41 public:
42  DtEmbarkationConfigurationDialog(makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags flags);
44 
45  static void ConfigureEmbarkation(makVrv::DtDe&, DtUiPushButtonElement*);
46 
47  virtual void init(DtUiElement* pushButton, const DtObjectType& t);
48 
49  const DtEmbarkationInformation& embarkationInformation() const;
50 
51 public:
54  static void addEntityType(const QString&, const DtRangedObjectType&);
55  static void removeEntityType(const QString&);
56  static void removeEntityType(const DtRangedObjectType&);
57  static void clearEntityTypes();
58  virtual DtRangedObjectType objectTypeFor(QListWidgetItem*);
59  virtual QString entityTypeText(const DtRangedObjectType&);
60  static std::map<QString, DtRangedObjectType>& entityTypes();
61  static void initializeEntityTypes();
63 
65  {
66  return myPushButton;
67  }
68 
69 protected:
70  virtual void closeEvent(QCloseEvent* ce) override;
71  virtual bool isComplex() const;
72  virtual bool isComplex(const DtEmbarkationInformation::LoadPoints&) const;
73  virtual bool isComplex(const DtEmbarkationSlotEntry&) const;
74  virtual bool isComplex(const DtLoadPoint&) const;
75 
76  virtual void createComplexEditor();
77  virtual void createBasicEditor(const DtEmbarkationInformation&);
78 
79  virtual void createBasicEntityTypesList();
80  virtual void validateBasicEmbarkationButtons();
81 
82  virtual QListWidgetItem* addSlot(const DtEmbarkationSlotEntry&);
83  virtual QListWidgetItem* addSlot(const DtRangedObjectType&);
84  virtual void removeSlot(int slot);
85 
86  virtual void reworkPointsFrom(int iIndex, DtEmbarkationInformation::LoadPoints& pnts) const;
87 
88  virtual QWidget* createLoadList(QWidget* parent, const QString& title, DtUiPositionElement*& position);
89 
90 protected slots:
91  virtual void switchToAdvanced();
92  virtual void switchToBasic();
93  virtual void selectedEntityTypeChanged();
94  virtual void addEntityType();
95  virtual void removeSelectedSlot();
96  virtual void elementDestroyed();
97  virtual void apply();
98 
99 public:
101  QVBoxLayout* myMainLayout;
102 
103  QWidget* myBasicCanvas;
104  QVBoxLayout* myBasicCanvasLayout;
110  QListWidget* myBasicEntityTypes;
114  QPushButton* myBasicCancelButton = nullptr;
115  QPushButton* myAdvancedCancelButton = nullptr;
116 
117  std::map<QString, DtRangedObjectType> myAvailableEntityTypes;
118 
119 protected:
120  DtObjectType myObjectType;
123  bool myInEditMode = false;
124 };
DtEmbarkationEditor * myEmbarkationEditor
Definition: embarkationConfigurationDialog.h:100
std::map< QString, DtRangedObjectType > myAvailableEntityTypes
Definition: embarkationConfigurationDialog.h:117
QToolButton * myBasicAddType
Definition: embarkationConfigurationDialog.h:108
DtLoadPoint; Readable/writeable object for describing position for entity loading/unloading.
Definition: loadPoint.h:22
QWidget * myBasicCanvas
Definition: embarkationConfigurationDialog.h:103
QLabel * myAllowedObjectTypesLabel
Definition: embarkationConfigurationDialog.h:112
UI Element for specify a push button that will trigger an action specified by the property &quot;slot&quot;...
Definition: uiPushButtonElement.h:21
QVBoxLayout * myBasicCanvasLayout
Definition: embarkationConfigurationDialog.h:104
QPushButton * myBasicOKButton
Definition: embarkationConfigurationDialog.h:107
DtUiElement * pushButton()
Definition: embarkationConfigurationDialog.h:64
DtObjectType myObjectType
Definition: embarkationConfigurationDialog.h:120
QVBoxLayout * myMainLayout
Definition: embarkationConfigurationDialog.h:101
DtEmbarkationSlotEntry.
Definition: embarkationSlotEntry.h:27
Class that will keep track of all embarkation information.
Definition: embarkationInformation.h:22
UI Element for specifying a body position on an entity. Fills is a DtVector.
Definition: uiPositionElement.h:23
DtEmbarkationInformation myBasicEmbarkationInformation
Definition: embarkationConfigurationDialog.h:122
DtUiPositionElement * myBasicIngressPoint
Definition: embarkationConfigurationDialog.h:105
Definition: embarkationEditor.h:54
DtUiElement * myPushButton
Definition: embarkationConfigurationDialog.h:111
makVrv::DtDe & myDe
Definition: embarkationConfigurationDialog.h:121
std::vector< DtLoadPoint > LoadPoints
Definition: embarkationInformation.h:25
QToolButton * myBasicRemoveType
Definition: embarkationConfigurationDialog.h:109
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
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
QHBoxLayout * myAllowedObjectTypesLayout
Definition: embarkationConfigurationDialog.h:113
Definition: embarkationConfigurationDialog.h:37
QListWidget * myBasicEntityTypes
Definition: embarkationConfigurationDialog.h:110
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
Base class of the ui element class chain. Properties available through designer for all ui elements a...
Definition: uiElement.h:183
DtUiPositionElement * myBasicEgressPoint
Definition: embarkationConfigurationDialog.h:106

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)