16 #include <boost/signal.hpp>
25 class DtChannelManager;
27 class DtEventProcessorInterface;
28 class DtInputDriverConfiguration;
29 class DtKeyAndMouseEventListener;
31 class DtKeyMapManager;
35 class DtObserverController;
36 class DtChannelConfiguration;
37 class DtObserverAnimator;
38 class DtObserverViewsManager;
39 class DtMouseHideProcessor;
59 const std::string& instanceName);
65 virtual bool onStart();
68 virtual bool onStop();
71 virtual bool onTick();
74 virtual const std::string& className()
const;
77 virtual bool processKeyEvent(
const DtKeyEvent& keyEvent,
81 virtual bool processMouseEvent(
const DtMouseEvent& mouseEvent,
84 virtual bool processPinchGesture(
const DtPinchGesture& pinchGesture,
88 virtual void hideMouse(
DtChannel* channel,
float mouseX,
float mouseY);
91 virtual bool isMouseHidden()
const;
94 virtual void showMouse(
DtChannel* channel);
97 virtual void centerMouse(
DtChannel* channel);
100 virtual void setMousePosition(
DtChannel* channel,
float x,
float y);
104 virtual void clearState();
131 const std::string& className);
140 bool saveKeyMapToFile(
const DtKeyMap& keyMap,
const std::string&
filename)
const;
144 DtKeyMap* loadKeyMapFromFile(
const std::string&
filename,
bool createBackup =
false);
150 void setKeyMap(
const std::string& mapName);
153 const std::string& keyMap()
const;
156 DtKeyMap* createKeyMap(
const std::string& mapName);
159 DtKeyMap* findKeyMap(
const std::string& mapName);
163 const std::string& functionName,
165 bool replace =
false,
171 const std::string& binaryName,
173 bool replace =
false);
176 virtual void realizeConfiguration(
179 virtual void realizeObserverConfiguration(
194 void addObserverState(
const std::string& observerName,
207 virtual void addObserver(
DtObserver* observer);
210 virtual void removeObserver(
DtObserver* observer);
213 virtual void removeObserver(
const std::string& name);
216 virtual std::vector<DtObserver*> observers()
const;
220 virtual DtObserver* findObserverByName(
const std::string& name);
221 virtual const DtObserver* findObserverByName(
const std::string& name)
const;
225 void setCurrentObserver(
const std::string& observerName);
231 void setTerrainContextEnabled(
bool enabled);
232 bool terrainContextEnabled()
const;
240 virtual void toggleTerrainScaling();
243 virtual void toggleWireframe();
246 virtual void toggleSimulationTimePaused();
249 virtual void incrementTerrainScaleFactor();
252 virtual void decrementTerrainScaleFactor();
255 virtual void toggleEntityLabels();
258 virtual void toggleRotateEntitySymbols();
261 virtual void toggleTacticalGraphics();
264 virtual void toggleEntityHatLines();
267 virtual void toggleTacticalGraphicsHatLines();
269 virtual void toggleEntityHatMode();
272 virtual void toggleTacticalGraphicsHatMode();
275 virtual void togglePropTransparencySelected();
279 virtual void toggleViewControl();
286 void setAllowObserverReset(
bool allow);
289 void saveObservers(
const std::string&
filename);
294 void loadObservers(
const std::string&
filename,
bool force =
false);
304 virtual void removeAnimatorFromObserver(
DtObserver *observer);
307 virtual void takeScreenCapture();
310 virtual void toggleDeveloperDebugUI();
318 void setCurrentObserver(
DtObserver* observer);
321 virtual void initializeKeyMapManager(
const std::string& defaultKeyMap);
322 virtual void bindFunctions();
324 virtual void createMaps();
328 virtual void loadMaps(
bool loadFromFactory =
false);
334 void removeObserver(
ObserversMap& observers,
const std::string& name);
336 void destroyObservers();
338 bool setCurrentObserverFromChannel(
const DtChannel& channel);
342 void slot_channelConfigurationModified(
const std::string& deName,
343 const std::string& winName,
const std::string& oldChannelName,
345 void slot_attachedToChanged(
DtObserver* observer);
348 void createRequiredObservers(
const std::string& engineName);
351 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord);
356 std::string restoreObserversPart1();
359 void restoreObserversPart2(
const std::string&
filename);
361 virtual void slot_displayEngineRealized(
const std::string&,
362 const std::string& engineName);