VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scriptedObjectMovementEditor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
15 #include <QtWidgets/QDialog>
16 
17 class QPushButton;
18 class QToolButton;
19 class QComboBox;
20 class QListWidget;
21 class QSpinBox;
22 class QLabel;
23 class QTreeWidget;
24 class QIntValidator;
28 class QLineEdit;
29 class QFrame;
30 class QComboBox;
31 class QDoubleValidator;
32 class QGridLayout;
33 class QListWidgetItem;
34 
35 namespace makVrv
36 {
37  class DtDe;
38 }
39 
44 {
45  Q_OBJECT
46 
47 public:
48  DtScriptedObjectMovementEditor(makVrv::DtDe& de, bool precisionMode, QWidget* parent, const Qt::WindowFlags& flags = Qt::Tool);
50 
51 protected:
53  virtual void accept();
54 
56  virtual void setupFiles();
57 
59  virtual DtFilename defaultMovementFile() const;
60 
62  virtual DtEntityType defaultMissileType() const;
63 
65  std::vector<std::string> filesThatMatch(const std::string& ext) const;
66 
68  virtual void setupDefaultTypesFor(const DtEntityType&);
69 
70 
72  virtual DtComponentDescriptor* findFromSystem(const DtComponentSystemDescriptorList*) const;
73 
75  virtual DtComponentDescriptor* findFromComponents(const DtComponentDescriptorList*) const;
76 
78  virtual void addPhase(const DtScriptedMovementPhase&);
79 
80  virtual void setFormatsFromMovementFile();
81 
82 protected slots:
83  virtual void onAddScriptedObjectMovement();
84  virtual void onRemoveScriptedObjectMovement();
85  virtual void onRenameScriptedObjectMovement();
86  virtual void onSeletScriptedMovementObject();
87  virtual void onGroundClampTypeChanged();
88  virtual void onPhaseSelected();
89  virtual void onDescriptionChanged();
90  virtual void onAddCategory();
91  virtual void onRemoveCategory();
92  virtual void onCategorySelected();
93  virtual void onCategoryChanged(QListWidgetItem*);
94  virtual void onAddNewMissile();
95  virtual void onAddNewMovementFile();
96  virtual void onAddNewFileConfiguration();
97 
99  virtual void onAddPhase();
100 
102  virtual void onRemovePhase();
103 
105  virtual void onPhaseChanged();
106 
109  virtual void onMissileTypeChanged();
110 
113  virtual std::string configurationThatMatches(const DtScriptedMovementFileConfiguration&, QString nameIfMissing);
114 
115 public:
118 
133  QListWidget* myCategories;
134 
139  QGridLayout* myPhasesLayout;
140  QWidget* myPhasesCanvas;
141 
152 
153 protected:
155 
156  typedef std::map<std::string, DtScriptedMovementObject> ScriptedMovementObjectsMap;
159 
160  std::vector<std::string> myMovementFiles;
161  std::vector<DtEntityType> myMissileTypes;
162 
164 };
165 
168 {
169 public:
172 
175 
178 
180  static void registerInstance(makVrv::DtDe&, DtScriptedObjectMovementEditorCreator*);
181 
183  virtual DtScriptedObjectMovementEditor* create(QWidget* parent, bool precisionMode);
184 
185 protected:
187 };
QLabel * myGroundClampTypeLabel
Definition: scriptedObjectMovementEditor.h:148
QLabel * myFormatLabel
Definition: scriptedObjectMovementEditor.h:144
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
QToolButton * myRemoveScriptedObjectMovement
Definition: scriptedObjectMovementEditor.h:121
QLabel * myDescriptionLabel
Definition: scriptedObjectMovementEditor.h:128
QWidget * myPhasesCanvas
Definition: scriptedObjectMovementEditor.h:140
QToolButton * myRemovePhase
Definition: scriptedObjectMovementEditor.h:136
QToolButton * myAddNewMovementFile
Definition: scriptedObjectMovementEditor.h:125
QToolButton * myRenameScriptedObjectMovement
Definition: scriptedObjectMovementEditor.h:122
List of DtComponentSystemDescriptor instances.
Definition: componentSystemDescriptorList.h:20
QLabel * myMovementFileLabel
Definition: scriptedObjectMovementEditor.h:142
QToolButton * myAddCategory
Definition: scriptedObjectMovementEditor.h:131
QLabel * myInstructions
Definition: scriptedObjectMovementEditor.h:119
QComboBox * myMovementFile
Definition: scriptedObjectMovementEditor.h:143
Instances of DtComponentDescriptorList are readable/writeable lists of DtComponentDescriptor objects...
Definition: componentDescriptorList.h:22
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
QPushButton * myCancelButton
Definition: scriptedObjectMovementEditor.h:117
std::vector< std::string > myMovementFiles
Definition: scriptedObjectMovementEditor.h:160
makVrv::DtDe & myDe
Definition: scriptedObjectMovementEditor.h:186
QComboBox * myScriptedMovementObjects
Definition: scriptedObjectMovementEditor.h:127
makVrv::DtDe & myDe
Definition: scriptedObjectMovementEditor.h:163
QLabel * myCompletionRuleLabel
Definition: scriptedObjectMovementEditor.h:150
QToolButton * myAddPhase
Definition: scriptedObjectMovementEditor.h:135
Contains makVrv::DtVirtualBaseClass class.
bool myPrecisionMode
Definition: scriptedObjectMovementEditor.h:154
ScriptedMovementObjectsMap myScriptedMovementObjectsMap
Definition: scriptedObjectMovementEditor.h:157
QComboBox * myMissileType
Definition: scriptedObjectMovementEditor.h:147
QLabel * myScriptedMovementObjectsLabel
Definition: scriptedObjectMovementEditor.h:126
QToolButton * myRemoveCategory
Definition: scriptedObjectMovementEditor.h:132
QLabel * myPhasesLabel
Definition: scriptedObjectMovementEditor.h:137
QComboBox * myPhases
Definition: scriptedObjectMovementEditor.h:138
QToolButton * myAddScriptedObjectMovement
Definition: scriptedObjectMovementEditor.h:120
QLineEdit * myDescription
Definition: scriptedObjectMovementEditor.h:129
This class will allow for the adding, modifying or removing of scripted object files that will contai...
Definition: scriptedObjectMovementEditor.h:43
ScriptedMovementObjectsMap myScriptedObjectMovementsToRemove
Definition: scriptedObjectMovementEditor.h:158
QGridLayout * myPhasesLayout
Definition: scriptedObjectMovementEditor.h:139
QComboBox * myFormat
Definition: scriptedObjectMovementEditor.h:145
QPushButton * myOKButton
Definition: scriptedObjectMovementEditor.h:116
The DtScriptedMovementObject will contain information about an object that can be used for scripted m...
Definition: scriptedMovementObject.h:38
The DtScriptedMovementObject will contain information about an object that can be used for scripted m...
Definition: movementFile.h:37
Creator for the canvas.
Definition: scriptedObjectMovementEditor.h:167
QToolButton * myAddNewMissile
Definition: scriptedObjectMovementEditor.h:123
QToolButton * myAddNewFileConfiguration
Definition: scriptedObjectMovementEditor.h:124
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
QComboBox * myCompletionRule
Definition: scriptedObjectMovementEditor.h:151
QComboBox * myGroundClampType
Definition: scriptedObjectMovementEditor.h:149
QListWidget * myCategories
Definition: scriptedObjectMovementEditor.h:133
std::map< std::string, DtScriptedMovementObject > ScriptedMovementObjectsMap
Definition: scriptedObjectMovementEditor.h:156
std::vector< DtEntityType > myMissileTypes
Definition: scriptedObjectMovementEditor.h:161
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
QLabel * myCategoriesLabel
Definition: scriptedObjectMovementEditor.h:130
QLabel * myMissileTypeLabel
Definition: scriptedObjectMovementEditor.h:146

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)