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);
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 DtObjectType& base, const DtObjectType& 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 DtObjectType& newType, const DtString& name,
78  const DtRwNLengthStringVector& categories = DtRwNLengthStringVector("categories"),
79  const makVrv::DtUnicode& elementDefinition = makVrv::DtUnicode::fromAscii(""));
80 
82  virtual DtModelSetEntry* addNewInheritingEntity(const DtObjectType& parentType, const DtObjectType& 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 DtObjectType&, const DtRwNLengthStringVector& categories);
105 
107  virtual void addNewMunitionEntry();
108 
110  virtual DtString addNewAmmunitionEntry(bool andSelect = false);
111 
112  virtual void processFileAddDataFile();
113  virtual void processAssignTagsBasedOnVisuals();
114  virtual void processFileOpenEntityEditorFile();
115  virtual void processFileSaveEntityEditorFile(bool signalSave = true);
116  virtual void processDeleteExisting();
117  virtual void processCreateNewEntity(int onlyForKind = -1);
118  virtual void processCreateNewSimulationObjectGroup();
119  virtual void processCreateNewRandomizedObject();
120  virtual void procesMakeSelectedTemplate();
121  virtual void processCreateSystemFromExisting();
122  virtual void processCreateSystemFromTemplate();
123  virtual void processCreateFromExisting();
124  virtual void processInheritFromExisting();
125  virtual void processPromoteExisting();
126  virtual void processEditIncludeFiles();
127  virtual void processEditSimulationObjectGroupConnection();
128  virtual void processEditBallisticMissileMovementFiles();
129  virtual void processEditPrecisionMovementFiles();
130  virtual void processEditCategories();
131  virtual void processEditSystemCategories();
132  virtual void processEditDeployableCountries();
133  virtual void processEditOverlayLayers();
134  virtual void processEditSubordinateFunctions();
135  virtual void processEditUpgradeOldSMS();
136  virtual void processFileApplyPlatformFileUpdates();
137  virtual void processRevertCategories();
138  virtual void processRevertSystemCategories();
139  virtual void processRevertDeployedCountries();
140  virtual void processRevertOverlayLayers();
141  virtual void processFileNewSimulationModelSet();
142  virtual void processLoadSmsFile(const QString& file);
143  virtual void processEditForces();
144  virtual void processEditSystemFiles();
145  virtual void processEditRollUpRules();
146  virtual void processEditAssemblyItems();
147  virtual void processEditActivities();
148  virtual void processEditAssemblies();
149  virtual void processComputeBVAndSP();
150  virtual void processEnableEditing();
151  virtual void processSMSProperties();
152 
153 protected slots:
156  virtual void opdEditorMessage();
157 
158  virtual void commFileMessagesReceived(const QStringList&);
159 
160 public:
161  boost::signals2::signal<void ()> signal_preSimulationModelSetSave;
162  boost::signals2::signal<void ()> signal_categoriesReverted;
163  boost::signals2::signal<void ()> signal_deployedCountriesReverted;
164  boost::signals2::signal<void ()> signal_overlayLayersReverted;
165  boost::signals2::signal<void (bool)> signal_simulationModelSetSaved;
166  boost::signals2::signal<void (DtModelSetEntry*, const DtEntityType&)> signal_opdEntryAdded;
167 
168 protected:
171  virtual QString parseCommandLine(const QString& command, QString& commandLine, QStringList& files) const;
172 
173 protected:
174  bool mySaving;
177 };
178 
179 DT_DLL_simulationObjectEditorimpl QString cleanupFilename(const QString&);
180 
183 {
184 public:
187 
190 
193 
195  static void registerInstance(makVrv::DtDe&, DtSimulationObjectEditorAppEventControllerCreator*);
196 
199 
200 protected:
202 };
Creator for the list.
Definition: simulationObjectEditorAppEventController.h:182
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:166
makVrf::DtFileCommChannel & launcherFileCommChannel()
Definition: simulationObjectEditorAppEventController.h:85
Definition: modelSetEntry.h:34
boost::signals2::signal< void()> signal_deployedCountriesReverted
Definition: simulationObjectEditorAppEventController.h:163
static const char * DtVisualsModified
Definition: simulationObjectEditorAppEventController.h:27
boost::signals2::signal< void()> signal_overlayLayersReverted
Definition: simulationObjectEditorAppEventController.h:164
Contains makVrv::DtVirtualBaseClass class.
Definition: simulationModelSetLoader.h:97
makVrv::DtDe & myDe
Definition: simulationObjectEditorAppEventController.h:175
Definition: simulationObjectEditorAppEventController.h:42
boost::signals2::signal< void()> signal_categoriesReverted
Definition: simulationObjectEditorAppEventController.h:162
static const char * DtBoundingVolumeDifferent
Definition: simulationObjectEditorAppEventController.h:29
boost::signals2::signal< void()> signal_preSimulationModelSetSave
Definition: simulationObjectEditorAppEventController.h:161
makVrf::DtFileCommChannel myLauncherFileCommChannel
Definition: simulationObjectEditorAppEventController.h:176
boost::signals2::signal< void(bool)> signal_simulationModelSetSaved
Definition: simulationObjectEditorAppEventController.h:165
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:174
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:72
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:201
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)