26 #include <boost/signal.hpp>
33 class DtSimObjectEntry;
50 mySupportedTasks(orig.mySupportedTasks), mySupportedSets(orig.mySupportedSets)
54 std::vector<DtSimTaskMessageType> mySupportedTasks;
74 typedef std::map<int, std::vector<DtSimTaskMessageType> >
DtTaskMap;
75 typedef std::map<int, std::vector<DtSetMessageType> >
DtSetMap;
96 virtual void requestInformationFor(
const std::vector<std::pair<DtString, makVrv::DtUniqueID> >& names);
100 virtual void updateAvailableTaskSetInformation(
const SimEntries&);
101 virtual void updateAvailableTaskSetInformation(
const std::string& name);
106 virtual void clearInformationFor(
const std::vector<makVrv::DtUniqueID>& ids,
bool request =
false);
113 virtual bool hasTaskSetInformationFor(
const std::string&)
const;
116 virtual std::string diGuyAnimationForKeyword(
const std::string& kw)
const;
118 virtual void setSupportedTasks(
const makVrv::DtUniqueID&,
const std::vector<DtSimTaskMessageType>&,
bool signal =
true);
120 virtual void setSupportingTasks(
const makVrv::DtUniqueID&,
const std::map<
int, std::vector<DtSimTaskMessageType> >&,
bool signal =
true);
122 virtual std::vector<DtSimTaskMessageType> availableTasks(
const makVrv::DtUniqueID&)
const;
124 virtual std::vector<std::string> availableSupportingTasks(
const makVrv::DtUniqueID&,
int type)
const;
128 bool noTaskSetValueMeansAll =
true);
130 bool noTaskSetValueMeansAll =
true);
132 bool noTaskSetValueMeansAll =
true);
133 virtual std::vector<int> supportedMenuTasks()
const;
134 virtual std::vector<int> supportedMenuSets()
const;
155 virtual bool hasPendingRequests()
const;
158 virtual void clearInformationForForce(
int);
161 virtual bool isAvailableTaskMenuItem(
int)
const;
165 virtual bool isAvailableSetMenuItem(
int)
const;
177 virtual void clearAllInformation();
182 virtual void addAvailableSet(
int menuItem,
const DtSetMessageType& setType);
186 virtual void addAvailableSetForSingleSelection(
int menuItem,
const DtSetMessageType& setType);
189 virtual void addAvailableTaskForSingleSelection(
int menuItem,
const DtSimTaskMessageType& taskType);
192 virtual void setSetIsSingleSelection(
int,
bool);
193 virtual bool setIsSingleSelection(
int)
const;
196 virtual void setTaskIsSingleSelection(
int,
bool);
197 virtual bool taskIsSingleSelection(
int)
const;
200 virtual void removeAvailableSet(
int menuItem,
const DtSetMessageType& setType);
203 virtual void requestDIGuyAppearancesAndAnimations(
const std::string& name);
204 virtual void requestDIGuyAppearancesAndAnimations(
const std::vector<DtString>& name);
207 virtual int nextAvailableId()
const;
217 virtual void requestTaskSetInformationFor(
const std::string&);
218 virtual void requestTaskSetInformationFor(
const std::vector<DtString>&);
225 virtual void initMenuMappings();
229 virtual bool isAvailableMenuItem(
int menu,
const DtTaskMap&)
const;
230 virtual bool isAvailableMenuItem(
int menu,
const DtSetMap& m)
const;
235 virtual void mergeMenuItems(
const std::vector<DtSimTaskMessageType>& entityItems,
const DtTaskMap& menuMap,
236 std::vector<int>& results);
238 virtual void mergeMenuItems(
const std::vector<DtSetMessageType>& entityItems,
const DtSetMap& menuMap,
239 std::vector<int>& results);
244 virtual void requestNextSetOfNames();