VR-Forces 5.0.3 Developer's Guide
 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 
11 
12 
13 #if !defined(Q_MOC_RUN)
16 #include <vrvCore/DtDeMainWindow.h>
20 #endif
21 
22 #include <set>
23 
24 #include <boost/signals2.hpp>
25 
26 #include <QtCore/QMap>
27 #include <QtCore/QVariant>
28 #include <QtWidgets/QMainWindow>
29 
35 class DtBehaviorUi;
37 class DtReadOnlyWidget;
38 class DtFilename;
39 class DtRwForces;
41 class DtModelSetEntry;
42 class QVBoxLayout;
43 class DtDisplayWidget;
44 class QLabel;
45 class QPushButton;
46 class QHBoxLayout;
47 class QSplitter;
48 class QTabWidget;
49 
50 namespace makVrf
51 {
52  class DtEntityMapperKey;
53 }
54 
56 {
57  Q_OBJECT
58 
59 public:
60 
62  DtSimulationObjectEditorWindow(makVrv::DtDe& de, QWidget* parent = NULL, Qt::WindowFlags flags = 0);
63 
66 
67 public:
68 
69  virtual bool canCreateExisting() const;
70  virtual bool canRevertExisting() const;
71  virtual bool canMakeTemplate() const;
72  virtual std::set<makVrf::DtEntityMapperKey> getSelectedInformation() const;
73 
75  virtual bool canDeleteExisting(bool any = false) const;
76 
77  virtual DtObjectType selectedObjectType() const;
78  virtual DtComponentSystemDefinition* selectedSystem() const;
79 
80  DtBehaviorUi* behaviorUi();
81 
82  virtual void bringToFront();
83 
85  virtual void getCategorySelections(DtRwForces&, DtRwNLengthStringVector&);
86 
88  virtual void getSelectedCategories(DtRwNLengthStringVector&);
89 
90  virtual void selectModel(DtModelSetEntry*, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
91  virtual void scheduleModelSelection(DtModelSetEntry*, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
92  virtual void scheduleModelSelection(const DtObjectType&, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
93  virtual void scheduleSystemSelection(DtComponentSystemDefinition*, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
94 
96  virtual void postSelectModel(DtModelSetEntry*);
97 
98  virtual std::vector<std::string> selectedCategories() const;
99  virtual void sendEvent(const DtUiElementEvent&);
100 
101  virtual void reselectModelWhenGetFocus(DtModelSetEntry* e);
102 
103  virtual void executeFilter();
104 
105  virtual void processElementChanged(DtUiElement*);
106 
108  virtual DtDisplayWidget* editingWindow();
109 
110  virtual void select(const std::vector<DtObjectType>&);
111  virtual bool selectedIsInMasterSMS() const;
112  virtual bool selectedParentIsInMasterSMS() const;
113  virtual bool canAddSubordinateToSelected() const;
114  virtual int selectedItemsCount() const;
115  virtual bool selectedIsPartOfSimulationObjectGroup() const;
116  virtual void redisplayListIcons();
117  virtual void resetVisuals();
118  virtual void elementModified(DtUiElement*);
119 
120  virtual void selectSystemFromFilename(DtFilename, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
121  virtual void selectSystem(DtComponentSystemDefinition*, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
122 
123  virtual void selectMunition(const DtObjectType&, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
124  virtual void scheduleMunitionSelection(const DtObjectType&, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
125 
126  virtual int currentTab() const;
127  virtual void setCurrentTab(int);
128 
129  virtual void copyListContentsToClipboard();
130 
131  virtual void labelModified(const std::vector<DtObjectType>&);
132 
133  boost::signals2::signal<void (const DtUiElementEvent&)> signal_uiEvent;
134  boost::signals2::signal<void (int)> signal_tabChanged;
135  boost::signals2::signal<void ()> signal_elementModified;
136  boost::signals2::signal<void ()> signal_objectSelected;
137  boost::signals2::signal<void (std::set<makVrf::DtEntityMapperKey>)> signal_revertedMunitions;
138  boost::signals2::signal<void (const std::vector<DtObjectType>&)> signal_labelModified;
139 
140 protected:
141  virtual void completeCategoriesChange();
142 
143  virtual void completeTypeChange(DtModelSetEntry*);
144 
146  virtual void setup();
147 
148  virtual void readOnlyChanged(bool);
149 
151  virtual void setApplicationTitle(const std::string& appName);
152 
154  virtual std::string applicationTitle() const;
155 
157  virtual void setApplicationIcon(const std::string& iconName);
158 
160  virtual void setShowQuitDialogOnClose(bool);
161 
163  virtual void destroyWindow();
164 
166  virtual void quit();
167 
168  virtual void categoriesReverted();
169  virtual void deployedCountriesReverted();
170  virtual void overlayLayersReverted();
171  virtual void scheduledSelectSystemFilename(DtFilename, std::vector<DtUiElementEvent> = std::vector<DtUiElementEvent>(), bool forceReselect = true);
172 
173 public:
175  {
176  return myTree;
177  }
178 
180  {
181  return mySystemTree;
182  }
183 
185  {
186  return myMunitionTree;
187  }
188 
189  virtual void clear();
190 
191 public slots:
192  virtual void preSimulationModelSetSave();
193  virtual void deleteExisting();
194  virtual void revertExisting();
195  virtual void opdEntryAdded(DtModelSetEntry*);
196  virtual void simulationModelSetLoaded();
197  virtual void newDataFileAdded();
198  virtual void preloadSimulationModelSet();
199  virtual void loadUiFiles(const DtFilename&);
200  virtual void creationStatusModified();
201  virtual void categoriesModified();
202 
203  virtual void selectEntity();
204  virtual void selectSystem();
205  virtual void selectMunition();
206  virtual void reselectModel();
207  virtual void entityTypeChanged(DtModelSetEntry* oldType, DtModelSetEntry* newType);
208 
209 protected:
210  virtual void simulationModelSetSaved();
211  virtual void tick();
212 
213  virtual void createBehaviorUi();
214  virtual void closeEvent(QCloseEvent* e);
215 
216 protected slots:
217  virtual void itemStatusChanged();
218  virtual void deployableCountriesModified();
219  virtual void uiEvent(const DtUiElementEvent&);
220  virtual void enableEditing();
221  virtual void tabChanged(int);
222  virtual void healthCheckResults(const QString&);
223 
224 protected:
225  virtual bool eventFilter(QObject*, QEvent*);
226  virtual void hierarchyChanged(const DtUiElementEvent&);
227 
228 public:
235 
236  QSplitter* mySplitter;
237  QWidget* myMainWidget;
239 
240 protected:
241  boost::signals2::connection myScheduledModelSelection;
242  boost::signals2::connection myScheduledSystemSelection;
245  bool myClosing;
250 
252 };
253 
255 {
256  return myBehaviorUi;
257 }
258 
261 {
262 public:
265 
268 
271 };
272 
Definition: behaviorUi.h:30
DtSimulationObjectEditorMunitionList * myMunitionTree
Definition: simulationObjectEditorWindow.h:232
boost::signals2::connection myScheduledModelSelection
Definition: simulationObjectEditorWindow.h:241
DtSimulationObjectEditorAppEventController * myAppEventController
Definition: simulationObjectEditorWindow.h:247
bool myFirstTick
Definition: simulationObjectEditorWindow.h:243
DtModelSetEntry * myEntryToReselectedOnFocus
Definition: simulationObjectEditorWindow.h:251
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
QWidget * myMainWidget
Definition: simulationObjectEditorWindow.h:237
virtual void quit()=0
Quit the application.
DtSimulationObjectEditorCanvas * myEntityEditorCanvas
Definition: simulationObjectEditorWindow.h:229
The abstract main window provider.
Definition: DtDeMainWindow.h:66
A simple widget with an embedded de.
Definition: displayDefinitionWidget.h:84
A styled QMainWindow that maintains color mappings for icons. This styled main window support mapping...
Definition: DtStyledQMainWindow.h:39
virtual DtDeMainWindow * createMainWindow(DtDe &de)=0
Create a main window.
Contains makVrv::DtDeMainWindow class.
Definition: objectType.h:27
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:25
boost::signals2::signal< void()> signal_elementModified
Definition: simulationObjectEditorWindow.h:135
Definition: modelSetEntry.h:34
boost::signals2::signal< void(int)> signal_tabChanged
Definition: simulationObjectEditorWindow.h:134
DtBehaviorUi * behaviorUi()
Definition: simulationObjectEditorWindow.h:254
QSplitter * mySplitter
Definition: simulationObjectEditorWindow.h:236
QString myPreSaveSelectedPath
Definition: simulationObjectEditorWindow.h:246
DtSimulationObjectEditorSystemList * systemEditorList()
Definition: simulationObjectEditorWindow.h:179
makVrv::DtSignalConnectionManager myTreeConnections
Definition: simulationObjectEditorWindow.h:249
Definition: simulationObjectEditorMunitionList.h:13
DtSimulationObjectEditorList * entityEditorList()
Definition: simulationObjectEditorWindow.h:174
Definition: simulationObjectEditorAppEventController.h:42
Definition: readOnlyWidget.h:26
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
virtual void setApplicationIcon(const std::string &iconName)=0
Set the application&#39;s icon, typically use a resource name.
The abstract main window class.
Definition: DtDeMainWindow.h:23
DtReadOnlyWidget * myReadOnlyWidget
Definition: simulationObjectEditorWindow.h:238
DtSimulationObjectEditorMunitionList * munitionEditorList()
Definition: simulationObjectEditorWindow.h:184
makVrv::DtSignalConnectionManager myConnectionManager
Definition: simulationObjectEditorWindow.h:248
Description: A readable, writable list of DtForceType.
Definition: rwForces.h:34
Creator to create the entity editor window.
Definition: simulationObjectEditorWindow.h:260
bool myClosing
Definition: simulationObjectEditorWindow.h:245
DtSimulationObjectEditorSystemList * mySystemTree
Definition: simulationObjectEditorWindow.h:231
boost::signals2::signal< void()> signal_objectSelected
Definition: simulationObjectEditorWindow.h:136
Base class to provide boost signal/slot management.
DtBehaviorUi * myBehaviorUi
Definition: simulationObjectEditorWindow.h:234
Definition: simulationObjectEditorCanvas.h:29
virtual std::string applicationTitle() const =0
Get the application&#39;s name.
DtSimulationObjectEditorList * myTree
Definition: simulationObjectEditorWindow.h:230
The DtUiElement class is the base for which all UI elements are defined. If you wish to create a new ...
Definition: uiElement.h:97
virtual void destroyWindow()=0
Destroy the window.
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
Definition: simulationObjectEditorSystemList.h:92
boost::signals2::connection myScheduledSystemSelection
Definition: simulationObjectEditorWindow.h:242
Definition: simulationObjectEditorList.h:160
DtModelSetEntry * mySelectedModel
Definition: simulationObjectEditorWindow.h:244
Contains makVrv::DtStyledQMainWindow class.
Definition: simulationObjectEditorWindow.h:55
#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
QTabWidget * myTabWidget
Definition: simulationObjectEditorWindow.h:233
virtual void setApplicationTitle(const std::string &appName)=0
Set the application&#39;s name, typically for the Title Bar.
boost::signals2::signal< void(const DtUiElementEvent &)> signal_uiEvent
Definition: simulationObjectEditorWindow.h:133

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)