22 #include <boost/signal.hpp>
33 class DtChannelManager;
35 class DtEventProcessorInterface;
36 class DtInputDriverConfiguration;
37 class DtKeyAndMouseEventListener;
39 class DtKeyMapManager;
42 class DtObserverController;
43 class DtChannelConfiguration;
63 const std::string& instanceName );
69 virtual bool onStart();
72 virtual bool onStop();
75 virtual bool onTick();
78 virtual const std::string& className()
const;
81 virtual bool processKeyEvent(
const DtKeyEvent& keyEvent,
85 virtual bool processMouseEvent(
const DtMouseEvent& mouseEvent,
89 virtual void hideMouse(
DtChannel* channel,
float mouseX,
float mouseY );
92 virtual bool isMouseHidden()
const;
95 virtual void showMouse(
DtChannel* channel );
98 virtual void centerMouse(
DtChannel* channel );
101 virtual void setMousePosition(
DtChannel* channel,
float x,
float y);
105 virtual void clearState();
132 const std::string& className);
141 bool saveKeyMapToFile(
const DtKeyMap& keyMap,
const std::string& filename)
const;
145 DtKeyMap* loadKeyMapFromFile(
const std::string& filename,
bool createBackup =
false);
151 void setKeyMap(
const std::string& mapName );
154 const std::string& keyMap()
const;
157 DtKeyMap* createKeyMap(
const std::string& mapName );
160 DtKeyMap* findKeyMap(
const std::string& mapName );
164 std::string functionName,
166 bool replace =
false,
172 std::string binaryName,
174 bool replace =
false );
177 virtual void realizeConfiguration(
180 virtual void realizeObserverConfiguration(
193 void addObserverState(
const std::string& observerName,
199 void initializeObserver(
DtObserver* observer,
206 virtual void addObserver(
DtObserver* observer);
209 virtual void removeObserver(
DtObserver* observer );
212 virtual void removeObserver(
const std::string& name );
215 virtual std::vector<DtObserver*> observers()
const;
219 virtual DtObserver* findObserverByName(
const std::string& name );
220 virtual const DtObserver* findObserverByName(
const std::string& name )
const;
224 void setCurrentObserver(
const std::string& observerName );
230 void setTerrainContextEnabled(
bool enabled);
231 bool terrainContextEnabled()
const;
239 virtual void toggleTerrainScaling();
242 virtual void incrementTerrainScaleFactor();
245 virtual void decrementTerrainScaleFactor();
248 virtual void toggleEntityLabels();
251 virtual void toggleTacticalGraphics();
254 virtual void toggleEntityHatLines();
257 virtual void toggleTacticalGraphicsHatLines();
259 virtual void toggleEntityHatMode();
262 virtual void toggleTacticalGraphicsHatMode();
265 virtual void togglePropTransparencySelected();
272 void setAllowObserverReset(
bool allow);
275 void saveObservers(
const std::string& filename);
278 void loadObservers(
const std::string& filename);
284 void setCurrentObserver(
DtObserver* observer );
287 virtual void initializeKeyMapManager(
const std::string& defaultKeyMap );
288 virtual void bindFunctions();
290 virtual void createMaps();
294 virtual void loadMaps(
bool loadFromFactory =
false);
300 void removeObserver(
ObserversMap& observers,
const std::string& name );
302 void destroyObservers();
304 bool setCurrentObserverFromChannel(
const DtChannel& channel );
308 void slot_channelConfigurationModified(
const std::string& deName,
309 const std::string& winName,
const std::string& oldChannelName,
311 void slot_attachedToChanged(
DtObserver* observer );
314 void createRequiredObservers(
const std::string& engineName );
317 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord);
322 std::string restoreObserversPart1();
325 void restoreObserversPart2(
const std::string& filename );
327 virtual void slot_displayEngineRealized(
const std::string&,
328 const std::string& engineName );