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 public:
150 
155  virtual void addParameterType(const char* controllerName, const char* likeUi, DtSimObjectParametersCreatorFcn fcn = NULL) ;
156  virtual void addController(const char* controllerName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
157  virtual void addSensor(const char* sensorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
158  virtual void addActuator(const char* actuatorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
159 
161  virtual void addUserExtentsion(const DtString& type, DtVrfSRUserExtensionCreatorFcn fcn) ;
162 
163  virtual DtReaderWriterClassDocDB* parameterDocDB() const;
164 
166 
167 protected:
169  virtual void setupMenu() = 0;
170 
171  virtual void loadTranslationFiles(const std::string&);
172 
173  virtual void assemble() override;
174 
175  virtual void dePostInitialize();
176 
178  virtual void loadPluginModulesExt();
179 
181  virtual bool updateCurrentGuiConfiguration();
182 
187  virtual bool loadParameterDocDB(DtReaderWriterClassDocDB& parameterDocDB);
188 
190  virtual DtReaderWriterClassDocDB* createParameterDocDB() const;
191 
192 protected:
193  std::map<std::string, std::string> myStartupValues;
194  std::map<DtString, DtVector> myVisualPlacements;
197 };
198 
201 {
202 public:
203 
206 
209 
213  virtual void initialize( int argc, char** argv) override;
214 
217 
219  virtual DtSimulationObjectEditorAppEventController* appEventController();
220 
222  virtual DtSimulationObjectEditorWindow* mainWindow();
223 
225  virtual void addVisualTypeMapping(const DtString&, const DtVector&);
226  virtual DtVector visualPlacement(const DtString&);
227 
229  virtual DtDisplayWidget* editingWindow();
230 
231  virtual QString sematicText(int) const;
232 
233  //created so that we can dynamically add another menu item that relies on the display de
234  virtual void assemble() override;
235 
236  virtual void setDarkMode(bool b);
237 
238 protected:
240  virtual void setupMenu();
241  void initSemanticsTextMapping();
242 
243  virtual void loadPluginModules();
244 
245 public:
246  const std::map<int, QString>& sematicsTextMappings() const { return mySemanticsTextMapping; };
247 
249  boost::signals2::signal<void ()> signal_preBehaviorUiCreate;
250 
252  boost::signals2::signal<void (DtBehaviorUi*)> signal_postBehaviorUiCreate;
253 
255  boost::signals2::signal<void (DtBehaviorCanvas*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_preBehaviorCanvasCreate;
256  boost::signals2::signal<void (DtBehaviorCanvas*, std::vector<DtComponentSystemDefinition*>)> signal_preSystemBehaviorCanvasCreate;
257 
259  boost::signals2::signal<void (DtBehaviorCanvas*, QWidget*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_postBehaviorCanvasCreate;
260  boost::signals2::signal<void (DtBehaviorCanvas*, QWidget*, std::vector<DtComponentSystemDefinition*>)> signal_postSystemBehaviorCanvasCreate;
261 
263  boost::signals2::signal<void (DtUiElement*)> signal_uiElementModified;
264 
265 protected:
267  std::map<int, QString> mySemanticsTextMapping;
269 };
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:200
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:252
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:267
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:86
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:193
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:263
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:196
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:194
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:268
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:195
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:266
const char DATA_DIR[]
Definition: simulationObjectEditorApplication.h:43

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)