19 #include <vlutil/vlRunnable.h>
22 #include <boost/function.hpp>
23 #include <boost/signal.hpp>
31 class DtAsynchronousEventQueue;
32 class DtAsynchronousAgentManager;
34 class DtEntityTypeMapper;
36 class DtSelectionManager;
48 const std::string& uniqueName,
const std::string& className);
54 virtual const std::string& className()
const;
57 virtual bool observersPublished()
const;
60 virtual void setObserversPublished(
bool isPublished);
63 virtual bool viewControlEnabled()
const;
66 virtual void setViewControlEnabled(
bool enabled);
69 virtual void queueDriverFunction(
const boost::function<
void ()>&
function);
72 virtual void queueConnectionFunction(
const boost::function<
void ()>&
function);
75 bool useThreadFlag()
const
77 return myUseThreadFlag;
98 virtual bool onStart();
102 virtual bool onStop();
108 void startPublishingObservers();
111 void stopPublishingObservers();
115 virtual bool onTick();
126 void setConnectionState(
bool state );
129 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord );
134 virtual void connectToDynamicSignals();
138 virtual void disconnectFromDynamicSignals();
140 virtual void slot_onViewChanged(
143 virtual void slot_onCurrentSelectionChanged(
147 virtual void slot_onVertexSelected(
const DtUniqueID& selected,
150 virtual void slot_onVertexDeselected(
const DtUniqueID& deselected,
153 virtual void slot_onEntityInfoToggled(
158 virtual void slot_onEntityIndicatorMouseDown(
DtMouseState& mouseState,
159 const DtUniqueID&
id,
const std::string& displayEngineName,
160 const std::string& windowName,
const std::string& channelName);
162 virtual void slot_onEntityIndicatorMouseUp(
DtMouseState& mouseState,
163 const DtUniqueID&
id,
const std::string& displayEngineName,
164 const std::string& windowName,
const std::string& channelName);
166 virtual void slot_onEntityIndicatorMouseDblClick(
DtMouseState& mouseState,
167 const DtUniqueID&
id,
const std::string& displayEngineName,
168 const std::string& windowName,
const std::string& channelName);
172 virtual void slot_onTacticalGraphicIndicatorMouseDown(
174 const std::string& windowName,
175 const std::string& channelName);
177 virtual void slot_onTacticalGraphicIndicatorMouseUp(
179 const std::string& windowName,
180 const std::string& channelName);
182 virtual void slot_onTacticalGraphicIndicatorMouseDblClick(
184 const std::string& windowName,
185 const std::string& channelName);
188 virtual void slot_onCoordinateSystemChanged(
189 const std::string& coordinateSystem,
190 const std::string& coordinateParameters );
193 virtual void slot_onObserverObjectAttached(
194 const std::string& observerName,
DtUniqueID id);
197 virtual void slot_onObserverDetached(
const std::string& observerName);
200 virtual void attachObserverObject(
const std::string& observerName,
204 virtual void toggleEntitySelected(
const DtUniqueID&
id);
206 virtual void performObserverAction(
211 virtual void slot_onObserverDestroyed(
DtObserver* observer);
213 virtual void slot_onObserverCreated(
DtObserver* observer);
216 virtual void startPublishingObserver(
DtObserver* observer );
219 virtual void stopPublishingObserver(
DtObserver* observer );
222 virtual void updateObservers();
225 const DtUniqueID&
id,
const std::string& displayEngineName,
226 const std::string& windowName,
const std::string& channelName);
229 const DtUniqueID&
id,
const std::string& displayEngineName,
230 const std::string& windowName,
const std::string& channelName);
233 const DtUniqueID&
id,
const std::string& displayEngineName,
234 const std::string& windowName,
const std::string& channelName);
242 virtual void runFunctionQueue(FunctionCallQueue& queue);