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(
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();
269 virtual void toggleViewControl();
276 void setAllowObserverReset(
bool allow);
279 void saveObservers(
const std::string& filename);
284 void loadObservers(
const std::string& filename,
bool force=
false);
294 virtual void removeAnimatorFromObserver(
DtObserver *observer);
298 void setCurrentObserver(
DtObserver* observer );
301 virtual void initializeKeyMapManager(
const std::string& defaultKeyMap );
302 virtual void bindFunctions();
304 virtual void createMaps();
308 virtual void loadMaps(
bool loadFromFactory =
false);
314 void removeObserver(
ObserversMap& observers,
const std::string& name );
316 void destroyObservers();
318 bool setCurrentObserverFromChannel(
const DtChannel& channel );
322 void slot_channelConfigurationModified(
const std::string& deName,
323 const std::string& winName,
const std::string& oldChannelName,
325 void slot_attachedToChanged(
DtObserver* observer );
328 void createRequiredObservers(
const std::string& engineName );
331 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord);
336 std::string restoreObserversPart1();
339 void restoreObserversPart2(
const std::string& filename );
341 virtual void slot_displayEngineRealized(
const std::string&,
342 const std::string& engineName );