VR-Forces 4.8 Class Documentation
 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 
114 {
115 public:
116 
119 
122 
126  virtual void initialize( int argc, char** argv );
127 
130  virtual std::string startupValue(const std::string&) const;
131 
133  virtual void setStartupValue(const std::string& key, const std::string& value);
134 
137 
138  virtual void run();
139 
141  virtual void setMainWindowCreatorFunction(makVrv::DtDeMainWindowProvider*);
142 
143 public:
147 
152  virtual void addParameterType(const char* controllerName, const char* likeUi, DtSimObjectParametersCreatorFcn fcn = NULL) ;
153  virtual void addController(const char* controllerName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
154  virtual void addSensor(const char* sensorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
155  virtual void addActuator(const char* actuatorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
156 
158  virtual void addUserExtentsion(const DtString& type, DtVrfSRUserExtensionCreatorFcn fcn) ;
159 
160  virtual DtReaderWriterClassDocDB* parameterDocDB() const;
161 
163 
164 protected:
166  virtual void setupMenu() = 0;
167 
168  virtual void loadTranslationFiles(const std::string&);
169 
170  virtual void assemble();
171 
172  virtual void dePostInitialize();
173 
175  virtual void loadPluginModulesExt();
176 
178  virtual bool updateCurrentGuiConfiguration();
179 
184  virtual bool loadParameterDocDB(DtReaderWriterClassDocDB& parameterDocDB);
185 
187  virtual DtReaderWriterClassDocDB* createParameterDocDB() const;
188 
189 protected:
190  std::map<std::string, std::string> myStartupValues;
191  std::map<DtString, DtVector> myVisualPlacements;
194 };
195 
198 {
199 public:
200 
203 
206 
210  virtual void initialize( int argc, char** argv );
211 
214 
216  virtual DtSimulationObjectEditorAppEventController* appEventController();
217 
219  virtual DtSimulationObjectEditorWindow* mainWindow();
220 
222  virtual void addVisualTypeMapping(const DtString&, const DtVector&);
223  virtual DtVector visualPlacement(const DtString&);
224 
226  virtual DtDisplayWidget* editingWindow();
227 
228  virtual QString sematicText(int) const;
229 
230 protected:
232  virtual void setupMenu();
233  void initSemanticsTextMapping();
234 
235  virtual void loadPluginModules();
236 
237 public:
239  boost::signals2::signal<void ()> signal_preBehaviorUiCreate;
240 
242  boost::signals2::signal<void (DtBehaviorUi*)> signal_postBehaviorUiCreate;
243 
245  boost::signals2::signal<void (DtBehaviorCanvas*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_preBehaviorCanvasCreate;
246  boost::signals2::signal<void (DtBehaviorCanvas*, std::vector<DtComponentSystemDefinition*>)> signal_preSystemBehaviorCanvasCreate;
247 
249  boost::signals2::signal<void (DtBehaviorCanvas*, QWidget*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_postBehaviorCanvasCreate;
250  boost::signals2::signal<void (DtBehaviorCanvas*, QWidget*, std::vector<DtComponentSystemDefinition*>)> signal_postSystemBehaviorCanvasCreate;
251 
253  boost::signals2::signal<void (DtUiElement*)> signal_uiElementModified;
254 
255 protected:
257  std::map<int, QString> mySemanticsTextMapping;
258 };
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:197
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:242
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.
std::map< int, QString > mySemanticsTextMapping
Definition: simulationObjectEditorApplication.h:257
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:112
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
A simple widget with an embedded de.
Definition: displayDefinitionWidget.h:81
virtual ~DtGuiOnlyMenuAssemblerCreator()
DTOR.
Definition: simulationObjectEditorApplication.h:78
A Qt implementation of a DtMenuAssembler.
Definition: DtQtMenuAssembler.h:29
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:190
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:40
virtual void loadPluginModules()
Override to set up additional plugins to load.
const char APP_DATA_DIR[]
Definition: simulationObjectEditorApplication.h:42
Definition: simulationModelSetLoader.h:89
boost::signals2::signal< void(DtUiElement *)> signal_uiElementModified
Signal sent when a UI element is modified.
Definition: simulationObjectEditorApplication.h:253
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:193
This owns a list of display engine configurations.
Definition: DtVrvApplicationConfiguration.h:27
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:191
boost::signals2::signal< void()> signal_preBehaviorUiCreate
Signal sent before behavior ui is created.
Definition: simulationObjectEditorApplication.h:239
virtual void run()
Runs the application. Signals deInitialized if application has started successfully.
virtual DtMenuAssembler * create(DtDe &de)
Create an assembler.
virtual void loadPluginModulesExt()
Reimplement this method to load additional plugin modules (read from the .xml files) after all core p...
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.
virtual QMenuBar * menuBar()
bool myUpdateGuiConfiguration
Definition: simulationObjectEditorApplication.h:192
virtual void postInitialize()
Connect initialized components and call postInit signal.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
virtual bool updateCurrentGuiConfiguration()
Updates the current GUI configuration with the current UI layout status.
The base class implementation of a Menu Assembler.
Definition: DtMenuAssembler.h:30
const char SMS_FILE[]
Definition: simulationObjectEditorApplication.h:36
const char FILE_DIALOG_PRIORITY[]
Definition: simulationObjectEditorApplication.h:40
Definition: simulationObjectEditorWindow.h:54
DtVrfStateRepositoryUserExtension *(* DtVrfSRUserExtensionCreatorFcn)(DtVrfObjectStateRepository *stateRepository, const DtString &rwName, DtReaderWriterRegistry *parentRegistry)
Definition: vrfStateRepositoryUserExtensionFactory.h:27
The Menu assembler creator class allows the menu assembler to be replaced by a subclass via a plugin...
Definition: DtMenuAssembler.h:71
Fairly specific application used by entity editor and opd editor as a common class for modifying para...
Definition: simulationObjectEditorApplication.h:113
static DtParameterAlteringApplication * app(makVrv::DtDe &)
Returns a pointer to this object given the de.
The initialization configuration for the makVrv::DtDe.
Definition: DtDeInitializer.h:32
#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
DtSimulationObjectEditorAppEventController * myAppEventController
Definition: simulationObjectEditorApplication.h:256
const char DATA_DIR[]
Definition: simulationObjectEditorApplication.h:43

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)