Crazy Eddie's GUI System
0.8.6
|
Templatised manager class that loads and manages named XML based resources. More...
Public Member Functions | |
NamedXMLResourceManager (const String &resource_type) | |
Constructor. More... | |
virtual | ~NamedXMLResourceManager () |
Destructor. | |
T & | createFromContainer (const RawDataContainer &source, XMLResourceExistsAction action=XREA_RETURN) |
Creates a new T object from a RawDataContainer and adds it to the collection. More... | |
T & | createFromFile (const String &xml_filename, const String &resource_group="", XMLResourceExistsAction action=XREA_RETURN) |
Creates a new T object from an XML file and adds it to the collection. More... | |
T & | createFromString (const String &source, XMLResourceExistsAction action=XREA_RETURN) |
Creates a new T object from a string and adds it to the collection. More... | |
void | destroy (const String &object_name) |
Destroy the object named object_name, or do nothing if such an object does not exist in the collection. More... | |
void | destroy (const T &object) |
Destroy the object object, or do nothing if such an object does not exist in the collection. More... | |
void | destroyAll () |
Destroy all objects. | |
T & | get (const String &object_name) const |
Return a reference to the object named object_name. More... | |
bool | isDefined (const String &object_name) const |
Return whether an object named object_name exists. | |
void | createAll (const String &pattern, const String &resource_group) |
Create a new T object from files with names matching pattern in resource_group. | |
![]() | |
EventSet () | |
Constructor for EventSet objects. | |
virtual | ~EventSet (void) |
Destructor for EventSet objects. | |
void | addEvent (const String &name) |
Creates a new Event object with the given name and adds it to the EventSet. More... | |
void | addEvent (Event &event) |
Adds the given Event object to the EventSet. Ownership of the object passes to EventSet and it will be deleted when it is removed from the EventSet - whether explicitly via removeEvent or when the EventSet is destroyed. More... | |
void | removeEvent (const String &name) |
Removes the Event with the given name. All connections to the event are disconnected, and the underlying Event object is destroyed. More... | |
void | removeEvent (Event &event) |
Removes the given event from the EventSet. All connections to the event are disconnected, and the event object is destroyed. More... | |
void | removeAllEvents (void) |
Remove all Event objects from the EventSet. Add connections will be disconnected, and all Event objects destroyed. | |
bool | isEventPresent (const String &name) |
Checks to see if an Event with the given name is present in this EventSet. More... | |
virtual Event::Connection | subscribeEvent (const String &name, Event::Subscriber subscriber) |
Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More... | |
virtual Event::Connection | subscribeEvent (const String &name, Event::Group group, Event::Subscriber subscriber) |
Subscribes a handler to the specified group of the named Event. If the named Event is not yet present in the EventSet, it is created and added. More... | |
template<typename Arg1 , typename Arg2 > | |
Event::Connection | subscribeEvent (const String &name, Arg1 arg1, Arg2 arg2) |
Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More... | |
template<typename Arg1 , typename Arg2 > | |
Event::Connection | subscribeEvent (const String &name, Event::Group group, Arg1 arg1, Arg2 arg2) |
Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More... | |
virtual Event::Connection | subscribeScriptedEvent (const String &name, const String &subscriber_name) |
Subscribes the named Event to a scripted funtion. More... | |
virtual Event::Connection | subscribeScriptedEvent (const String &name, Event::Group group, const String &subscriber_name) |
Subscribes the specified group of the named Event to a scripted funtion. More... | |
virtual void | fireEvent (const String &name, EventArgs &args, const String &eventNamespace="") |
Fires the named event passing the given EventArgs object. More... | |
bool | isMuted (void) const |
Return whether the EventSet is muted or not. More... | |
void | setMutedState (bool setting) |
Set the mute state for this EventSet. More... | |
Event * | getEventObject (const String &name, bool autoAdd=false) |
Return a pointer to the Event object with the given name, optionally adding such an Event object to the EventSet if it does not already exist. More... | |
EventIterator | getEventIterator (void) const |
Return a EventSet::EventIterator object to iterate over the events currently added to the EventSet. | |
Protected Types | |
typedef std::map< String, T *, StringFastLessCompare CEGUI_MAP_ALLOC(String, T *)> | ObjectRegistry |
type of collection used to store and manage objects | |
![]() | |
typedef std::map< String, Event *, StringFastLessCompare CEGUI_MAP_ALLOC(String, Event *)> | EventMap |
Protected Member Functions | |
void | destroyObject (typename ObjectRegistry::iterator ob) |
implementation of object destruction. | |
T & | doExistingObjectAction (const String object_name, T *object, const XMLResourceExistsAction action) |
function to enforce XMLResourceExistsAction policy. | |
virtual void | doPostObjectAdditionAction (T &object) |
Function called each time a new object is added to the collection. | |
![]() | |
void | fireEvent_impl (const String &name, EventArgs &args) |
Implementation event firing member. | |
ScriptModule * | getScriptModule () const |
Helper to return the script module pointer or throw. | |
EventSet (EventSet &) | |
EventSet (const EventSet &) | |
EventSet & | operator= (EventSet &) |
EventSet & | operator= (const EventSet &) |
Protected Attributes | |
const String | d_resourceType |
String holding the text for the resource type managed. | |
ObjectRegistry | d_objects |
the collection of objects | |
![]() | |
EventMap | d_events |
bool | d_muted |
true if events for this EventSet have been muted. | |
Additional Inherited Members | |
![]() | |
typedef ConstMapIterator< EventMap > | EventIterator |
![]() | |
static const String | EventNamespace |
Namespace name for all resource managers. | |
static const String | EventResourceCreated |
static const String | EventResourceDestroyed |
static const String | EventResourceReplaced |
Templatised manager class that loads and manages named XML based resources.
T | Type for the object that is loaded and managed by the class. |
U | Type for the loader used to create object instances of T from XML files. This class does all of the creation / loading work and can be of any form or type desired, with the following requirements:
|
CEGUI::NamedXMLResourceManager< T, U >::NamedXMLResourceManager | ( | const String & | resource_type | ) |
Constructor.
resource_type | String object holding some textual indication of the type of objects managed by the collection. This is used to give more descriptive log and exception messages. |
T & CEGUI::NamedXMLResourceManager< T, U >::createFromContainer | ( | const RawDataContainer & | source, |
XMLResourceExistsAction | action = XREA_RETURN |
||
) |
Creates a new T object from a RawDataContainer and adds it to the collection.
Use an instance of the xml resource loading class U to process the XML source thereby creating an instance of class T and add it to the collection under the name specified in the XML file.
source | RawDataContainer holding the XML source to be used when creating the new object instance. |
action | One of the XMLResourceExistsAction enumerated values indicating what action should be taken when an object with the specified name already exists within the collection. |
T & CEGUI::NamedXMLResourceManager< T, U >::createFromFile | ( | const String & | xml_filename, |
const String & | resource_group = "" , |
||
XMLResourceExistsAction | action = XREA_RETURN |
||
) |
Creates a new T object from an XML file and adds it to the collection.
Use an instance of the xml resource loading class U to process the XML file xml_filename from resource group resource_group thereby creating an instance of class T and add it to the collection under the name specified in the XML file.
xml_filename | String holding the filename of the XML file to be used when creating the new object instance. |
resource_group | String holding the name of the resource group identifier to be used when loading the XML file described by xml_filename. |
action | One of the XMLResourceExistsAction enumerated values indicating what action should be taken when an object with the specified name already exists within the collection. |
T & CEGUI::NamedXMLResourceManager< T, U >::createFromString | ( | const String & | source, |
XMLResourceExistsAction | action = XREA_RETURN |
||
) |
Creates a new T object from a string and adds it to the collection.
Use an instance of the xml resource loading class U to process the XML source thereby creating an instance of class T and add it to the collection under the name specified in the XML file.
source | String holding the XML source to be used when creating the new object instance. |
action | One of the XMLResourceExistsAction enumerated values indicating what action should be taken when an object with the specified name already exists within the collection. |
void CEGUI::NamedXMLResourceManager< T, U >::destroy | ( | const String & | object_name | ) |
Destroy the object named object_name, or do nothing if such an object does not exist in the collection.
object_name | String holding the name of the object to be destroyed. |
void CEGUI::NamedXMLResourceManager< T, U >::destroy | ( | const T & | object | ) |
Destroy the object object, or do nothing if such an object does not exist in the collection.
object | The object to be destroyed (beware of keeping references to this object once it's been destroyed!) |
T & CEGUI::NamedXMLResourceManager< T, U >::get | ( | const String & | object_name | ) | const |
Return a reference to the object named object_name.
object_name | String holding the name of the object to be returned. |
UnknownObjectException | thrown if no object named object_name exists within the collection. |