GUI
Classes | Public Types | Public Member Functions | Protected Attributes | Private Attributes | Friends | List of all members
gui::EventEmitter Class Reference

Base class for things that emits events. More...

#include <EventEmitter.h>

Inherited by gui::Widget.

Classes

struct  MapPredicate
 

Public Types

typedef std::multimap< EventType, EventListenerMap
 

Public Member Functions

 EventEmitter ()
 
virtual ~EventEmitter ()
 
void setQueue (AddToQueue addFunction)
 Assigns addToQueue function so the events can be sent to the queue. More...
 
EventListener::Id addEventListener (EventType eventType, EventListener::Function listenerFunc)
 Adds an event listener. More...
 
void removeEventListener (EventListener::Id listenerId)
 Removes an event listener. More...
 
void emitEvent (Event &event)
 Emits an event. More...
 

Protected Attributes

GUISystemguiSystem
 

Private Attributes

Map eventListeners
 
AddToQueue addToQueue
 
int lastListenerId
 

Friends

class EventQueue
 

Detailed Description

Base class for things that emits events.

Definition at line 25 of file EventEmitter.h.

Member Typedef Documentation

◆ Map

Definition at line 28 of file EventEmitter.h.

Constructor & Destructor Documentation

◆ EventEmitter()

EventEmitter::EventEmitter ( )

Definition at line 14 of file EventEmitter.cpp.

◆ ~EventEmitter()

EventEmitter::~EventEmitter ( )
virtual

Definition at line 19 of file EventEmitter.cpp.

Member Function Documentation

◆ addEventListener()

EventListener::Id EventEmitter::addEventListener ( EventType  eventType,
EventListener::Function  listenerFunc 
)

Adds an event listener.

Parameters
eventTypeThe type of event the listener is listening on.
listenerFuncFunction wrapper of type EventListener::Function.
Returns
Listener's identifier assigned by the event emitter.

Definition at line 28 of file EventEmitter.cpp.

References eventListeners, gui::EventListener::id, and lastListenerId.

◆ emitEvent()

void EventEmitter::emitEvent ( Event event)

Emits an event.

Parameters
eventEvent object created by GUISystem.

Definition at line 44 of file EventEmitter.cpp.

References addToQueue, gui::GUISystem::cloneEvent(), eventListeners, gui::Event::getType(), and guiSystem.

◆ removeEventListener()

void EventEmitter::removeEventListener ( EventListener::Id  listenerId)

Removes an event listener.

Parameters
listenerIdListener's identifier returned by addEventListener function.

Definition at line 37 of file EventEmitter.cpp.

References eventListeners.

◆ setQueue()

void EventEmitter::setQueue ( AddToQueue  addFunction)

Assigns addToQueue function so the events can be sent to the queue.

Parameters
addFunctionFunction wrapper of type AddToQueue.

Definition at line 23 of file EventEmitter.cpp.

References addToQueue.

Friends And Related Function Documentation

◆ EventQueue

friend class EventQueue
friend

Definition at line 80 of file EventEmitter.h.

Member Data Documentation

◆ addToQueue

AddToQueue gui::EventEmitter::addToQueue
private

Definition at line 77 of file EventEmitter.h.

◆ eventListeners

Map gui::EventEmitter::eventListeners
private

Definition at line 76 of file EventEmitter.h.

◆ guiSystem

GUISystem* gui::EventEmitter::guiSystem
protected

Definition at line 61 of file EventEmitter.h.

◆ lastListenerId

int gui::EventEmitter::lastListenerId
private

Definition at line 78 of file EventEmitter.h.


The documentation for this class was generated from the following files: