VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
uiAggregateElements.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2014 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
14 
15 class DtRwPropertiesMap;
16 
19 const char sAssembliesType[] = "assemblies";
20 const char sEquipmentType[] = "equipment";
21 const char sWeaponType[] = "weapon";
22 const char sAmmunitionType[] = "ammunition";
23 const char sVariableType[] = "variable";
24 
25 
28 {
29 public:
33 
34 
36 
38  std::vector<std::string> myIntAssemblyKeywords;
39  std::vector<std::string> myRealAssemblyKeywords;
40 };
41 
43 {
44  Q_OBJECT
45 
46 public:
49 
51  virtual ~DtUiAggregateElement() override;
52 
53  virtual DtAssembliesReaderWriter::RwRootNode* rootNodeFor(const std::string& keyword) const = 0;
54 
55 protected:
56  virtual void tableItemCreated(DtUiTableWidgetItem*, int row, int col) override;
57  virtual void addItemsToCombo(DtUiTableWidgetComboBox*);
58 
59  virtual void removeComboItem(const std::string&);
60 
61  virtual void fillInTableFromSelection(DtReaderWriter* rw) override;
62  virtual void initializeCombo(DtUiTableWidgetComboBox*) = 0;
63  virtual std::string type() const = 0;
64  virtual void comboChanged(DtUiTableWidgetComboBox* combo);
65  virtual void updateAddButton() override;
66 
67  virtual void itemRemoved(DtUiTableWidgetItem*) override;
68 
69  virtual bool findComboBox(QComboBox*, int& row, int& col) const;
70  virtual DtAssembliesReaderWriter::RwRootNode* rollupRootNodeFor(const std::string& keyword) const;
71 
72 protected slots:
73  virtual void comboChanged();
74 
75 protected:
76  std::vector<DtUiTableWidgetComboBox*> myKeyCombo;
77  std::map<std::string, std::string> myAvailableItems;
78 };
79 
81 {
82  Q_OBJECT
83 
84 public:
87 
89  virtual ~DtUiAggregateAmmunitionElement() override;
90 
92  virtual DtAssembliesReaderWriter::RwRootNode* rootNodeFor(const std::string& keyword) const override;
93 
94 protected:
95  virtual std::string type() const override { return "ammunition"; };
96  virtual void initializeCombo(DtUiTableWidgetComboBox*) override;
97 };
98 
100 {
101  Q_OBJECT
102 
103 public:
106 
108  virtual ~DtUiAggregateAssembliesElement() override;
109 
111  virtual DtAssembliesReaderWriter::RwRootNode* rootNodeFor(const std::string& keyword) const override;
112 
113 protected:
114  virtual void initializeCombo(DtUiTableWidgetComboBox*) override;
115  virtual void setFromParameters(const std::vector<DtReaderWriter*>& parentRw) override;
116  virtual void addRow() override;
117  virtual void removeRow(int) override;
118  virtual std::string type() const override { return "Assemblies"; };
119 
121  virtual void makeNewAssembly(const std::string& sAssemblyKeyword, const std::string& sGuiLabel, const DtModelSetEntry* pModelSetEntry) const;
122 
124  virtual void updateExistingAssembly(const std::string& sAssemblyKeyword,
125  const std::string& sGuiLabel,
126  const DtModelSetEntry* pModelSetEntry,
127  DtAssembliesReaderWriter::RwRootNode* pAssemblyNode) const;
128 
130  virtual void makeAssemblyVariableKeywords();
131 
134  virtual void updateEquipment(DtAssembliesReaderWriter::RwRootNode* pAssemblyNode, const DtRwPropertiesMap* pRwMap) const;
135 
136  virtual void updateSystems(DtAssembliesReaderWriter::RwRootNode* pAssemblyNode, const DtRwVariableBindingsList& fromBindingsList) const;
137 
138  template <typename RW_Type>
139  void updateAssemblySingleVariableValue(const DtString& variableName) const;
140 
141  virtual void updateAssemblyCountedAttributes(DtAssembliesReaderWriter::RwRootNode* pAssemblyNode, const std::string& sAttributeType, const DtRwPropertiesMap* pRwMap) const;
142 
143  virtual void updateAssemblySingleVariables(DtAssembliesReaderWriter::RwRootNode* pAssemblyNode, const DtRwVariableBindings& fromBindings) const;
144  virtual void updateAssemblyPropertiesInt(DtAssembliesReaderWriter::RwRootNode* pAssemblyNode, const std::vector<std::string>& keywords, const DtRwVariableBindings& fromBindings) const;
145  virtual void updateAssemblyPropertiesReal(DtAssembliesReaderWriter::RwRootNode* pAssemblyNode, const std::vector<std::string>& keywords, const DtRwVariableBindings& fromBindings) const;
146  virtual void updateAssemblySingleProperty(DtAssembliesReaderWriter::RwRootNode* pAssemblyNode, const std::string& sAttributeType, const DtReaderWriter* pRW) const;
148 
149 protected slots:
152  virtual void onCopyAsAssembly();
153 
154  virtual void onRollUp();
155 
156 
157 protected:
160 
161 public:
164 };
165 
167 {
168  Q_OBJECT
169 
170 public:
173 
175  virtual ~DtUiAggregateEquipmentElement() override;
176 
178  virtual DtAssembliesReaderWriter::RwRootNode* rootNodeFor(const std::string& keyword) const override;
179 
180 protected:
181  virtual void initializeCombo(DtUiTableWidgetComboBox*) override;
182  virtual std::string type() const override { return "equiment"; };
183 };
184 
186 {
187  Q_OBJECT
188 
189 public:
192 
194  virtual ~DtUiAggregateWeaponsElement() override;
195 
197  virtual DtAssembliesReaderWriter::RwRootNode* rootNodeFor(const std::string& keyword) const override;
198 
199 protected:
200  virtual void initializeCombo(DtUiTableWidgetComboBox*) override;
201  virtual std::string type() const override { return "weapon"; };
202 };
const char sAssembliesType[]
For DtUiAggregateAssembliesElement These are used to copy units into assemblies.
Definition: uiAggregateElements.h:19
Definition: uiPropertiesTable.h:148
std::vector< std::string > myIntAssemblyKeywords
These are populated in.
Definition: uiAggregateElements.h:38
Definition: uiAggregateElements.h:42
Definition: rwVariableBindingsList.h:16
Definition: uiPropertiesTable.h:135
std::vector< DtUiTableWidgetComboBox * > myKeyCombo
Definition: uiAggregateElements.h:76
virtual DtAssembliesReaderWriter::RwRootNode * rootNodeFor(const std::string &keyword) const =0
virtual void removeRow()
virtual void fillInTableFromSelection(DtReaderWriter *)
virtual std::string type() const override
Definition: uiAggregateElements.h:118
Definition: readerWriter.h:85
Definition: assembliesReaderWriter.h:31
const char sEquipmentType[]
Definition: uiAggregateElements.h:20
Definition: uiAggregateElements.h:99
virtual void tableItemCreated(DtUiTableWidgetItem *, int row, int col)
Definition: uiAggregateElements.h:166
virtual void itemRemoved(DtUiTableWidgetItem *)
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
Definition: modelSetEntry.h:34
virtual void setFromParameters(const std::vector< DtReaderWriter * > &parentRw) override
Definition: uiAggregateElements.h:185
const char sAmmunitionType[]
Definition: uiAggregateElements.h:22
static DtUiElement * CreatorFunction(makVrv::DtDe &)
virtual void updateAddButton()
const char sWeaponType[]
Definition: uiAggregateElements.h:21
Acts as a map for properties. A map is a definition that has a key and a prototype, with values being the key and prototype pair. The key can only be a string (DtRwStringType), int (DtRwIntType, DtRwInt8Type, DtRwInt16Type, DtRwInt32Type), or real (DtRwRealType, DtRwReal32Type, DtRwReal64Type).
Definition: rwPropertiesMap.h:41
const char sVariableType[]
Definition: uiAggregateElements.h:23
virtual std::string type() const override
Definition: uiAggregateElements.h:201
For DtUiAggregateAssembliesElement.
Definition: uiAggregateElements.h:27
virtual void addRow()
Definition: uiAggregateElements.h:80
virtual std::string type() const override
Definition: uiAggregateElements.h:182
virtual std::string type() const override
Definition: uiAggregateElements.h:95
QPushButton * myCopyAsAssembly
Definition: uiAggregateElements.h:163
virtual void initializeCombo(DtUiTableWidgetComboBox *)=0
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:76
QPushButton * myRollUp
Definition: uiAggregateElements.h:162
std::map< std::string, std::string > myAvailableItems
Definition: uiAggregateElements.h:77
Definition: uiPropertiesTable.h:52
std::vector< std::string > myRealAssemblyKeywords
Definition: uiAggregateElements.h:39
DtAssemblyVariableKeywordLookup myAssemblyVariableKeywordsLookup
Populated by makeAssemblyVariableKeywords();.
Definition: uiAggregateElements.h:159
#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:185

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)