VR-Forces 4.8 Class Documentation
 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 
29 namespace makVrv
30 {
31  class DtDe;
32 }
33 
35 {
36  Q_OBJECT
37 
38 public:
39  DtEmbarkationConfigurationDialog(makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags flags);
41 
42  static void ConfigureEmbarkation(makVrv::DtDe&, DtUiPushButtonElement*);
43 
44  virtual void init(DtUiElement* pushButton, const DtObjectType& t);
45 
46  const DtEmbarkationInformation& embarkationInformation() const;
47 
48 public:
51  static void addEntityType(const QString&, const DtRangedObjectType&);
52  static void removeEntityType(const QString&);
53  static void removeEntityType(const DtRangedObjectType&);
54  static void clearEntityTypes();
55  virtual DtRangedObjectType objectTypeFor(QListWidgetItem*);
56  virtual QString entityTypeText(const DtRangedObjectType&);
57  static std::map<QString, DtRangedObjectType>& entityTypes();
58  static void initializeEntityTypes();
60 
62  {
63  return myPushButton;
64  }
65 
66 protected:
67  virtual bool isComplex() const;
68  virtual bool isComplex(const DtEmbarkationInformation::LoadPoints&) const;
69  virtual bool isComplex(const DtEmbarkationSlotEntry&) const;
70  virtual bool isComplex(const DtLoadPoint&) const;
71 
72  virtual void createComplexEditor();
73  virtual void createBasicEditor(const DtEmbarkationInformation&);
74 
75  virtual void createBasicEntityTypesList();
76  virtual void validateBasicEmbarkationButtons();
77 
78  virtual QListWidgetItem* addSlot(const DtEmbarkationSlotEntry&);
79  virtual QListWidgetItem* addSlot(const DtRangedObjectType&);
80  virtual void removeSlot(int slot);
81 
82  virtual void reworkPointsFrom(int iIndex, DtEmbarkationInformation::LoadPoints& pnts) const;
83 
84  virtual QWidget* createLoadList(QWidget* parent, const QString& title, DtUiPositionElement*& position);
85 
86 protected slots:
87  virtual void switchToAdvanced();
88  virtual void switchToBasic();
89  virtual void selectedEntityTypeChanged();
90  virtual void addEntityType();
91  virtual void removeSelectedSlot();
92  virtual void elementDestroyed();
93 
94 public:
96  QVBoxLayout* myMainLayout;
97 
98  QWidget* myBasicCanvas;
99  QVBoxLayout* myBasicCanvasLayout;
105  QListWidget* myBasicEntityTypes;
107  std::map<QString, DtRangedObjectType> myAvailableEntityTypes;
108 
109 protected:
113 };
DtEmbarkationEditor * myEmbarkationEditor
Definition: embarkationConfigurationDialog.h:95
std::map< QString, DtRangedObjectType > myAvailableEntityTypes
Definition: embarkationConfigurationDialog.h:107
DtLoadPoint; Readable/writeable object for describing position for entity loading/unloading.
Definition: loadPoint.h:22
QWidget * myBasicCanvas
Definition: embarkationConfigurationDialog.h:98
UI Element for specify a push button that will trigger an action specified by the property &quot;slot&quot;...
Definition: uiPushButtonElement.h:20
QVBoxLayout * myBasicCanvasLayout
Definition: embarkationConfigurationDialog.h:99
QPushButton * myBasicOKButton
Definition: embarkationConfigurationDialog.h:102
DtUiElement * pushButton()
Definition: embarkationConfigurationDialog.h:61
QPushButton * myBasicAddType
Definition: embarkationConfigurationDialog.h:103
DtObjectType myObjectType
Definition: embarkationConfigurationDialog.h:110
QVBoxLayout * myMainLayout
Definition: embarkationConfigurationDialog.h:96
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.
Definition: uiPositionElement.h:23
DtEmbarkationInformation myBasicEmbarkationInformation
Definition: embarkationConfigurationDialog.h:112
DtUiPositionElement * myBasicIngressPoint
Definition: embarkationConfigurationDialog.h:100
Definition: embarkationEditor.h:42
DtUiElement * myPushButton
Definition: embarkationConfigurationDialog.h:106
makVrv::DtDe & myDe
Definition: embarkationConfigurationDialog.h:111
std::vector< DtLoadPoint > LoadPoints
Definition: embarkationInformation.h:25
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
QPushButton * myBasicRemoveType
Definition: embarkationConfigurationDialog.h:104
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: embarkationConfigurationDialog.h:34
QListWidget * myBasicEntityTypes
Definition: embarkationConfigurationDialog.h:105
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:32
Base class of the ui element class chain.
Definition: uiElement.h:169
DtUiPositionElement * myBasicEgressPoint
Definition: embarkationConfigurationDialog.h:101

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)