VR-Forces 5.0.3 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 
98 public:
100  QVBoxLayout* myMainLayout;
101 
102  QWidget* myBasicCanvas;
103  QVBoxLayout* myBasicCanvasLayout;
109  QListWidget* myBasicEntityTypes;
113 
114  std::map<QString, DtRangedObjectType> myAvailableEntityTypes;
115 
116 protected:
120  bool myInEditMode = false;
121 };
DtEmbarkationEditor * myEmbarkationEditor
Definition: embarkationConfigurationDialog.h:99
std::map< QString, DtRangedObjectType > myAvailableEntityTypes
Definition: embarkationConfigurationDialog.h:114
QToolButton * myBasicAddType
Definition: embarkationConfigurationDialog.h:107
DtLoadPoint; Readable/writeable object for describing position for entity loading/unloading.
Definition: loadPoint.h:22
QWidget * myBasicCanvas
Definition: embarkationConfigurationDialog.h:102
QLabel * myAllowedObjectTypesLabel
Definition: embarkationConfigurationDialog.h:111
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:103
QPushButton * myBasicOKButton
Definition: embarkationConfigurationDialog.h:106
DtUiElement * pushButton()
Definition: embarkationConfigurationDialog.h:64
DtObjectType myObjectType
Definition: embarkationConfigurationDialog.h:117
QVBoxLayout * myMainLayout
Definition: embarkationConfigurationDialog.h:100
DtEmbarkationSlotEntry.
Definition: embarkationSlotEntry.h:27
Definition: objectType.h:27
Class that will keep track of all embarkation information.
Definition: embarkationInformation.h:22
Definition: rangedObjectType.h:19
UI Element for specifying a body position on an entity. Fills is a DtVector.
Definition: uiPositionElement.h:23
DtEmbarkationInformation myBasicEmbarkationInformation
Definition: embarkationConfigurationDialog.h:119
DtUiPositionElement * myBasicIngressPoint
Definition: embarkationConfigurationDialog.h:104
Definition: embarkationEditor.h:46
DtUiElement * myPushButton
Definition: embarkationConfigurationDialog.h:110
makVrv::DtDe & myDe
Definition: embarkationConfigurationDialog.h:118
std::vector< DtLoadPoint > LoadPoints
Definition: embarkationInformation.h:25
QToolButton * myBasicRemoveType
Definition: embarkationConfigurationDialog.h:108
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:70
QHBoxLayout * myAllowedObjectTypesLayout
Definition: embarkationConfigurationDialog.h:112
Definition: embarkationConfigurationDialog.h:37
QListWidget * myBasicEntityTypes
Definition: embarkationConfigurationDialog.h:109
#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:180
DtUiPositionElement * myBasicEgressPoint
Definition: embarkationConfigurationDialog.h:105

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)