Crazy Eddies GUI System: CEGUI::EventSet Class Reference

Crazy Eddies GUI System 0.7.6

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
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.

List of all members.

## 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.
void | removeEvent (const String &name)
| Removes the Event with the given name. All connections to the event are disconnected.
void | removeAllEvents (void)
| Remove all Event objects from the EventSet.
bool | isEventPresent (const String &name)
| Checks to see if an Event with the given name is present in the EventSet.
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.
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.
virtual Event::Connection | subscribeScriptedEvent (const String &name, const String &subscriber_name)
| Subscribes the named Event to a scripted funtion.
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.
virtual void | fireEvent (const String &name, EventArgs &args, const String &eventNamespace="")
| Fires the named event passing the given EventArgs object.
bool | isMuted (void) const
| Return whether the EventSet is muted or not.
void | setMutedState (bool setting)
| Set the mute state for this EventSet.
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
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.
void | fireEvent_impl (const String &name, EventArgs &args)
| Implementation event firing member.
| EventSet (EventSet &)
EventSet & | operator= (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:

  name | String object containing the name to give the new Event. The name must be unique for the EventSet.

Returns:
  Nothing

Exceptions:

  AlreadyExistsException | Thrown 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:

  name | String object holding the name of the Event that is to be fired (triggered)
  args | The 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.
  eventNamespace | String 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:

  name | String 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:

  name | String 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:

  name | String object containing the name of the Event to subscribe to.
  subscriber | Function 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:

  name | String object containing the name of the Event to subscribe to.
  group | Group which is to be subscribed to. Subscription groups are called in ascending order.
  subscriber | Function 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,
|  | Event::Group | group,
|  | const String & | subscriber_name
| ) |  | `[virtual]`

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

Parameters:

  name | String object containing the name of the Event to subscribe to.
  group | Group which is to be subscribed to. Subscription groups are called in ascending order.
  subscriber_name | String 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,
|  | const String & | subscriber_name
| ) |  | `[virtual]`

Subscribes the named Event to a scripted funtion.

Parameters:

  name | String object containing the name of the Event to subscribe to.
  subscriber_name | String 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.