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

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)