19 #include <boost/signal.hpp>
30 class DtChannelManager;
32 class DtEventProcessorInterface;
33 class DtInputDriverConfiguration;
34 class DtKeyAndMouseEventListener;
36 class DtKeyMapManager;
39 class DtObserverController;
40 class DtChannelConfiguration;
41 class DtObserverAnimator;
61 const std::string& instanceName );
67 virtual bool onStart();
70 virtual bool onStop();
73 virtual bool onTick();
76 virtual const std::string& className()
const;
79 virtual bool processKeyEvent(
const DtKeyEvent& keyEvent,
83 virtual bool processMouseEvent(
const DtMouseEvent& mouseEvent,
87 virtual void hideMouse(
DtChannel* channel,
float mouseX,
float mouseY );
90 virtual bool isMouseHidden()
const;
93 virtual void showMouse(
DtChannel* channel );
96 virtual void centerMouse(
DtChannel* channel );
99 virtual void setMousePosition(
DtChannel* channel,
float x,
float y);
103 virtual void clearState();
130 const std::string& className);
139 bool saveKeyMapToFile(
const DtKeyMap& keyMap,
const std::string& filename)
const;
143 DtKeyMap* loadKeyMapFromFile(
const std::string& filename,
bool createBackup =
false);
149 void setKeyMap(
const std::string& mapName );
152 const std::string& keyMap()
const;
155 DtKeyMap* createKeyMap(
const std::string& mapName );
158 DtKeyMap* findKeyMap(
const std::string& mapName );
162 std::string functionName,
164 bool replace =
false,
170 std::string binaryName,
172 bool replace =
false );
175 virtual void realizeConfiguration(
178 virtual void realizeObserverConfiguration(
191 void addObserverState(
const std::string& observerName,
197 void initializeObserver(
DtObserver* observer,
204 virtual void addObserver(
DtObserver* observer);
207 virtual void removeObserver(
DtObserver* observer );
210 virtual void removeObserver(
const std::string& name );
213 virtual std::vector<DtObserver*> observers()
const;
217 virtual DtObserver* findObserverByName(
const std::string& name );
218 virtual const DtObserver* findObserverByName(
const std::string& name )
const;
222 void setCurrentObserver(
const std::string& observerName );
228 void setTerrainContextEnabled(
bool enabled);
229 bool terrainContextEnabled()
const;
237 virtual void toggleTerrainScaling();
240 virtual void incrementTerrainScaleFactor();
243 virtual void decrementTerrainScaleFactor();
246 virtual void toggleEntityLabels();
249 virtual void toggleRotateEntitySymbols();
252 virtual void toggleTacticalGraphics();
255 virtual void toggleEntityHatLines();
258 virtual void toggleTacticalGraphicsHatLines();
260 virtual void toggleEntityHatMode();
263 virtual void toggleTacticalGraphicsHatMode();
266 virtual void togglePropTransparencySelected();
270 virtual void toggleViewControl();
277 void setAllowObserverReset(
bool allow);
280 void saveObservers(
const std::string& filename);
285 void loadObservers(
const std::string& filename,
bool force=
false);
295 virtual void removeAnimatorFromObserver(
DtObserver *observer);
299 void setCurrentObserver(
DtObserver* observer );
302 virtual void initializeKeyMapManager(
const std::string& defaultKeyMap );
303 virtual void bindFunctions();
305 virtual void createMaps();
309 virtual void loadMaps(
bool loadFromFactory =
false);
315 void removeObserver(
ObserversMap& observers,
const std::string& name );
317 void destroyObservers();
319 bool setCurrentObserverFromChannel(
const DtChannel& channel );
323 void slot_channelConfigurationModified(
const std::string& deName,
324 const std::string& winName,
const std::string& oldChannelName,
326 void slot_attachedToChanged(
DtObserver* observer );
329 void createRequiredObservers(
const std::string& engineName );
332 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord);
337 std::string restoreObserversPart1();
340 void restoreObserversPart2(
const std::string& filename );
342 virtual void slot_displayEngineRealized(
const std::string&,
343 const std::string& engineName );