Crazy Eddies GUI System  0.7.0
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
CEGUI::EventSet Class Reference

Class that collects together a set of Event objects. More...

Inherited by CEGUI::GlobalEventSet, CEGUI::MouseCursor, CEGUI::RenderingSurface, CEGUI::ResourceEventSet, CEGUI::System, CEGUI::Window, and CEGUI::WindowManager.

Public Types

typedef ConstBaseIterator
< EventMap > 
Iterator
 

Public Member Functions

 EventSet ()
 Constructor for EventSet objects.
 
virtual ~EventSet (void)
 Destructor for EventSet objects.
 
void addEvent (const String &name)
 Add a new Event to the EventSet with the given name. More...
 
void removeEvent (const String &name)
 Removes the Event with the given name. All connections to the event are disconnected. More...
 
void removeAllEvents (void)
 Remove all Event objects from the EventSet. More...
 
bool isEventPresent (const String &name)
 Checks to see if an Event with the given name is present in the 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...
 
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...
 
Iterator getIterator (void) const
 Return a EventSet::Iterator object to iterate over the events currently added to the EventSet.
 

Protected Types

typedef std::map< String,
Event
*, String::FastLessCompare
EventMap
 

Protected Member Functions

EventgetEventObject (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...
 
void fireEvent_impl (const String &name, EventArgs &args)
 Implementation event firing member.
 
 EventSet (EventSet &)
 
EventSetoperator= (EventSet &)
 

Protected Attributes

EventMap d_events
 
bool d_muted
 true if events for this EventSet have been muted.
 

Detailed Description

Class that collects together a set of Event objects.

The EventSet is a means for code to attach a handler function to some
named event, and later, for that event to be fired and the subscribed
handler(s) called.
As of 0.5, the EventSet no longer needs to be filled with available events. Events are now added to the set as they are first used; that is, the first time a handler is subscribed to an event for a given EventSet, an Event object is created and added to the EventSet.
Instead of throwing an exception when firing an event that does not actually exist in the set, we now do nothing (if the Event does not exist, then it has no handlers subscribed, and therefore doing nothing is the correct course action).

Member Function Documentation

void CEGUI::EventSet::addEvent ( const String name)

Add a new Event to the EventSet with the given name.

Parameters
nameString object containing the name to give the new Event. The name must be unique for the EventSet.
Returns
Nothing
Exceptions
AlreadyExistsExceptionThrown if an Event already exists named name.
virtual void CEGUI::EventSet::fireEvent ( const String name,
EventArgs args,
const String eventNamespace = "" 
)
virtual

Fires the named event passing the given EventArgs object.

Parameters
nameString object holding the name of the Event that is to be fired (triggered)
argsThe EventArgs (or derived) object that is to be bassed to each subscriber of the Event. Once all subscribers have been called the 'handled' field of the event is updated appropriately.
eventNamespaceString object describing the global event namespace prefix for this event.
Returns
Nothing.

Reimplemented in CEGUI::GlobalEventSet.

Event* CEGUI::EventSet::getEventObject ( const String name,
bool  autoAdd = false 
)
protected

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.

Parameters
nameString object holding the name of the Event to return.
autoAdd
  • true if an Event object named name should be added to the set if such an Event does not currently exist.
  • false if no object should automatically be added to the set. In this case, if the Event does not already exist 0 will be returned.
Returns
Pointer to the Event object in this EventSet with the specifed name. Or 0 if such an Event does not exist and autoAdd was false.
bool CEGUI::EventSet::isEventPresent ( const String name)

Checks to see if an Event with the given name is present in the EventSet.

Returns
true if an Event named name was found, or false if the Event was not found
bool CEGUI::EventSet::isMuted ( void  ) const

Return whether the EventSet is muted or not.

Returns
  • true if the EventSet is muted. All requests to fire events will be ignored.
  • false if the EventSet is not muted. All requests to fire events are processed as normal.
void CEGUI::EventSet::removeAllEvents ( void  )

Remove all Event objects from the EventSet.

Returns
Nothing
void CEGUI::EventSet::removeEvent ( const String name)

Removes the Event with the given name. All connections to the event are disconnected.

Parameters
nameString object containing the name of the Event to remove. If no such Event exists, nothing happens.
Returns
Nothing.
void CEGUI::EventSet::setMutedState ( bool  setting)

Set the mute state for this EventSet.

Parameters
setting
  • true if the EventSet is to be muted (no further event firing requests will be honoured until EventSet is unmuted).
  • false if the EventSet is not to be muted and all events should fired as requested.
Returns
Nothing.
virtual Event::Connection CEGUI::EventSet::subscribeEvent ( const String name,
Event::Subscriber  subscriber 
)
virtual

Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added.

Parameters
nameString object containing the name of the Event to subscribe to.
subscriberFunction or object that is to be subscribed to the Event.
Returns
Connection object that can be used to check the status of the Event connection and to disconnect (unsubscribe) from the Event.
virtual Event::Connection CEGUI::EventSet::subscribeEvent ( const String name,
Event::Group  group,
Event::Subscriber  subscriber 
)
virtual

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.

Parameters
nameString object containing the name of the Event to subscribe to.
groupGroup which is to be subscribed to. Subscription groups are called in ascending order.
subscriberFunction or object that is to be subscribed to the Event.
Returns
Connection object that can be used to check the status of the Event connection and to disconnect (unsubscribe) from the Event.
virtual Event::Connection CEGUI::EventSet::subscribeScriptedEvent ( const String name,
const String subscriber_name 
)
virtual

Subscribes the named Event to a scripted funtion.

Parameters
nameString object containing the name of the Event to subscribe to.
subscriber_nameString object containing the name of the script funtion that is to be subscribed to the Event.
Returns
Connection object that can be used to check the status of the Event connection and to disconnect (unsubscribe) from the Event.
virtual Event::Connection CEGUI::EventSet::subscribeScriptedEvent ( const String name,
Event::Group  group,
const String subscriber_name 
)
virtual

Subscribes the specified group of the named Event to a scripted funtion.

Parameters
nameString object containing the name of the Event to subscribe to.
groupGroup which is to be subscribed to. Subscription groups are called in ascending order.
subscriber_nameString object containing the name of the script funtion that is to be subscribed to the Event.
Returns
Connection object that can be used to check the status of the Event connection and to disconnect (unsubscribe) from the Event.