VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simulationObjectEditorWindow.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 
13 #include <vrvCore/DtDeMainWindow.h>
16 #include <set>
17 
18 #include <boost/signal.hpp>
19 
20 #include <QtCore/QMap>
21 #include <QtCore/QVariant>
22 #include <QtWidgets/QMainWindow>
23 
29 class DtBehaviorUi;
31 class DtReadOnlyWidget;
32 class DtFilename;
33 class DtRwForces;
35 class DtModelSetEntry;
36 class QVBoxLayout;
37 class DtDisplayWidget;
38 class QLabel;
39 class QPushButton;
40 class QHBoxLayout;
41 class QSplitter;
42 class QTabWidget;
43 
44 namespace makVrf
45 {
46  class DtEntityMapperKey;
47 }
48 
50 {
51  Q_OBJECT
52 
53 public:
54 
56  DtSimulationObjectEditorWindow(makVrv::DtDe& de, QWidget* parent = NULL, Qt::WindowFlags flags = 0);
57 
60 
61 public:
62 
63  virtual bool canCreateExisting() const;
64  virtual bool canRevertExisting() const;
65  virtual bool canMakeTemplate() const;
66  virtual std::set<makVrf::DtEntityMapperKey> getSelectedInformation() const;
67 
69  virtual bool canDeleteExisting(bool any = false) const;
70 
71  virtual DtObjectType selectedObjectType() const;
72  virtual DtComponentSystemDefinition* selectedSystem() const;
73 
74  DtBehaviorUi* behaviorUi();
75 
76  virtual void bringToFront();
77 
79  virtual void getCategorySelections(DtRwForces&, DtRwNLengthStringVector&);
80 
82  virtual void getSelectedCategories(DtRwNLengthStringVector&);
83 
84  virtual void selectModel(DtModelSetEntry*, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
85  virtual void scheduleModelSelection(DtModelSetEntry*, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
86  virtual void scheduleModelSelection(const DtObjectType&, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
87  virtual void scheduleSystemSelection(DtComponentSystemDefinition*, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
88 
90  virtual void postSelectModel(DtModelSetEntry*);
91 
92  virtual std::vector<std::string> selectedCategories() const;
93  virtual void sendEvent(const DtUiElementEvent&);
94 
95  virtual void reselectModelWhenGetFocus(DtModelSetEntry* e);
96 
97  virtual void executeFilter();
98 
99  virtual void processElementChanged(DtUiElement*);
100 
102  virtual DtDisplayWidget* editingWindow();
103 
104  virtual void select(const std::vector<DtObjectType>&);
105  virtual bool selectedIsInMasterSMS() const;
106  virtual bool canAddSubordinateToSelected() const;
107  virtual int selectedItemsCount() const;
108  virtual bool selectedIsPartOfSimulationObjectGroup() const;
109  virtual void redisplayListIcons();
110  virtual void resetVisuals();
111  virtual void elementModified(DtUiElement*);
112 
113  virtual void selectSystemFromFilename(const DtFilename&, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
114  virtual void selectSystem(DtComponentSystemDefinition*, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
115 
116  virtual void selectMunition(const DtObjectType&, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
117  virtual void scheduleMunitionSelection(const DtObjectType&, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
118 
119  virtual int currentTab() const;
120  virtual void setCurrentTab(int);
121 
122  virtual void copyListContentsToClipboard();
123 
124  virtual void labelModified(const std::vector<DtObjectType>&);
125 
126  boost::signal<void (const DtUiElementEvent&)> signal_uiEvent;
127  boost::signal<void (int)> signal_tabChanged;
128  boost::signal<void ()> signal_elementModified;
129  boost::signal<void ()> signal_objectSelected;
130  boost::signal<void (std::set<makVrf::DtEntityMapperKey>)> signal_revertedMunitions;
131  boost::signal<void (const std::vector<DtObjectType>&)> signal_labelModified;
132 
133 protected:
134  virtual void completeTypeChange(DtModelSetEntry*);
135 
137  virtual void setup();
138 
139  virtual void readOnlyChanged(bool);
140 
142  virtual void setApplicationTitle(const std::string& appName);
143 
145  virtual std::string applicationTitle() const;
146 
148  virtual void setApplicationIcon(const std::string& iconName);
149 
151  virtual void setShowQuitDialogOnClose(bool);
152 
154  virtual void destroyWindow();
155 
157  virtual void quit();
158 
159  virtual void categoriesReverted();
160  virtual void deployedCountriesReverted();
161  virtual void overlayLayersReverted();
162 
163 public:
164  DtSimulationObjectEditorList* entityEditorList()
165  {
166  return myTree;
167  }
168 
170  {
171  return mySystemTree;
172  }
173 
175  {
176  return myMunitionTree;
177  }
178 
179  virtual void clear();
180 
181 public slots:
182  virtual void preSimulationModelSetSave();
183  virtual void deleteExisting();
184  virtual void revertExisting();
185  virtual void opdEntryAdded(DtModelSetEntry*);
186  virtual void simulationModelSetLoaded();
187  virtual void newDataFileAdded();
188  virtual void preloadSimulationModelSet();
189  virtual void loadUiFiles(const DtFilename&);
190  virtual void creationStatusModified();
191  virtual void categoriesModified();
192 
193  virtual void selectEntity();
194  virtual void selectSystem();
195  virtual void selectMunition();
196  virtual void reselectModel();
197  virtual void entityTypeChanged(DtModelSetEntry* oldType, DtModelSetEntry* newType);
198 
199 protected:
200  virtual void simulationModelSetSaved();
201  virtual void tick();
202 
203  virtual void createBehaviorUi();
204  virtual void closeEvent(QCloseEvent* e);
205 
206 protected slots:
207  virtual void itemStatusChanged();
208  virtual void deployableCountriesModified();
209  virtual void uiEvent(const DtUiElementEvent&);
210  virtual void enableEditing();
211  virtual void tabChanged(int);
212  virtual void healthCheckResults(const QString&);
213 
214 protected:
215  virtual bool eventFilter(QObject*, QEvent*);
216  virtual void hierarchyChanged(const DtUiElementEvent&);
217 
218 public:
225 
226  QSplitter* mySplitter;
227  QWidget* myMainWidget;
229 
230 protected:
231  boost::signalslib::connection myScheduledModelSelection;
234  bool myClosing;
239 
241 };
242 
244 {
245  return myBehaviorUi;
246 }
247 
250 {
251 public:
254 
257 
260 };
261 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)