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;
60 const std::string& instanceName );
66 virtual bool onStart();
69 virtual bool onStop();
72 virtual bool onTick();
75 virtual const std::string& className()
const;
78 virtual bool processKeyEvent(
const DtKeyEvent& keyEvent,
82 virtual bool processMouseEvent(
const DtMouseEvent& mouseEvent,
86 virtual void hideMouse(
DtChannel* channel,
float mouseX,
float mouseY );
89 virtual bool isMouseHidden()
const;
92 virtual void showMouse(
DtChannel* channel );
95 virtual void centerMouse(
DtChannel* channel );
98 virtual void setMousePosition(
DtChannel* channel,
float x,
float y);
102 virtual void clearState();
129 const std::string& className);
138 bool saveKeyMapToFile(
const DtKeyMap& keyMap,
const std::string& filename)
const;
142 DtKeyMap* loadKeyMapFromFile(
const std::string& filename,
bool createBackup =
false);
148 void setKeyMap(
const std::string& mapName );
151 const std::string& keyMap()
const;
154 DtKeyMap* createKeyMap(
const std::string& mapName );
157 DtKeyMap* findKeyMap(
const std::string& mapName );
161 std::string functionName,
163 bool replace =
false,
169 std::string binaryName,
171 bool replace =
false );
174 virtual void realizeConfiguration(
177 virtual void realizeObserverConfiguration(
190 void addObserverState(
const std::string& observerName,
196 void initializeObserver(
DtObserver* observer,
203 virtual void addObserver(
DtObserver* observer);
206 virtual void removeObserver(
DtObserver* observer );
209 virtual void removeObserver(
const std::string& name );
212 virtual std::vector<DtObserver*> observers()
const;
216 virtual DtObserver* findObserverByName(
const std::string& name );
217 virtual const DtObserver* findObserverByName(
const std::string& name )
const;
221 void setCurrentObserver(
const std::string& observerName );
227 void setTerrainContextEnabled(
bool enabled);
228 bool terrainContextEnabled()
const;
236 virtual void toggleTerrainScaling();
239 virtual void incrementTerrainScaleFactor();
242 virtual void decrementTerrainScaleFactor();
245 virtual void toggleEntityLabels();
248 virtual void toggleRotateEntitySymbols();
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 );