26 #include <boost/archive/xml_iarchive.hpp>
27 #include <boost/archive/xml_oarchive.hpp>
28 #include <boost/serialization/access.hpp>
29 #include <boost/serialization/nvp.hpp>
30 #include <boost/serialization/list.hpp>
31 #include <boost/serialization/map.hpp>
32 #include <boost/serialization/vector.hpp>
33 #include <boost/serialization/string.hpp>
35 #include <vlutil/vlSmartPointers.h>
69 virtual void createSelectionGroup(
const std::string&,
bool signal =
true);
74 virtual void createSelectionGroupFromCurrentSelection(
const std::string& groupName,
bool select =
false);
77 virtual void clearSelectionGroup(
const std::string&);
80 virtual void removeSelectionGroup(
const std::string&);
83 virtual bool hasSelectionGroup(
const std::string&)
const;
87 virtual void renameSelectionGroup(
const std::string& from,
const std::string& to);
90 virtual void addItemToSelectionGroup(
const std::string&,
const DtUUID&,
bool signal =
true);
93 virtual bool atLeastOneItemNotInSelectionGroup(
const std::string&,
const GroupItems& names)
const;
94 virtual bool atLeastOneItemNotInSelectionGroup(
const std::string&,
const std::vector<DtUUID>& names)
const;
97 virtual bool anyItemsInSelectionGroup(
const std::string&,
const GroupItems& names)
const;
98 virtual bool anyItemsInSelectionGroup(
const std::string&,
const std::vector<DtUUID>& names)
const;
101 virtual void addItemsToSelectionGroup(
const std::string&,
const GroupItems& names,
bool signal =
true);
102 virtual void addItemsToSelectionGroup(
const std::string&,
const std::vector<DtUUID>& names,
bool signal =
true);
105 virtual bool itemInAnySelectionGroup(
const DtUUID&)
const;
108 virtual void removeItemFromSelectionGroup(
const std::string&,
const DtUUID&);
111 virtual void removeItemsFromSelectionGroup(
const std::string&,
const GroupItems& names);
112 virtual void removeItemsFromSelectionGroup(
const std::string&,
const std::vector<DtUUID>& names);
118 virtual bool load(
const std::string&);
121 virtual bool save(
const std::string&);
124 virtual std::string toStringBuffer();
127 virtual bool fromStringBuffer(
const std::string&);
130 virtual void removeAll();
133 virtual GroupItems itemsInSelectionGroup(
const std::string&)
const;
136 virtual bool itemIsInSelectionGroup(
const std::string& group,
const DtUUID&)
const;
140 virtual void selectItemsInSelectionGroup(
const std::string&);
143 virtual const std::string& selectedSelectionGroup()
const;
146 virtual void processCreateSelectionGroup(
DtSimMessage*);
150 virtual bool canRenameSelectionGroup(
const std::string&)
const;
153 virtual void allScenarioObjectsDiscovered();
203 friend class boost::serialization::access;
208 template<
class Archive>
209 void serialize(Archive & ar,
const unsigned int version)
213 ar & BOOST_SERIALIZATION_NVP(mySelectionGroupsUUID);
217 typedef std::set<std::string> OldGroupItems;
218 typedef std::map<std::string, OldGroupItems> OldSelectionGroups;
220 OldSelectionGroups mySelectionGroups;
222 ar & BOOST_SERIALIZATION_NVP(mySelectionGroups);
224 if (Archive::is_loading::value)
226 OldSelectionGroups::const_iterator iter = mySelectionGroups.begin();
227 bool hasItems =
false;
229 while (iter != mySelectionGroups.end())
232 OldGroupItems::const_iterator oldIter = iter->second.begin();
234 while (oldIter != iter->second.end())
239 newGroupItems.insert(uuid);
243 hasItems |= (newGroupItems.size() != 0);
244 mySelectionGroupsUUID[iter->first] = newGroupItems;
250 myWaitingForDiscovery =
true;
boost::signals2::signal< void()> signal_loading
Signal sent before the selection group manager is loaded.
Definition: selectionGroupManager.h:181
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
makVrv::DtSignalConnectionManager myConnectionManager
Definition: selectionGroupManager.h:259
makVrv::DtDe & myDe
Definition: selectionGroupManager.h:257
This is the protocol independent state of an entity. Created/ deleted by DtEntityStateObject's. DtSimEntry's point to this state.
Definition: DtEntityState.h:33
boost::signals2::signal< void(DtUUID)> signal_itemRemovedFromGroups
Signal sent when the item is removed from all selection groups.
Definition: selectionGroupManager.h:178
class DtVrfSelectionFilter
Definition: vrfSelectionFilters.h:32
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
SelectionGroups mySelectionGroupsUUID
Definition: selectionGroupManager.h:258
std::set< DtUUID > GroupItems
Definition: selectionGroupManager.h:55
Definition: DtKeyMapManager.h:48
Contains makVrv::DtStateView class.
Contains makVrv::DtElementData class.
virtual void setForce(int)
Definition: selectionGroupManager.h:278
Contains the DtUUID class declaration.
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
FunctionCategory
Definition: DtKeyMapManager.h:37
boost::signals2::signal< void()> signal_selectionGroupsCleared
Signal sent when the selection group manager is cleared.
Definition: selectionGroupManager.h:187
boost::signals2::signal< void(std::string)> signal_selectionGroupAdded
Signals for selection group manager.
Definition: selectionGroupManager.h:160
const makVrv::DtKeyMapManager::FunctionCategory DtSelectionGroupFunctionCategory
Definition: selectionGroupManager.h:46
boost::signals2::signal< void(std::string)> signal_selectionGroupRemoved
Signal sent when a selection group is removed.
Definition: selectionGroupManager.h:166
std::string mySelectedSelectionGroup
Definition: selectionGroupManager.h:260
boost::signals2::signal< void(std::string)> signal_selectionGroupCleared
Signal sent when a selection group is cleared of all its items.
Definition: selectionGroupManager.h:169
static const DtUUID & nullUUID()
Contains makVrv::DtVirtualBaseClass class.
std::map< std::string, GroupItems > SelectionGroups
Definition: selectionGroupManager.h:56
boost::signals2::signal< void(std::string, GroupItems)> signal_itemsAddedToSelectionGroup
Signal sent when items are added to a selection group.
Definition: selectionGroupManager.h:172
boost::signals2::signal< void()> signal_loaded
Signal sent after the selection group manager is loaded.
Definition: selectionGroupManager.h:184
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: selectionGroupManager.h:209
File: simMsg.h.
Definition: simMessage.h:35
The DtSelectionGroupManager class is the interface to be used when creating selection group...
Definition: selectionGroupManager.h:52
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::signals2::signal< void(std::string)> signal_selectionGroupSelected
Signal emitted when current selection group has changed.
Definition: selectionGroupManager.h:193
Contains makVrv::DtVrlinkSimulatedEntityState class.
Contains makVrv::DtKeyMapManager class.
boost::signals2::signal< void(std::string, std::string)> signal_selectionGroupRenamed
Signal sent when a selection group is renamed.
Definition: selectionGroupManager.h:163
DtSelectionGroupManager & mySelectionGroupManager
Definition: selectionGroupManager.h:285
Base class to provide boost signal/slot management.
Contains makVrv::DtElementAttributes class.
Contains makVrv::DtUniqueID type.
boost::signals2::signal< void(std::string, std::string)> signal_itemRenamed
Signal emitted when an item is renamed in a selection group.
Definition: selectionGroupManager.h:190
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
The DtVrfSelectionGroupFilter will be used in the selection group widget to show items contained with...
Definition: selectionGroupManager.h:266
bool myWaitingForDiscovery
Definition: selectionGroupManager.h:261
boost::signals2::signal< void(std::string, GroupItems)> signal_itemsRemovedFromSelectionGroup
Signal sent when items are removed from a selection group.
Definition: selectionGroupManager.h:175
Definition: vrfObjectDataState.h:87
virtual void setStringUUID(const DtString &)
Replaces whatever boost UUID has been created (or not) with a string UUID. If the VRF_UUID: is not pr...