VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simulationObjectEditorAppEventController.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 #if !defined(Q_MOC_RUN)
14 #include <vrvUtil/DtUnicode.h>
19 #endif
20 
21 #include <QObject>
22 
24 class DtFilename;
25 class DtModelSetEntry;
26 
27 static const char* DtVisualsModified = "visuals-modified";
28 static const char* DtVisualsChanged = "visuals-changed";
29 static const char* DtBoundingVolumeDifferent = "DtBoundingVolumeDifferent";
30 static const char* DtBoundingSupportPointsDifferent = "DtBoundingSupportPointsDifferent";
31 
32 namespace makVrv
33 {
34  class DtDe;
35 }
36 
37 namespace makVrf
38 {
39  class DtVrfGuiForceManager;
40 }
41 
43 {
44  Q_OBJECT
45 
46 public:
47 
50 
53 
54 public:
55  virtual bool loadSimulationModelSet(const DtSimulationModelSet&);
56  virtual bool saveSimulationModelSet(const DtFilename&, bool signalSave = true, bool forceSaveAll = false, QProgressBar* progressBar = nullptr, QLabel* fileLabel = nullptr);
57  virtual bool isModified() const;
58  virtual bool saveIfChanged();
59 
60  makVrf::DtVrfGuiForceManager* forceManager();
61 
62 public:
63  DtSimulationModelSetLoader* simulationModelSetLoader() const;
64 
67  virtual void addNewDataFile(const std::string&);
68 
71  virtual DtModelSetEntry* addNewEntity(const DtEntityType& base, const DtEntityType& newType, const DtString& name,
72  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"),
73  const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""), bool renameAmmoName = false);
74 
77  virtual DtModelSetEntry* addNewEntity(const std::string& platformType, const DtEntityType& newType, const DtString& name,
78  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"),
79  const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
80 
82  virtual DtModelSetEntry* addNewInheritingEntity(const DtEntityType& parentType, const DtEntityType& type,
83  const DtString& name);
84 
86  {
87  return myLauncherFileCommChannel;
88  }
89 
90  void setSaving(bool b)
91  {
92  mySaving = b;
93  }
94 
95  bool saving() const
96  {
97  return mySaving;
98  }
99 
100  virtual void processRevertExisting(const QString&);
101 
102  virtual void promoteSelectedEntity();
103  virtual void promoteSelectedSystem();
104  virtual bool promoteSimulationObject(const DtEntityType&, const DtRwNLengthStringVector& categories);
105 
107  virtual void addNewMunitionEntry();
108 
110  virtual DtEntityType addNewAmmunitionEntry(bool andSelect = false);
111 
112  virtual void processFileAddDataFile();
113  virtual void processAssignTagsBasedOnVisuals();
114  virtual void processFileOpenEntityEditorFile();
115  virtual void processFileSaveEntityEditorFile(bool signalSave = true, bool forceSaveAll = false, QProgressBar* progressBar = nullptr, QLabel* fileLabel = nullptr);
116  virtual void processSaveSystems(QProgressBar* progressBar = nullptr, QLabel* fileLabel = nullptr);
117  virtual void processDeleteExisting();
118  virtual void processCreateNewEntity(int onlyForKind = -1);
119  virtual void processCreateNewSimulationObjectGroup();
120  virtual void processCreateNewRandomizedObject();
121  virtual void procesMakeSelectedTemplate();
122  virtual void processCreateSystemFromExisting();
123  virtual void processCreateSystemFromTemplate();
124  virtual void processCreateFromExisting();
125  virtual void processInheritFromExisting();
126  virtual void processPromoteExisting();
127  virtual void processEditIncludeFiles();
128  virtual void processEditSimulationObjectGroupConnection();
129  virtual void processEditBallisticMissileMovementFiles();
130  virtual void processEditPrecisionMovementFiles();
131  virtual void processEditCategories();
132  virtual void processEditSystemCategories();
133  virtual void processEditDeployableCountries();
134  virtual void processEditOverlayLayers();
135  virtual void processEditSubordinateFunctions();
136  virtual void processEditUpgradeOldSMS();
137  virtual void processFileApplyPlatformFileUpdates();
138  virtual void processRevertCategories();
139  virtual void processRevertSystemCategories();
140  virtual void processRevertDeployedCountries();
141  virtual void processRevertOverlayLayers();
142  virtual void processFileNewSimulationModelSet();
143  virtual void processLoadSmsFile(const QString& file);
144  virtual void processEditForces();
145  virtual void processEditSystemFiles();
146  virtual void processEditRollUpRules();
147  virtual void processEditAssemblyItems();
148  virtual void processEditActivities();
149  virtual void processEditAssemblies();
150  virtual void processComputeBVAndSP();
151  virtual void processEnableEditing();
152  virtual void processSMSProperties();
153 
154 protected slots:
157  virtual void opdEditorMessage();
158 
159  virtual void commFileMessagesReceived(const QStringList&);
160 
161 public:
162  boost::signals2::signal<void ()> signal_preSimulationModelSetSave;
163  boost::signals2::signal<void ()> signal_categoriesReverted;
164  boost::signals2::signal<void ()> signal_deployedCountriesReverted;
165  boost::signals2::signal<void ()> signal_overlayLayersReverted;
166  boost::signals2::signal<void (bool)> signal_simulationModelSetSaved;
167  boost::signals2::signal<void (DtModelSetEntry*, const DtEntityType&)> signal_opdEntryAdded;
168 
169 protected:
172  virtual QString parseCommandLine(const QString& command, QString& commandLine, QStringList& files) const;
173 
174 protected:
175  bool mySaving;
178 };
179 
180 DT_DLL_simulationObjectEditorimpl QString cleanupFilename(const QString&);
181 
184 {
185 public:
188 
191 
194 
196  static void registerInstance(makVrv::DtDe&, DtSimulationObjectEditorAppEventControllerCreator*);
197 
200 
201 protected:
203 };
Creator for the list.
Definition: simulationObjectEditorAppEventController.h:183
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
static const char * DtVisualsChanged
Definition: simulationObjectEditorAppEventController.h:28
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
DT_DLL_simulationObjectEditorimpl QString cleanupFilename(const QString &)
Extends the force manager to add country codes.
Definition: vrfGuiForceManager.h:24
boost::signals2::signal< void(DtModelSetEntry *, const DtEntityType &)> signal_opdEntryAdded
Definition: simulationObjectEditorAppEventController.h:167
makVrf::DtFileCommChannel & launcherFileCommChannel()
Definition: simulationObjectEditorAppEventController.h:85
Definition: modelSetEntry.h:34
boost::signals2::signal< void()> signal_deployedCountriesReverted
Definition: simulationObjectEditorAppEventController.h:164
static const char * DtVisualsModified
Definition: simulationObjectEditorAppEventController.h:27
boost::signals2::signal< void()> signal_overlayLayersReverted
Definition: simulationObjectEditorAppEventController.h:165
Contains makVrv::DtVirtualBaseClass class.
Definition: simulationModelSetLoader.h:101
makVrv::DtDe & myDe
Definition: simulationObjectEditorAppEventController.h:176
Definition: simulationObjectEditorAppEventController.h:42
boost::signals2::signal< void()> signal_categoriesReverted
Definition: simulationObjectEditorAppEventController.h:163
static const char * DtBoundingVolumeDifferent
Definition: simulationObjectEditorAppEventController.h:29
boost::signals2::signal< void()> signal_preSimulationModelSetSave
Definition: simulationObjectEditorAppEventController.h:162
makVrf::DtFileCommChannel myLauncherFileCommChannel
Definition: simulationObjectEditorAppEventController.h:177
boost::signals2::signal< void(bool)> signal_simulationModelSetSaved
Definition: simulationObjectEditorAppEventController.h:166
bool saving() const
Definition: simulationObjectEditorAppEventController.h:95
A simulation model set contains all the information that can be used to support a scenario either for...
Definition: simulationModelSet.h:31
bool mySaving
Definition: simulationObjectEditorAppEventController.h:175
static const char * DtBoundingSupportPointsDifferent
Definition: simulationObjectEditorAppEventController.h:30
void setSaving(bool b)
Definition: simulationObjectEditorAppEventController.h:90
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
static DtUnicode fromAscii(const std::string &ascii)
Create a unicode string from an ascii string, the string MUST be zero terminated if the length is not...
The DtFileCommChannel class is a simple class that will use two files based on the given output file ...
Definition: fileCommChannel.h:27
makVrv::DtDe & myDe
Definition: simulationObjectEditorAppEventController.h:202
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33

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)