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;
57 const std::string& instanceName );
63 virtual bool onStart();
66 virtual bool onStop();
69 virtual bool onTick();
72 virtual const std::string& className()
const;
75 virtual bool processKeyEvent(
const DtKeyEvent& keyEvent,
79 virtual bool processMouseEvent(
const DtMouseEvent& mouseEvent,
82 virtual bool processPinchGesture(
const DtPinchGesture& pinchGesture,
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(
192 void addObserverState(
const std::string& observerName,
198 void initializeObserver(
DtObserver* observer,
205 virtual void addObserver(
DtObserver* observer);
208 virtual void removeObserver(
DtObserver* observer );
211 virtual void removeObserver(
const std::string& name );
214 virtual std::vector<DtObserver*> observers()
const;
218 virtual DtObserver* findObserverByName(
const std::string& name );
219 virtual const DtObserver* findObserverByName(
const std::string& name )
const;
223 void setCurrentObserver(
const std::string& observerName );
229 void setTerrainContextEnabled(
bool enabled);
230 bool terrainContextEnabled()
const;
238 virtual void toggleTerrainScaling();
241 virtual void incrementTerrainScaleFactor();
244 virtual void decrementTerrainScaleFactor();
247 virtual void toggleEntityLabels();
250 virtual void toggleRotateEntitySymbols();
253 virtual void toggleTacticalGraphics();
256 virtual void toggleEntityHatLines();
259 virtual void toggleTacticalGraphicsHatLines();
261 virtual void toggleEntityHatMode();
264 virtual void toggleTacticalGraphicsHatMode();
267 virtual void togglePropTransparencySelected();
271 virtual void toggleViewControl();
278 void setAllowObserverReset(
bool allow);
281 void saveObservers(
const std::string&
filename);
286 void loadObservers(
const std::string&
filename,
bool force=
false);
296 virtual void removeAnimatorFromObserver(
DtObserver *observer);
300 void setCurrentObserver(
DtObserver* observer );
303 virtual void initializeKeyMapManager(
const std::string& defaultKeyMap );
304 virtual void bindFunctions();
306 virtual void createMaps();
310 virtual void loadMaps(
bool loadFromFactory =
false);
316 void removeObserver(
ObserversMap& observers,
const std::string& name );
318 void destroyObservers();
320 bool setCurrentObserverFromChannel(
const DtChannel& channel );
324 void slot_channelConfigurationModified(
const std::string& deName,
325 const std::string& winName,
const std::string& oldChannelName,
327 void slot_attachedToChanged(
DtObserver* observer );
330 void createRequiredObservers(
const std::string& engineName );
333 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord);
338 std::string restoreObserversPart1();
341 void restoreObserversPart2(
const std::string&
filename );
343 virtual void slot_displayEngineRealized(
const std::string&,
344 const std::string& engineName );