VR-Forces 4.2 Class Documentation
entityEditorApplication.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
14 #include <vrvCore/DtDe.h>
15 #include <vrvCoreQt/DtQtMenuAssembler.h>
16 
18 #include "vrfobjparam/paramFact.h"
20 
21 #include <vlutil/vlString.h>
22 #include <matrix/vlVector.h>
23 
25 class DtBehaviorUi;
26 class DtBehaviorCanvas;
27 class DtUiElement;
30 class DtDisplayWidget;
31 
32 const char SETTINGS_DIRECTORY[] = "settingsDirectory";
33 const char SMS_FILE[] = "smsFile";
34 const char OPD_EDITOR_LOCATION[] = "opdEditorLocation";
35 const char VISUAL_TERRAIN[] = "visualTerrain";
36 const char FILE_DIALOG_PRIORITY[] = "fileDialogPriority";
37 const char SNAP_TO_GRID[] = "snapToGrid";
38 
39 namespace makVrv
40 {
42 }
43 
46 class DT_DLL_entityeditorimpl DtGuiOnlyMenuAssembler : public makVrv::DtQtMenuAssembler
47 {
48 public:
50  DtGuiOnlyMenuAssembler(makVrv::DtDe&);
51 
53  virtual ~DtGuiOnlyMenuAssembler();
54 
55 protected:
56  virtual QMenuBar* menuBar();
57  virtual QWidget* menuWindow();
58 };
59 
60 class DT_DLL_entityeditorimpl DtGuiOnlyMenuAssemblerCreator : public makVrv::DtMenuAssemblerCreator
61 {
62 public:
63 
66  {
67  }
68 
71  {
72  }
73 
75  virtual makVrv::DtMenuAssembler* create(makVrv::DtDe& de);
76 
77 };
78 
83 class DT_DLL_entityeditorimpl DtGuiOnlyDe : public makVrv::DtDe
84 {
85 public:
87  DtGuiOnlyDe();
88 
90  virtual ~DtGuiOnlyDe();
91 
92 protected:
94  virtual InitializationResult initialize() { return initialize(false, false); };
95  virtual InitializationResult initialize(bool abortOnFailure, bool useLicenseErrorDialog);
96  virtual void postInitialize();
97 
98  virtual void tick(double);
99 };
100 
104 {
105 public:
106 
108  DtParameterAlteringApplication(makVrv::DtVrvApplicationConfiguration& config);
109 
112 
116  virtual void initialize( int argc, char** argv );
117 
120  virtual std::string startupValue(const std::string&) const;
121 
123  virtual void setStartupValue(const std::string& key, const std::string& value);
124 
126  static DtParameterAlteringApplication* app(makVrv::DtDe&);
127 
128  virtual void run();
129 
131  virtual void setMainWindowCreatorFunction(makVrv::DtDeMainWindowProvider*);
132 
133 public:
137 
142  virtual void addParameterType(const char* controllerName, const char* likeUi, DtSimObjectParametersCreatorFcn fcn = NULL) ;
143  virtual void addController(const char* controllerName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
144  virtual void addSensor(const char* sensorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
145  virtual void addActuator(const char* actuatorName, const char* descriptorName, DtComponentDescriptorCreatorFcn fcn = NULL) ;
146 
148  virtual void addUserExtentsion(const DtString& type, DtVrfSRUserExtensionCreatorFcn fcn) ;
149 
151 
152 protected:
154  virtual void setupMenu() = 0;
155 
156  virtual void assemble();
157 
158  virtual void dePostInitialize();
159 
161  virtual void loadPluginModulesExt();
162 
163 protected:
164  std::map<std::string, std::string> myStartupValues;
165  std::map<DtString, DtVector> myVisualPlacements;
166 };
167 
170 {
171 public:
172 
174  DtEntityEditorApplication(makVrv::DtVrvApplicationConfiguration& config);
175 
177  virtual ~DtEntityEditorApplication();
178 
182  virtual void initialize( int argc, char** argv );
183 
185  static DtEntityEditorApplication* app(makVrv::DtDe&);
186 
188  virtual DtEntityEditorAppEventController* appEventController();
189 
191  virtual DtEntityEditorWindow* mainWindow();
192 
194  virtual void addVisualTypeMapping(const DtString&, const DtVector&);
195  virtual DtVector visualPlacement(const DtString&);
196 
198  virtual DtDisplayWidget* editingWindow();
199 
200 protected:
202  virtual void setupMenu();
203 
204 public:
206  boost::signal<void ()> signal_preBehaviorUiCreate;
207 
209  boost::signal<void (DtBehaviorUi*)> signal_postBehaviorUiCreate;
210 
212  boost::signal<void (DtBehaviorCanvas*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_preBehaviorCanvasCreate;
213 
215  boost::signal<void (DtBehaviorCanvas*, QWidget*, std::set<makVrf::DtEntityMapperKey>, std::string)> signal_postBehaviorCanvasCreate;
216 
218  boost::signal<void (DtUiElement*)> signal_uiElementModified;
219 
220 protected:
222 };

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)