ofxDOM
A DOM Level 3 Events implementation for openFrameworks.
ofx::DOM::EventTarget< EventTargetType > Class Template Reference

A class representing an EventTarget. More...

#include <EventTarget.h>

Public Member Functions

 EventTarget ()
 Create an EventTarget.
 
virtual ~EventTarget ()
 Destroy the EventTarget.
 
template<class EventType , typename ArgumentsType , class ListenerClass >
void addEventListener (EventType &event, void(ListenerClass::*listenerMethod)(const void *, ArgumentsType &), bool useCapture=false, int priority=OF_EVENT_ORDER_AFTER_APP)
 
template<class EventType , typename ArgumentsType , class ListenerClass >
void addEventListener (EventType &event, void(ListenerClass::*listenerMethod)(ArgumentsType &), bool useCapture=false, int priority=OF_EVENT_ORDER_AFTER_APP)
 
template<class EventType , typename ArgumentsType , class ListenerClass >
void addEventListener (EventType &event, bool(ListenerClass::*listenerMethod)(const void *, ArgumentsType &), bool useCapture=false, int priority=OF_EVENT_ORDER_AFTER_APP)
 
template<class EventType , typename ArgumentsType , class ListenerClass >
void addEventListener (EventType &event, bool(ListenerClass::*listenerMethod)(ArgumentsType &), bool useCapture=false, int priority=OF_EVENT_ORDER_AFTER_APP)
 
template<class EventType , typename ArgumentsType , class ListenerClass >
void removeEventListener (EventType &event, void(ListenerClass::*listenerMethod)(const void *, ArgumentsType &), bool useCapture=false, int priority=OF_EVENT_ORDER_AFTER_APP)
 
template<class EventType , typename ArgumentsType , class ListenerClass >
void removeEventListener (EventType &event, void(ListenerClass::*listenerMethod)(ArgumentsType &), bool useCapture=false, int priority=OF_EVENT_ORDER_AFTER_APP)
 
template<class EventType , typename ArgumentsType , class ListenerClass >
void removeEventListener (EventType &event, bool(ListenerClass::*listenerMethod)(const void *, ArgumentsType &), bool useCapture=false, int priority=OF_EVENT_ORDER_AFTER_APP)
 
template<class EventType , typename ArgumentsType , class ListenerClass >
void removeEventListener (EventType &event, bool(ListenerClass::*listenerMethod)(ArgumentsType &), bool useCapture=false, int priority=OF_EVENT_ORDER_AFTER_APP)
 
template<class EventType >
bool dispatchEvent (EventType &event)
 Dispatch the given event. More...
 
template<class EventArgsType >
bool handleEvent (EventArgsType &e)
 Handle the given event. More...
 
bool hasListenersForEventType (const std::string &type) const
 Determine if the EventTarget has listeners for an event. More...
 
bool isEventTypeRegistered (const std::string &type) const
 Determine if the EventTarget is registered to receive the type of events. More...
 
void registerEventType (const std::string &type, BaseDOMEvent *event)
 Register a new event type by name. More...
 
void unregisterEventType (const std::string &type)
 Unregister a new event type by name. More...
 
virtual void onSetup ()
 
virtual void onUpdate ()
 
virtual void onDraw () const
 
virtual void onExit ()
 

Public Attributes

DOMEvent< PointerUIEventArgspointerOver
 
DOMEvent< PointerUIEventArgspointerEnter
 
DOMEvent< PointerUIEventArgspointerDown
 
DOMEvent< PointerUIEventArgspointerMove
 
DOMEvent< PointerUIEventArgspointerUp
 
DOMEvent< PointerUIEventArgspointerCancel
 
DOMEvent< PointerUIEventArgspointerOut
 
DOMEvent< PointerUIEventArgspointerLeave
 
DOMEvent< PointerUIEventArgspointerScroll
 
DOMEvent< PointerCaptureUIEventArgsgotPointerCapture
 
DOMEvent< PointerCaptureUIEventArgslostPointerCapture
 
DOMEvent< KeyboardUIEventArgskeyDown
 
DOMEvent< KeyboardUIEventArgskeyUp
 
DOMEvent< FocusEventArgsblur
 
DOMEvent< FocusEventArgsfocusIn
 
DOMEvent< FocusEventArgsfocus
 
DOMEvent< FocusEventArgsfocusOut
 
ofEvent< ElementEventArgsaddedTo
 
ofEvent< ElementEventArgsremovedFrom
 
ofEvent< ElementOrderEventArgsreordered
 
ofEvent< ElementEventArgssiblingAdded
 
ofEvent< ElementEventArgssiblingRemoved
 
ofEvent< ElementOrderEventArgssiblingReordered
 
ofEvent< ElementEventArgschildAdded
 
ofEvent< ElementEventArgschildRemoved
 
ofEvent< ElementOrderEventArgschildReordered
 
ofEvent< MoveEventArgsmove
 
ofEvent< ResizeEventArgsresize
 
ofEvent< AttributeEventArgsattributeSet
 
ofEvent< AttributeEventArgsattributeCleared
 
ofEvent< EnablerEventArgsenabled
 
ofEvent< EnablerEventArgslocked
 
ofEvent< EnablerEventArgshidden
 

Protected Attributes

std::unordered_map< std::string, BaseDOMEvent * > _eventRegistry
 

Detailed Description

template<class EventTargetType>
class ofx::DOM::EventTarget< EventTargetType >

A class representing an EventTarget.

EventTargets know how to handle events. This class is usually inherited using the curiously-recurring template pattern.

Template Parameters
EventTargetTypeThe type of the Tvent target.

Member Function Documentation

template<class EventTargetType >
template<class EventType >
bool ofx::DOM::EventTarget< EventTargetType >::dispatchEvent ( EventType &  event)

Dispatch the given event.

This will return true if the default action for this event should be prevented.

Parameters
eventThe Event to dispatch.
Template Parameters
EventTypeThe Event type to dispatch.
Returns
true iff one of the responders called Event::preventDefault().
template<class EventTargetType >
template<class EventArgsType >
bool ofx::DOM::EventTarget< EventTargetType >::handleEvent ( EventArgsType &  e)

Handle the given event.

This will return true if the default action for this event should be prevented.

Template Parameters
EventArgsTypeThe EventArgs type to dispatch.
Parameters
eventThe Event to dispatch.
Returns
true if the EventTarget was registered to handle the event.
template<class EventTargetType >
bool ofx::DOM::EventTarget< EventTargetType >::hasListenersForEventType ( const std::string &  type) const

Determine if the EventTarget has listeners for an event.

Parameters
eventThe event name.
Returns
true if it has registered listeners for this event.
template<class EventTargetType >
bool ofx::DOM::EventTarget< EventTargetType >::isEventTypeRegistered ( const std::string &  type) const

Determine if the EventTarget is registered to receive the type of events.

Parameters
typeThe event type.
Returns
true if it is registered to receive the type of events.
template<class EventTargetType >
void ofx::DOM::EventTarget< EventTargetType >::registerEventType ( const std::string &  type,
BaseDOMEvent event 
)

Register a new event type by name.

Parameters
typeThe event type.
eventA pointer to the DOMEvent<> that will be called.
template<class EventTargetType >
void ofx::DOM::EventTarget< EventTargetType >::unregisterEventType ( const std::string &  type)

Unregister a new event type by name.

Parameters
typeThe event type.

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