A storage for of displayed objects via their numerical id.
GUIGlObjectStorage()
Constructor.
GUIGlObjectStorage(const GUIGlObjectStorage &s)=delete
invalidated copy constructor
GUIGlID registerObject(GUIGlObject *object)
Registers an object.
void clear()
Clears this container.
~GUIGlObjectStorage()
Destructor.
const std::vector< GUIGlObject * > & getAllGLObjects() const
Returns the set of all known objects.
void setNetObject(GUIGlObject *object)
Sets the given object as the "network" object.
void changeName(GUIGlObject *object, const std::string &fullName)
void unblockObject(GUIGlID id)
Marks an object as unblocked.
GUIGlObject * getNetObject() const
Returns the network object.
GUIGlObjectStorage & operator=(const GUIGlObjectStorage &s)=delete
invalidate assignment operator
GUIGlObject * getObjectBlocking(GUIGlID id) const
Returns the object from the container locking it.
std::vector< GUIGlObject * > myObjects
The known objects.
static GUIGlObjectStorage gIDStorage
A single static instance of this class.
FXMutex myLock
A lock to avoid parallel access on the storages.
bool remove(GUIGlID id)
Removes the named object from this container.
GUIGlID myNextID
The next id to give; initially one, increased by one with each object registration.
std::map< std::string, GUIGlObject * > myFullNameMap
The known objects by their full name.
GUIGlObject * myNetObject
The network object.