VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simulationObjectEditorApplication.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
15 #include <vrvCore/DtDe.h>
16 
20 
21 #include <vlutil/vlString.h>
22 #include <vlutil/vlFilename.h>
23 #include <matrix/vlVector.h>
24 
25 #include <QtCore/QString>
26 
28 class DtBehaviorUi;
29 class DtBehaviorCanvas;
30 class DtUiElement;
33 class DtDisplayWidget;
36 
37 const char SMS_FILE[] = "smsFile";
38 const char OPD_EDITOR_LOCATION[] = "opdEditorLocation";
39 const char VRF_LAUNCHER_LOCATION[] = "vrfLauncherLocation";
40 const char VISUAL_TERRAIN[] = "visualTerrain";
41 const char FILE_DIALOG_PRIORITY[] = "fileDialogPriority";
42 const char SNAP_TO_GRID[] = "snapToGrid";
43 const char APP_DATA_DIR[] = "appDataDir";
44 const char DATA_DIR[] = "dataDir";
45 const char VRF_LAYOUT_SETTINGS_FILE[] = "layoutSettingsFile";
46 const char PARTIAL_LOAD[] = "partialLoad";
47 
48 namespace makVrv
49 {
50  class DtDe;
51  class DtDeMainWindowProvider;
52 }
53 
57 {
58 public:
61 
63  virtual ~DtGuiOnlyMenuAssembler() override;
64 
65 protected:
66  virtual QMenuBar* menuBar() override;
67  virtual QWidget* menuWindow() override;
68 };
69 
71 {
72 public:
73 
76  {
77  }
78 
80  virtual ~DtGuiOnlyMenuAssemblerCreator() override {
81  }
82 
84  virtual makVrv::DtMenuAssembler* create(makVrv::DtDe& de) override;
85 
86 };
87 
93 {
94 public:
96  DtGuiOnlyDe();
97 
99  virtual ~DtGuiOnlyDe() override;
100 
102  {
103  myPerformedUpgradeCheck = b;
104  }
105 
106 protected:
108  virtual InitializationResult initialize() { return initialize(false, false); };
109  virtual InitializationResult initialize(bool abortOnFailure, bool useLicenseErrorDialog) override;
110  virtual void postInitialize() override;
111 
112  virtual void setDeInitializer(const makVrv::DtDeInitializer& initializer) override;
113 
114  virtual void tick(double) override;
115 
116 protected:
117  bool myPerformedUpgradeCheck = false;
118 };
119 
125 {
126 public:
127 
130 
132  virtual ~DtParameterAlteringApplication() override;
133 
137  virtual void initialize( int argc, char** argv) override;
138 
141  virtual std::string startupValue(const std::string&) const;
142 
144  virtual void setStartupValue(const std::string& key, const std::string& value);
145 
148 
149  virtual void run() override;
150 
152  virtual void setMainWindowCreatorFunction(makVrv::DtDeMainWindowProvider*);
153 
154  virtual void preInitialize(int argc, char** argv) override;
155 
156 public:
160 
165  virtual void addParameterType(const char* controllerName, const char* likeUi, DtSimObjectParametersCreatorFcn fcn = NULL) ;
166  virtual void addController(const char* controllerName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
167  virtual void addSensor(const char* sensorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
168  virtual void addActuator(const char* actuatorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
169 
171  virtual void addUserExtentsion(const DtString& type, DtVrfSRUserExtensionCreatorFcn fcn) ;
172 
173  virtual DtReaderWriterClassDocDB* parameterDocDB() const;
174 
176 
177 protected:
179  virtual void setupMenu() = 0;
180 
181  virtual void loadTranslationFiles(const std::string&) override;
182 
183  virtual void assemble() override;
184 
185  virtual void dePostInitialize() override;
186 
188  virtual void loadPluginModulesExt() override;
189 
191  virtual bool updateCurrentGuiConfiguration() override;
192 
197  virtual bool loadParameterDocDB(DtReaderWriterClassDocDB& parameterDocDB);
198 
200  virtual DtReaderWriterClassDocDB* createParameterDocDB() const;
201 
202 protected:
203  std::map<std::string, std::string> myStartupValues;
204  std::map<DtString, DtVector> myVisualPlacements;
207 };
208 
211 {
212 public:
213 
216 
218  virtual ~DtSimulationObjectEditorApplication() override;
219 
223  virtual void initialize( int argc, char** argv) override;
224 
227 
229  virtual void setPerformUpgradeOn(const DtFilename&);
230  const DtFilename& performUpgradeOn() const
231  {
232  return myPerformUpgradeOn;
233  }
234  virtual bool performUpgrade(const DtFilename&);
235 
237  virtual void setPerformSystemUpgradeOn(const DtFilename&);
238  const DtFilename& performSystemUpgradeOn() const
239  {
240  return myPerformSystemUpgradeOn;
241  }
242  virtual bool performSystemUpgrade(const DtFilename&);
243 
245  virtual DtSimulationObjectEditorAppEventController* appEventController();
246 
248  virtual DtSimulationObjectEditorWindow* mainWindow();
249 
251  virtual void addVisualTypeMapping(const DtString&, const DtVector&);
252  virtual DtVector visualPlacement(const DtString&);
253 
255  virtual DtDisplayWidget* editingWindow();
256 
257  virtual QString sematicText(int) const;
258 
259  //created so that we can dynamically add another menu item that relies on the display de
260  virtual void assemble() override;
261 
262  virtual void setDarkMode(bool b);
263 
264 protected:
266  virtual void setupMenu() override;
267  void initSemanticsTextMapping();
268 
269  virtual void loadPluginModules() override;
270 
271 public:
272  const std::map<int, QString>& sematicsTextMappings() const { return mySemanticsTextMapping; };
273 
275  boost::signals2::signal<void ()> signal_preBehaviorUiCreate;
276 
278  boost::signals2::signal<void (DtBehaviorUi*)> signal_postBehaviorUiCreate;
279 
281  boost::signals2::signal<void (DtBehaviorCanvas*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_preBehaviorCanvasCreate;
282  boost::signals2::signal<void (DtBehaviorCanvas*, std::vector<DtComponentSystemDefinition*>)> signal_preSystemBehaviorCanvasCreate;
283 
285  boost::signals2::signal<void (DtBehaviorCanvas*, QWidget*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_postBehaviorCanvasCreate;
286  boost::signals2::signal<void (DtBehaviorCanvas*, QWidget*, std::vector<DtComponentSystemDefinition*>)> signal_postSystemBehaviorCanvasCreate;
287 
289  boost::signals2::signal<void (DtUiElement*)> signal_uiElementModified;
290 
291  boost::signals2::signal<void (makVrv::DtDe&)> signal_preDisplayWidgetCreation;
292  boost::signals2::signal<void (makVrv::DtDe&)> signal_displayDeAboutToBeInitialized;
293 
294 protected:
296  std::map<int, QString> mySemanticsTextMapping;
298  DtFilename myPerformUpgradeOn;
300 };
Definition: behaviorUi.h:30
virtual InitializationResult initialize()
Limited initialize and post-initialize.
Definition: simulationObjectEditorApplication.h:108
virtual void assemble() override
No-op. delayedAssemble is called when de has been post initialized.
const char VRF_LAUNCHER_LOCATION[]
Definition: simulationObjectEditorApplication.h:39
virtual QWidget * menuWindow()
Entity editor version of the parameter altering application.
Definition: simulationObjectEditorApplication.h:210
const char PARTIAL_LOAD[]
Definition: simulationObjectEditorApplication.h:46
DtVrfObjectParameters *(* DtSimObjectParametersCreatorFcn)(DtEnvironmentSP env, DtEnvValueSP *objectNode)
Definition: vrfObjectParameterFactory.h:25
boost::signals2::signal< void(DtBehaviorUi *)> signal_postBehaviorUiCreate
Signal sent after behavior ui is created.
Definition: simulationObjectEditorApplication.h:278
virtual void setupMenu()=0
Sets up a menu.
virtual void setDeInitializer(const DtDeInitializer &initializer)
Set the Display Engine initializer used to initialize the Display Engine. This call will do nothing i...
std::map< int, QString > mySemanticsTextMapping
Definition: simulationObjectEditorApplication.h:296
virtual void dePostInitialize()
Called during the post initialize process of the de, initialize some things before drivers get initia...
virtual bool updateCurrentGuiConfiguration() override
Updates the current GUI configuration with the current UI layout status.
const char OPD_EDITOR_LOCATION[]
Definition: simulationObjectEditorApplication.h:38
InitializationResult
Result codes for the initialize() function.
Definition: DtDe.h:126
The abstract main window provider.
Definition: DtDeMainWindow.h:74
Contains makVrv::DtDe class.
DtGuiOnlyMenuAssemblerCreator()
CTOR.
Definition: simulationObjectEditorApplication.h:75
virtual DtMenuAssembler * create(DtDe &de)=0
Create an assembler.
A simple widget with an embedded de.
Definition: displayDefinitionWidget.h:91
A Qt implementation of a DtMenuAssembler.
Definition: DtQtMenuAssembler.h:26
boost::signals2::signal< void(makVrv::DtDe &)> signal_preDisplayWidgetCreation
Definition: simulationObjectEditorApplication.h:291
static DtVrfGuiApplication * app(makVrv::DtDe &)
void setPerformedUpgradeCheck(bool b)
Definition: simulationObjectEditorApplication.h:101
Menu assembler that works in conjunction with gui only de to only expect a QMainWindow as the driver ...
Definition: simulationObjectEditorApplication.h:56
const char VISUAL_TERRAIN[]
Definition: simulationObjectEditorApplication.h:40
std::map< std::string, std::string > myStartupValues
Definition: simulationObjectEditorApplication.h:203
Definition: rwClassDocDB.h:25
const DtFilename & performUpgradeOn() const
Definition: simulationObjectEditorApplication.h:230
Contains makVrv::DtQtMenuAssembler class.
boost::signals2::signal< void(makVrv::DtDe &)> signal_displayDeAboutToBeInitialized
Definition: simulationObjectEditorApplication.h:292
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:27
Definition: behaviorCanvas.h:33
The root IG for VR-Forces. Inherits from makVrv::DtVrfApplication.
Definition: vrfGuiApplication.h:47
DtFilename myPerformSystemUpgradeOn
Definition: simulationObjectEditorApplication.h:299
virtual ~DtGuiOnlyMenuAssemblerCreator() override
DTOR.
Definition: simulationObjectEditorApplication.h:80
const char APP_DATA_DIR[]
Definition: simulationObjectEditorApplication.h:43
Definition: simulationModelSetLoader.h:101
boost::signals2::signal< void(DtUiElement *)> signal_uiElementModified
Signal sent when a UI element is modified.
Definition: simulationObjectEditorApplication.h:289
const char SNAP_TO_GRID[]
Definition: simulationObjectEditorApplication.h:42
virtual void tick(double simTime)
A very important function which provides a since tick of execution which is required for the app to r...
virtual void loadTranslationFiles(const std::string &lang)
const char VRF_LAYOUT_SETTINGS_FILE[]
Definition: simulationObjectEditorApplication.h:45
Definition: simulationObjectEditorAppEventController.h:42
Definition: simulationObjectEditorApplication.h:70
DtReaderWriterClassDocDB * myParameterDocDB
Definition: simulationObjectEditorApplication.h:206
This owns a list of display engine configurations.
Definition: DtVrvApplicationConfiguration.h:32
DtComponentDescriptor *(* DtComponentDescriptorCreatorFcn)()
Definition: componentDescriptorFactory.h:24
std::map< DtString, DtVector > myVisualPlacements
Definition: simulationObjectEditorApplication.h:204
virtual void preInitialize(int argc, char **argv) override
Pre-initialize Call before calling initialize().
virtual void loadPluginModulesExt()
Reimplement this method to load additional plugin modules (read from the .xml files) after all core p...
bool myDarkMode
Definition: simulationObjectEditorApplication.h:297
The combination of this DE and the entity editor application will only perform the functions of creat...
Definition: simulationObjectEditorApplication.h:92
virtual InitializationResult initialize(bool abortOnLicenseFailure=true, bool useLicenseErrorDialog=true)
Initialize the application prior to running it. It is required that this function be called prior to ...
virtual QMenuBar * menuBar()
const DtFilename & performSystemUpgradeOn() const
Definition: simulationObjectEditorApplication.h:238
virtual void run() override
Runs the application. Signals deInitialized if application has started successfully.
bool myUpdateGuiConfiguration
Definition: simulationObjectEditorApplication.h:205
virtual void postInitialize()
Connect initialized components and call postInit signal.
virtual void loadPluginModules() override
Override to set up additional plugins to load. Based on what is returned if one were to call addition...
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
DtFilename myPerformUpgradeOn
Definition: simulationObjectEditorApplication.h:298
An abstract menu assembler base class.
Definition: DtMenuAssembler.h:25
const char SMS_FILE[]
Definition: simulationObjectEditorApplication.h:37
const char FILE_DIALOG_PRIORITY[]
Definition: simulationObjectEditorApplication.h:41
Definition: simulationObjectEditorWindow.h:61
DtVrfStateRepositoryUserExtension *(* DtVrfSRUserExtensionCreatorFcn)(DtVrfObjectStateRepository *stateRepository, const DtString &rwName, DtReaderWriterRegistry *parentRegistry)
Definition: vrfStateRepositoryUserExtensionFactory.h:23
An abstract menu assembler creator base class. This base class allows for the application&#39;s default m...
Definition: DtMenuAssembler.h:73
virtual void initialize()
Create the GUI, initialize the DtDe. Call before calling run(). Call preInitialize before this...
Fairly specific application used by entity editor and opd editor as a common class for modifying para...
Definition: simulationObjectEditorApplication.h:124
virtual void assemble() override
No-op. delayedAssemble is called when de has been post initialized.
static DtParameterAlteringApplication * app(makVrv::DtDe &)
Returns a pointer to this object given the de.
The initialization configuration for the makVrv::DtDe.
Definition: DtDeInitializer.h:39
#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:185
DtSimulationObjectEditorAppEventController * myAppEventController
Definition: simulationObjectEditorApplication.h:295
const char DATA_DIR[]
Definition: simulationObjectEditorApplication.h:44

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)