VR-Forces 5.0.1 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 <matrix/vlVector.h>
23 
24 #include <QtCore/QString>
25 
27 class DtBehaviorUi;
28 class DtBehaviorCanvas;
29 class DtUiElement;
32 class DtDisplayWidget;
35 
36 const char SMS_FILE[] = "smsFile";
37 const char OPD_EDITOR_LOCATION[] = "opdEditorLocation";
38 const char VRF_LAUNCHER_LOCATION[] = "vrfLauncherLocation";
39 const char VISUAL_TERRAIN[] = "visualTerrain";
40 const char FILE_DIALOG_PRIORITY[] = "fileDialogPriority";
41 const char SNAP_TO_GRID[] = "snapToGrid";
42 const char APP_DATA_DIR[] = "appDataDir";
43 const char DATA_DIR[] = "dataDir";
44 const char VRF_LAYOUT_SETTINGS_FILE[] = "layoutSettingsFile";
45 
46 namespace makVrv
47 {
48  class DtDe;
49  class DtDeMainWindowProvider;
50 }
51 
55 {
56 public:
59 
61  virtual ~DtGuiOnlyMenuAssembler();
62 
63 protected:
64  virtual QMenuBar* menuBar();
65  virtual QWidget* menuWindow();
66 };
67 
69 {
70 public:
71 
74  {
75  }
76 
79  {
80  }
81 
84 
85 };
86 
92 {
93 public:
95  DtGuiOnlyDe();
96 
98  virtual ~DtGuiOnlyDe();
99 
100 protected:
102  virtual InitializationResult initialize() { return initialize(false, false); };
103  virtual InitializationResult initialize(bool abortOnFailure, bool useLicenseErrorDialog);
104  virtual void postInitialize();
105 
106  virtual void setDeInitializer(const makVrv::DtDeInitializer& initializer);
107 
108  virtual void tick(double);
109 };
110 
116 {
117 public:
118 
121 
124 
128  virtual void initialize( int argc, char** argv );
129 
132  virtual std::string startupValue(const std::string&) const;
133 
135  virtual void setStartupValue(const std::string& key, const std::string& value);
136 
139 
140  virtual void run();
141 
143  virtual void setMainWindowCreatorFunction(makVrv::DtDeMainWindowProvider*);
144 
145 public:
149 
154  virtual void addParameterType(const char* controllerName, const char* likeUi, DtSimObjectParametersCreatorFcn fcn = NULL) ;
155  virtual void addController(const char* controllerName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
156  virtual void addSensor(const char* sensorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
157  virtual void addActuator(const char* actuatorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
158 
160  virtual void addUserExtentsion(const DtString& type, DtVrfSRUserExtensionCreatorFcn fcn) ;
161 
162  virtual DtReaderWriterClassDocDB* parameterDocDB() const;
163 
165 
166 protected:
168  virtual void setupMenu() = 0;
169 
170  virtual void loadTranslationFiles(const std::string&);
171 
172  virtual void assemble();
173 
174  virtual void dePostInitialize();
175 
177  virtual void loadPluginModulesExt();
178 
180  virtual bool updateCurrentGuiConfiguration();
181 
186  virtual bool loadParameterDocDB(DtReaderWriterClassDocDB& parameterDocDB);
187 
189  virtual DtReaderWriterClassDocDB* createParameterDocDB() const;
190 
191 protected:
192  std::map<std::string, std::string> myStartupValues;
193  std::map<DtString, DtVector> myVisualPlacements;
196 };
197 
200 {
201 public:
202 
205 
208 
212  virtual void initialize( int argc, char** argv );
213 
216 
218  virtual DtSimulationObjectEditorAppEventController* appEventController();
219 
221  virtual DtSimulationObjectEditorWindow* mainWindow();
222 
224  virtual void addVisualTypeMapping(const DtString&, const DtVector&);
225  virtual DtVector visualPlacement(const DtString&);
226 
228  virtual DtDisplayWidget* editingWindow();
229 
230  virtual QString sematicText(int) const;
231 
232  //created so that we can dynamically add another menu item that relies on the display de
233  virtual void assemble();
234 
235  virtual void setDarkMode(bool b);
236 
237 protected:
239  virtual void setupMenu();
240  void initSemanticsTextMapping();
241 
242  virtual void loadPluginModules();
243 
244 public:
246  boost::signals2::signal<void ()> signal_preBehaviorUiCreate;
247 
249  boost::signals2::signal<void (DtBehaviorUi*)> signal_postBehaviorUiCreate;
250 
252  boost::signals2::signal<void (DtBehaviorCanvas*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_preBehaviorCanvasCreate;
253  boost::signals2::signal<void (DtBehaviorCanvas*, std::vector<DtComponentSystemDefinition*>)> signal_preSystemBehaviorCanvasCreate;
254 
256  boost::signals2::signal<void (DtBehaviorCanvas*, QWidget*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_postBehaviorCanvasCreate;
257  boost::signals2::signal<void (DtBehaviorCanvas*, QWidget*, std::vector<DtComponentSystemDefinition*>)> signal_postSystemBehaviorCanvasCreate;
258 
260  boost::signals2::signal<void (DtUiElement*)> signal_uiElementModified;
261 
262 protected:
264  std::map<int, QString> mySemanticsTextMapping;
266 };
Definition: behaviorUi.h:30
virtual InitializationResult initialize()
Limited initialize and post-initialize.
Definition: simulationObjectEditorApplication.h:102
const char VRF_LAUNCHER_LOCATION[]
Definition: simulationObjectEditorApplication.h:38
virtual QWidget * menuWindow()
Entity editor version of the parameter altering application.
Definition: simulationObjectEditorApplication.h:199
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:249
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:264
virtual void dePostInitialize()
Called during the post initialize process of the de, initialize some things before drivers get initia...
const char OPD_EDITOR_LOCATION[]
Definition: simulationObjectEditorApplication.h:37
InitializationResult
Result codes for the initialize() function.
Definition: DtDe.h:113
virtual void initialize(int argc, char **argv)
Initializes the application with the given command line options and replaces main window...
The abstract main window provider.
Definition: DtDeMainWindow.h:66
Contains makVrv::DtDe class.
DtGuiOnlyMenuAssemblerCreator()
CTOR.
Definition: simulationObjectEditorApplication.h:73
virtual DtMenuAssembler * create(DtDe &de)=0
Create an assembler.
A simple widget with an embedded de.
Definition: displayDefinitionWidget.h:84
virtual ~DtGuiOnlyMenuAssemblerCreator()
DTOR.
Definition: simulationObjectEditorApplication.h:78
A Qt implementation of a DtMenuAssembler.
Definition: DtQtMenuAssembler.h:26
virtual void assemble()
Assembles the application and signals the pre and post of the assembly process.
static DtVrfGuiApplication * app(makVrv::DtDe &)
Menu assembler that works in conjunction with gui only de to only expect a QMainWindow as the driver ...
Definition: simulationObjectEditorApplication.h:54
const char VISUAL_TERRAIN[]
Definition: simulationObjectEditorApplication.h:39
std::map< std::string, std::string > myStartupValues
Definition: simulationObjectEditorApplication.h:192
Definition: rwClassDocDB.h:25
virtual void initialize(int argc, char **argv)
Initializes the application with the given command line options.
Contains makVrv::DtQtMenuAssembler class.
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:25
Definition: behaviorCanvas.h:33
The root IG for VR-Forces. Inherits from makVrv::DtVrfApplication.
Definition: vrfGuiApplication.h:46
virtual void loadPluginModules()
Override to set up additional plugins to load. Based on what is returned if one were to call addition...
const char APP_DATA_DIR[]
Definition: simulationObjectEditorApplication.h:42
Definition: simulationModelSetLoader.h:93
boost::signals2::signal< void(DtUiElement *)> signal_uiElementModified
Signal sent when a UI element is modified.
Definition: simulationObjectEditorApplication.h:260
const char SNAP_TO_GRID[]
Definition: simulationObjectEditorApplication.h:41
virtual void tick(double simTime)
A very important function which provides a since tick of execution which is required for the app to r...
const char VRF_LAYOUT_SETTINGS_FILE[]
Definition: simulationObjectEditorApplication.h:44
Definition: simulationObjectEditorAppEventController.h:42
Definition: simulationObjectEditorApplication.h:68
DtReaderWriterClassDocDB * myParameterDocDB
Definition: simulationObjectEditorApplication.h:195
This owns a list of display engine configurations.
Definition: DtVrvApplicationConfiguration.h:30
virtual void assemble()
Assembles the application and signals the pre and post of the assembly process.
DtComponentDescriptor *(* DtComponentDescriptorCreatorFcn)()
Definition: componentDescriptorFactory.h:24
std::map< DtString, DtVector > myVisualPlacements
Definition: simulationObjectEditorApplication.h:193
boost::signals2::signal< void()> signal_preBehaviorUiCreate
Signal sent before behavior ui is created.
Definition: simulationObjectEditorApplication.h:246
virtual void run()
Runs the application. Signals deInitialized if application has started successfully.
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:265
The combination of this DE and the entity editor application will only perform the functions of creat...
Definition: simulationObjectEditorApplication.h:91
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()
bool myUpdateGuiConfiguration
Definition: simulationObjectEditorApplication.h:194
virtual void postInitialize()
Connect initialized components and call postInit signal.
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
virtual bool updateCurrentGuiConfiguration()
Updates the current GUI configuration with the current UI layout status.
An abstract menu assembler base class.
Definition: DtMenuAssembler.h:25
const char SMS_FILE[]
Definition: simulationObjectEditorApplication.h:36
const char FILE_DIALOG_PRIORITY[]
Definition: simulationObjectEditorApplication.h:40
Definition: simulationObjectEditorWindow.h:55
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
Fairly specific application used by entity editor and opd editor as a common class for modifying para...
Definition: simulationObjectEditorApplication.h:115
static DtParameterAlteringApplication * app(makVrv::DtDe &)
Returns a pointer to this object given the de.
The initialization configuration for the makVrv::DtDe.
Definition: DtDeInitializer.h:36
#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
DtSimulationObjectEditorAppEventController * myAppEventController
Definition: simulationObjectEditorApplication.h:263
const char DATA_DIR[]
Definition: simulationObjectEditorApplication.h:43

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)