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 <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 const char PARTIAL_LOAD[] = "partialLoad";
46 
47 namespace makVrv
48 {
49  class DtDe;
50  class DtDeMainWindowProvider;
51 }
52 
56 {
57 public:
60 
62  virtual ~DtGuiOnlyMenuAssembler();
63 
64 protected:
65  virtual QMenuBar* menuBar();
66  virtual QWidget* menuWindow();
67 };
68 
70 {
71 public:
72 
75  {
76  }
77 
80  {
81  }
82 
85 
86 };
87 
93 {
94 public:
96  DtGuiOnlyDe();
97 
99  virtual ~DtGuiOnlyDe();
100 
101 protected:
103  virtual InitializationResult initialize() { return initialize(false, false); };
104  virtual InitializationResult initialize(bool abortOnFailure, bool useLicenseErrorDialog) override;
105  virtual void postInitialize();
106 
107  virtual void setDeInitializer(const makVrv::DtDeInitializer& initializer);
108 
109  virtual void tick(double);
110 };
111 
117 {
118 public:
119 
122 
125 
129  virtual void initialize( int argc, char** argv) override;
130 
133  virtual std::string startupValue(const std::string&) const;
134 
136  virtual void setStartupValue(const std::string& key, const std::string& value);
137 
140 
141  virtual void run();
142 
144  virtual void setMainWindowCreatorFunction(makVrv::DtDeMainWindowProvider*);
145 
146  virtual void preInitialize(int argc, char** argv) override;
147 
148 public:
152 
157  virtual void addParameterType(const char* controllerName, const char* likeUi, DtSimObjectParametersCreatorFcn fcn = NULL) ;
158  virtual void addController(const char* controllerName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
159  virtual void addSensor(const char* sensorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
160  virtual void addActuator(const char* actuatorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
161 
163  virtual void addUserExtentsion(const DtString& type, DtVrfSRUserExtensionCreatorFcn fcn) ;
164 
165  virtual DtReaderWriterClassDocDB* parameterDocDB() const;
166 
168 
169 protected:
171  virtual void setupMenu() = 0;
172 
173  virtual void loadTranslationFiles(const std::string&);
174 
175  virtual void assemble() override;
176 
177  virtual void dePostInitialize();
178 
180  virtual void loadPluginModulesExt();
181 
183  virtual bool updateCurrentGuiConfiguration();
184 
189  virtual bool loadParameterDocDB(DtReaderWriterClassDocDB& parameterDocDB);
190 
192  virtual DtReaderWriterClassDocDB* createParameterDocDB() const;
193 
194 protected:
195  std::map<std::string, std::string> myStartupValues;
196  std::map<DtString, DtVector> myVisualPlacements;
199 };
200 
203 {
204 public:
205 
208 
211 
215  virtual void initialize( int argc, char** argv) override;
216 
219 
221  virtual DtSimulationObjectEditorAppEventController* appEventController();
222 
224  virtual DtSimulationObjectEditorWindow* mainWindow();
225 
227  virtual void addVisualTypeMapping(const DtString&, const DtVector&);
228  virtual DtVector visualPlacement(const DtString&);
229 
231  virtual DtDisplayWidget* editingWindow();
232 
233  virtual QString sematicText(int) const;
234 
235  //created so that we can dynamically add another menu item that relies on the display de
236  virtual void assemble() override;
237 
238  virtual void setDarkMode(bool b);
239 
240 protected:
242  virtual void setupMenu();
243  void initSemanticsTextMapping();
244 
245  virtual void loadPluginModules();
246 
247 public:
248  const std::map<int, QString>& sematicsTextMappings() const { return mySemanticsTextMapping; };
249 
251  boost::signals2::signal<void ()> signal_preBehaviorUiCreate;
252 
254  boost::signals2::signal<void (DtBehaviorUi*)> signal_postBehaviorUiCreate;
255 
257  boost::signals2::signal<void (DtBehaviorCanvas*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_preBehaviorCanvasCreate;
258  boost::signals2::signal<void (DtBehaviorCanvas*, std::vector<DtComponentSystemDefinition*>)> signal_preSystemBehaviorCanvasCreate;
259 
261  boost::signals2::signal<void (DtBehaviorCanvas*, QWidget*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_postBehaviorCanvasCreate;
262  boost::signals2::signal<void (DtBehaviorCanvas*, QWidget*, std::vector<DtComponentSystemDefinition*>)> signal_postSystemBehaviorCanvasCreate;
263 
265  boost::signals2::signal<void (DtUiElement*)> signal_uiElementModified;
266 
267 protected:
269  std::map<int, QString> mySemanticsTextMapping;
271 };
Definition: behaviorUi.h:30
virtual InitializationResult initialize()
Limited initialize and post-initialize.
Definition: simulationObjectEditorApplication.h:103
virtual void assemble() override
No-op. delayedAssemble is called when de has been post initialized.
const char VRF_LAUNCHER_LOCATION[]
Definition: simulationObjectEditorApplication.h:38
virtual QWidget * menuWindow()
Entity editor version of the parameter altering application.
Definition: simulationObjectEditorApplication.h:202
const char PARTIAL_LOAD[]
Definition: simulationObjectEditorApplication.h:45
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:254
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:269
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:122
The abstract main window provider.
Definition: DtDeMainWindow.h:74
Contains makVrv::DtDe class.
DtGuiOnlyMenuAssemblerCreator()
CTOR.
Definition: simulationObjectEditorApplication.h:74
virtual DtMenuAssembler * create(DtDe &de)=0
Create an assembler.
A simple widget with an embedded de.
Definition: displayDefinitionWidget.h:85
virtual ~DtGuiOnlyMenuAssemblerCreator()
DTOR.
Definition: simulationObjectEditorApplication.h:79
A Qt implementation of a DtMenuAssembler.
Definition: DtQtMenuAssembler.h:26
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:55
const char VISUAL_TERRAIN[]
Definition: simulationObjectEditorApplication.h:39
std::map< std::string, std::string > myStartupValues
Definition: simulationObjectEditorApplication.h:195
Definition: rwClassDocDB.h:25
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:47
const char APP_DATA_DIR[]
Definition: simulationObjectEditorApplication.h:42
Definition: simulationModelSetLoader.h:97
boost::signals2::signal< void(DtUiElement *)> signal_uiElementModified
Signal sent when a UI element is modified.
Definition: simulationObjectEditorApplication.h:265
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...
virtual void loadTranslationFiles(const std::string &lang)
const char VRF_LAYOUT_SETTINGS_FILE[]
Definition: simulationObjectEditorApplication.h:44
Definition: simulationObjectEditorAppEventController.h:42
Definition: simulationObjectEditorApplication.h:69
DtReaderWriterClassDocDB * myParameterDocDB
Definition: simulationObjectEditorApplication.h:198
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:196
virtual void run()
Runs the application. Signals deInitialized if application has started successfully.
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:270
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()
bool myUpdateGuiConfiguration
Definition: simulationObjectEditorApplication.h:197
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:72
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: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:116
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:183
DtSimulationObjectEditorAppEventController * myAppEventController
Definition: simulationObjectEditorApplication.h:268
const char DATA_DIR[]
Definition: simulationObjectEditorApplication.h:43

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)