GdomeCppSmartDOM::EventTarget

The EventTarget interface is implemented by all Nodes in an implementation which supports the DOM Event Model. Therefore, this interface can be obtained by using binding-specific casting methods on an instance of the Node interface. The interface allows registration and removal of EventListeners on an EventTarget and dispatch of events to that EventTarget.



Default Constructor
EventTarget(GdomeEventTarget* = 0)
Creates a smart pointer for the Gdome element whose pointer is passed as an argument. The user should never pass a non-null pointer to this constructor.


Copy and Cast Constructors
EventTarget(const EventTarget&)
These constructors can be used to copy a smart pointer or to downcast it. If the downcasting is not possible, the resulting smart pointer will be null.


Copy Operator
EventTarget& operator=(const EventTarget&)


Equality
bool operator==(const EventTarget&) const
bool operator!=(const EventTarget&) const
Two smart pointers are equal if they point to the same Gdome object.


Methods
void addEventListener(const DOMString& type, const EventListener& listener, const booluseCapture)
Parameters:
type

The event type for which the user is registering

listener

The listener parameter takes an interface implemented by the user which contains the methods to be called when the event occurs.

useCapture

If true, useCapture indicates that the user wishes to initiate capture. After initiating capture, all events of the specified type will be dispatched to the registered EventListener before being dispatched to any EventTargets beneath them in the tree. Events which are bubbling upward through the tree will not trigger an EventListener designated to use capture.

Description:

This method allows the registration of event listeners on the event target. If an EventListener is added to an EventTarget while it is processing an event, it will not be triggered by the current actions but may be triggered during a later stage of event flow, such as the bubbling phase.

If multiple identical EventListeners are registered on the same EventTarget with the same parameters the duplicate instances are discarded. They do not cause the EventListener to be called twice and since they are discarded they do not need to be removed with the removeEventListener method.

void removeEventListener(const DOMString& type, const EventListener& listener, const booluseCapture)
Parameters:
type

Specifies the event type of the EventListener being removed.

listener

The EventListener parameter indicates the EventListener to be removed.

useCapture

Specifies whether the EventListener being removed was registered as a capturing listener or not. If a listener was registered twice, one with capture and one without, each must be removed separately. Removal of a capturing listener does not affect a non-capturing version of the same listener, and vice versa.

Description:

This method allows the removal of event listeners from the event target. If an EventListener is removed from an EventTarget while it is processing an event, it will not be triggered by the current actions. EventListeners can never be invoked after being removed.

Calling removeEventListener with arguments which do not identify any currently registered EventListener on the EventTarget has no effect.

bool dispatchEvent(const Event& evt)
Parameters:
evt

Specifies the event type, behavior, and contextual information to be used in processing the event.

Description:

This method allows the dispatch of events into the implementations event model. Events dispatched in this manner will have the same capturing and bubbling behavior as events dispatched directly by the implementation. The target of the event is the EventTarget on which dispatchEvent is called.

Exceptions:
EventException

UNSPECIFIED_EVENT_TYPE_ERR: Raised if the Event's type was not specified by initializing the event before dispatchEvent was called. Specification of the Event's type as null or an empty string will also trigger this exception.


This file has been generated automatically on Tue Nov 27 17:13:15 EST 2001 as part of GMetaDOM. For more information see the home page of the project, or contact the main author: luca.padovani@cs.unibo.it.