diff options
| author | Bob Jamison <ishmalius@gmail.com> | 2008-03-16 21:37:50 +0000 |
|---|---|---|
| committer | ishmal <ishmal@users.sourceforge.net> | 2008-03-16 21:37:50 +0000 |
| commit | 90d240e890c65595a78bc88f674c540949ca8517 (patch) | |
| tree | 73d066d49907aa65e47d16e49e7d50be4c202f6e /src/bind | |
| parent | prepend correctly the PATH and append an existist PYTHONPATH if existing (diff) | |
| download | inkscape-90d240e890c65595a78bc88f674c540949ca8517.tar.gz inkscape-90d240e890c65595a78bc88f674c540949ca8517.zip | |
jdk1.5, 1.6 dont seem to have Level 3 DOM Events. Let's provide the interfaces for now.
(bzr r5107)
Diffstat (limited to 'src/bind')
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/CustomEvent.java | 70 | ||||
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/DocumentEvent.java | 86 | ||||
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/Event.java | 209 | ||||
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/EventException.java | 41 | ||||
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/EventListener.java | 40 | ||||
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/EventTarget.java | 202 | ||||
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/KeyboardEvent.java | 178 | ||||
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/MouseEvent.java | 219 | ||||
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/MutationEvent.java | 160 | ||||
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/MutationNameEvent.java | 104 | ||||
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/TextEvent.java | 81 | ||||
| -rw-r--r-- | src/bind/java/org/w3c/dom/events/UIEvent.java | 82 |
12 files changed, 1472 insertions, 0 deletions
diff --git a/src/bind/java/org/w3c/dom/events/CustomEvent.java b/src/bind/java/org/w3c/dom/events/CustomEvent.java new file mode 100644 index 000000000..c7bdf0433 --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/CustomEvent.java @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +/** + * The <code>CustomEvent</code> interface gives access to the attributes + * <code>Event.currentTarget</code> and <code>Event.eventPhase</code>. It is + * intended to be used by the DOM Events implementation to access the + * underlying current target and event phase while dispatching a custom + * <code>Event</code> in the tree; it is also intended to be implemented, + * and <em>not used</em>, by DOM applications. + * <p> The methods contained in this interface are not intended to be used by + * a DOM application, especially during the dispatch on the + * <code>Event</code> object. Changing the current target or the current + * phase may result in unpredictable results of the event flow. The DOM + * Events implementation should ensure that both methods return the + * appropriate current target and phase before invoking each event listener + * on the current target to protect DOM applications from malicious event + * listeners. + * <p ><b>Note:</b> If this interface is supported by the event object, + * <code>Event.isCustom()</code> must return <code>true</code>. + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 3 + */ +public interface CustomEvent extends Event { + /** + * The <code>setDispatchState</code> method is used by the DOM Events + * implementation to set the values of <code>Event.currentTarget</code> + * and <code>Event.eventPhase</code>. It also reset the states of + * <code>isPropagationStopped</code> and + * <code>isImmediatePropagationStopped</code>. + * @param target Specifies the new value for the + * <code>Event.currentTarget</code> attribute. + * @param phase Specifies the new value for the + * <code>Event.eventPhase</code> attribute. + */ + public void setDispatchState(EventTarget target, + short phase); + + /** + * This method will return <code>true</code> if the method + * <code>stopPropagation()</code> has been called for this event, + * <code>false</code> in any other cases. + * @return <code>true</code> if the event propagation has been stopped + * in the current group. + */ + public boolean isPropagationStopped(); + + /** + * The <code>isImmediatePropagationStopped</code> method is used by the + * DOM Events implementation to know if the method + * <code>stopImmediatePropagation()</code> has been called for this + * event. It returns <code>true</code> if the method has been called, + * <code>false</code> otherwise. + * @return <code>true</code> if the event propagation has been stopped + * immediately in the current group. + */ + public boolean isImmediatePropagationStopped(); + +} diff --git a/src/bind/java/org/w3c/dom/events/DocumentEvent.java b/src/bind/java/org/w3c/dom/events/DocumentEvent.java new file mode 100644 index 000000000..8f50dd74b --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/DocumentEvent.java @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +import org.w3c.dom.DOMException; + +/** + * The <code>DocumentEvent</code> interface provides a mechanism by which the + * user can create an <code>Event</code> object of a type supported by the + * implementation. If the feature "Events" is supported by the + * <code>Document</code> object, the <code>DocumentEvent</code> interface + * must be implemented on the same object. If the feature "+Events" is + * supported by the <code>Document</code> object, an object that supports + * the <code>DocumentEvent</code> interface must be returned by invoking the + * method <code>Node.getFeature("+Events", "3.0")</code> on the + * <code>Document</code> object. + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 2 + */ +public interface DocumentEvent { + /** + * + * @param eventType The <code>eventType</code> parameter specifies the + * name of the DOM Events interface to be supported by the created + * event object, e.g. <code>"Event"</code>, <code>"MouseEvent"</code>, + * <code>"MutationEvent"</code> and so on. If the <code>Event</code> + * is to be dispatched via the <code>EventTarget.dispatchEvent()</code> + * method the appropriate event init method must be called after + * creation in order to initialize the <code>Event</code>'s values. + * As an example, a user wishing to synthesize some kind of + * <code>UIEvent</code> would invoke + * <code>DocumentEvent.createEvent("UIEvent")</code>. The + * <code>UIEvent.initUIEventNS()</code> method could then be called on + * the newly created <code>UIEvent</code> object to set the specific + * type of user interface event to be dispatched, + * <code>{"http://www.w3.org/2001/xml-events", "DOMActivate"}</code> + * for example, and set its context information, e.g. + * <code>UIEvent.detail</code> in this example. The + * <code>createEvent</code> method is used in creating + * <code>Event</code>s when it is either inconvenient or unnecessary + * for the user to create an <code>Event</code> themselves. In cases + * where the implementation provided <code>Event</code> is + * insufficient, users may supply their own <code>Event</code> + * implementations for use with the + * <code>EventTarget.dispatchEvent()</code> method. However, the DOM + * implementation needs access to the attributes + * <code>Event.currentTarget</code> and <code>Event.eventPhase</code> + * to appropriately propagate the event in the DOM tree. Therefore + * users' <code>Event</code> implementations might need to support the + * <code>CustomEvent</code> interface for that effect. + * <p ><b>Note:</b> For backward compatibility reason, "UIEvents", + * "MouseEvents", "MutationEvents", and "HTMLEvents" feature names are + * valid values for the parameter <code>eventType</code> and represent + * respectively the interfaces "UIEvent", "MouseEvent", + * "MutationEvent", and "Event". + * @return The newly created event object. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the implementation does not support the + * <code>Event</code> interface requested. + */ + public Event createEvent(String eventType) + throws DOMException; + + /** + * Test if the implementation can generate events of a specified type. + * @param namespaceURI Specifies the <code>Event.namespaceURI</code> of + * the event. + * @param type Specifies the <code>Event.type</code> of the event. + * @return <code>true</code> if the implementation can generate and + * dispatch this event type, <code>false</code> otherwise. + * @since DOM Level 3 + */ + public boolean canDispatch(String namespaceURI, + String type); + +} diff --git a/src/bind/java/org/w3c/dom/events/Event.java b/src/bind/java/org/w3c/dom/events/Event.java new file mode 100644 index 000000000..949931518 --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/Event.java @@ -0,0 +1,209 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +/** + * The <code>Event</code> interface is used to provide contextual information + * about an event to the listener processing the event. An object which + * implements the <code>Event</code> interface is passed as the parameter to + * an <code>EventListener</code>. More specific context information is + * passed to event listeners by deriving additional interfaces from + * <code>Event</code> which contain information directly relating to the + * type of event they represent. These derived interfaces are also + * implemented by the object passed to the event listener. + * <p> To create an instance of the <code>Event</code> interface, use the + * <code>DocumentEvent.createEvent("Event")</code> method call. + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 2 + */ +public interface Event { + // PhaseType + /** + * The current event phase is the capture phase. + */ + public static final short CAPTURING_PHASE = 1; + /** + * The current event is in the target phase, i.e. it is being evaluated + * at the event target. + */ + public static final short AT_TARGET = 2; + /** + * The current event phase is the bubbling phase. + */ + public static final short BUBBLING_PHASE = 3; + + /** + * The name should be an <a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName'>NCName</a> as defined in [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * and is case-sensitive. + * <br> If the attribute <code>Event.namespaceURI</code> is different from + * <code>null</code>, this attribute represents a local name. + */ + public String getType(); + + /** + * Used to indicate the event target. This attribute contains the target + * node when used with the . + */ + public EventTarget getTarget(); + + /** + * Used to indicate the <code>EventTarget</code> whose + * <code>EventListeners</code> are currently being processed. This is + * particularly useful during the capture and bubbling phases. This + * attribute could contain the target node or a target ancestor when + * used with the . + */ + public EventTarget getCurrentTarget(); + + /** + * Used to indicate which phase of event flow is currently being + * accomplished. + */ + public short getEventPhase(); + + /** + * Used to indicate whether or not an event is a bubbling event. If the + * event can bubble the value is <code>true</code>, otherwise the value + * is <code>false</code>. + */ + public boolean getBubbles(); + + /** + * Used to indicate whether or not an event can have its default action + * prevented (see also ). If the default action can be prevented the + * value is <code>true</code>, otherwise the value is <code>false</code> + * . + */ + public boolean getCancelable(); + + /** + * Used to specify the time (in milliseconds relative to the epoch) at + * which the event was created. Due to the fact that some systems may + * not provide this information the value of <code>timeStamp</code> may + * be not available for all events. When not available, a value of + * <code>0</code> will be returned. Examples of epoch time are the time + * of the system start or 0:0:0 UTC 1st January 1970. + */ + public long getTimeStamp(); + + /** + * This method is used to prevent event listeners of the same group to be + * triggered but its effect is deferred until all event listeners + * attached on the <code>currentTarget</code> have been triggered (see + * ). Once it has been called, further calls to that method have no + * additional effect. + * <p ><b>Note:</b> This method does not prevent the default action from + * being invoked; use <code>preventDefault</code> for that effect. + */ + public void stopPropagation(); + + /** + * If an event is cancelable, the <code>preventDefault</code> method is + * used to signify that the event is to be canceled, meaning any default + * action normally taken by the implementation as a result of the event + * will not occur (see also ), and thus independently of event groups. + * Calling this method for a non-cancelable event has no effect. + * <p ><b>Note:</b> This method does not stop the event propagation; use + * <code>stopPropagation</code> or <code>stopImmediatePropagation</code> + * for that effect. + */ + public void preventDefault(); + + /** + * The <code>initEvent</code> method is used to initialize the value of + * an <code>Event</code> created through the + * <code>DocumentEvent.createEvent</code> method. This method may only + * be called before the <code>Event</code> has been dispatched via the + * <code>EventTarget.dispatchEvent()</code> method. If the method is + * called several times before invoking + * <code>EventTarget.dispatchEvent</code>, only the final invocation + * takes precedence. This method has no effect if called after the event + * has been dispatched. If called from a subclass of the + * <code>Event</code> interface only the values specified in this method + * are modified, all other attributes are left unchanged. + * <br> This method sets the <code>Event.type</code> attribute to + * <code>eventTypeArg</code>, and <code>Event.namespaceURI</code> to + * <code>null</code>. To initialize an event with a namespace URI, use + * the <code>Event.initEventNS(namespaceURIArg, eventTypeArg, ...)</code> + * method. + * @param eventTypeArg Specifies <code>Event.type</code>. + * @param canBubbleArg Specifies <code>Event.bubbles</code>. This + * parameter overrides the intrinsic bubbling behavior of the event. + * @param cancelableArg Specifies <code>Event.cancelable</code>. This + * parameter overrides the intrinsic cancelable behavior of the event. + */ + public void initEvent(String eventTypeArg, + boolean canBubbleArg, + boolean cancelableArg); + + /** + * The namespace URI associated with this event at creation time, or + * <code>null</code> if it is unspecified. + * <br> For events initialized with a DOM Level 2 Events method, such as + * <code>Event.initEvent()</code>, this is always <code>null</code>. + * @since DOM Level 3 + */ + public String getNamespaceURI(); + + /** + * This method will always return <code>false</code>, unless the event + * implements the <code>CustomEvent</code> interface. + * @return <code>false</code>, unless the event object implements the + * <code>CustomEvent</code> interface. + * @since DOM Level 3 + */ + public boolean isCustom(); + + /** + * This method is used to prevent event listeners of the same group to be + * triggered and, unlike <code>stopPropagation</code> its effect is + * immediate (see ). Once it has been called, further calls to that + * method have no additional effect. + * <p ><b>Note:</b> This method does not prevent the default action from + * being invoked; use <code>Event.preventDefault()</code> for that + * effect. + * @since DOM Level 3 + */ + public void stopImmediatePropagation(); + + /** + * This method will return <code>true</code> if the method + * <code>Event.preventDefault()</code> has been called for this event, + * <code>false</code> otherwise. + * @return <code>true</code> if <code>Event.preventDefault()</code> has + * been called for this event. + * @since DOM Level 3 + */ + public boolean isDefaultPrevented(); + + /** + * The <code>initEventNS</code> method is used to initialize the value of + * an <code>Event</code> object and has the same behavior as + * <code>Event.initEvent()</code>. + * @param namespaceURIArg Specifies <code>Event.namespaceuRI</code>, the + * namespace URI associated with this event, or <code>null</code> if + * no namespace. + * @param eventTypeArg Specifies <code>Event.type</code>, the local name + * of the event type. + * @param canBubbleArg Refer to the <code>Event.initEvent()</code> + * method for a description of this parameter. + * @param cancelableArg Refer to the <code>Event.initEvent()</code> + * method for a description of this parameter. + * @since DOM Level 3 + */ + public void initEventNS(String namespaceURIArg, + String eventTypeArg, + boolean canBubbleArg, + boolean cancelableArg); + +} diff --git a/src/bind/java/org/w3c/dom/events/EventException.java b/src/bind/java/org/w3c/dom/events/EventException.java new file mode 100644 index 000000000..51763b46b --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/EventException.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +/** + * Event operations may throw an <code>EventException</code> as specified in + * their method descriptions. + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 2 + */ +public class EventException extends RuntimeException { + public EventException(short code, String message) { + super(message); + this.code = code; + } + public short code; + // EventExceptionCode + /** + * If the <code>Event.type</code> was not specified by initializing the + * event before the method was called. Specification of the + * <code>Event.type</code> as <code>null</code> or an empty string will + * also trigger this exception. + */ + public static final short UNSPECIFIED_EVENT_TYPE_ERR = 0; + /** + * If the <code>Event</code> object is already dispatched in the tree. + * @since DOM Level 3 + */ + public static final short DISPATCH_REQUEST_ERR = 1; + +} diff --git a/src/bind/java/org/w3c/dom/events/EventListener.java b/src/bind/java/org/w3c/dom/events/EventListener.java new file mode 100644 index 000000000..a5102b130 --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/EventListener.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +/** + * The <code>EventListener</code> interface is the primary way for handling + * events. Users implement the <code>EventListener</code> interface and + * register their event listener on an <code>EventTarget</code>. The users + * should also remove their <code>EventListener</code> from its + * <code>EventTarget</code> after they have completed using the listener. + * <p> Copying a <code>Node</code>, with methods such as + * <code>Node.cloneNode</code> or <code>Range.cloneContents</code>, does not + * copy the event listeners attached to it. Event listeners must be attached + * to the newly created <code>Node</code> afterwards if so desired. + * <p> Moving a <code>Node</code>, with methods <code>Document.adoptNode</code> + * , <code>Node.appendChild</code>, or <code>Range.extractContents</code>, + * does not affect the event listeners attached to it. + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 2 + */ +public interface EventListener { + /** + * This method is called whenever an event occurs of the event type for + * which the <code>EventListener</code> interface was registered. + * @param evt The <code>Event</code> contains contextual information + * about the event. + */ + public void handleEvent(Event evt); + +} diff --git a/src/bind/java/org/w3c/dom/events/EventTarget.java b/src/bind/java/org/w3c/dom/events/EventTarget.java new file mode 100644 index 000000000..1be6edace --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/EventTarget.java @@ -0,0 +1,202 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +/** + * The <code>EventTarget</code> interface is implemented by all the objects + * which could be event targets in an implementation which supports the . + * The interface allows registration, removal or query of event listeners, + * and dispatch of events to an event target. + * <p> When used with , this interface is implemented by all target nodes and + * target ancestors, i.e. all DOM <code>Nodes</code> of the tree support + * this interface when the implementation conforms to DOM Level 3 Events + * and, therefore, this interface can be obtained by using binding-specific + * casting methods on an instance of the <code>Node</code> interface. + * <p> Invoking <code>addEventListener</code> or + * <code>addEventListenerNS</code> multiple times on the same + * <code>EventTarget</code> with the same parameters ( + * <code>namespaceURI</code>, <code>type</code>, <code>listener</code>, and + * <code>useCapture</code>) is considered to be a no-op and thus + * independently of the event group. They do not cause the + * <code>EventListener</code> to be called more than once and do not cause a + * change in the triggering order. In order to guarantee that an event + * listener will be added to the event target for the specified event group, + * one needs to invoke <code>removeEventListener</code> or + * <code>removeEventListenerNS</code> first. + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 2 + */ +public interface EventTarget { + /** + * This method allows the registration of an event listener in the + * default group and, depending on the <code>useCapture</code> + * parameter, on the capture phase of the DOM event flow or its target + * and bubbling phases. + * @param type Specifies the <code>Event.type</code> associated with the + * event for which the user is registering. + * @param listener The <code>listener</code> parameter takes an object + * implemented by the user which implements the + * <code>EventListener</code> interface and contains the method to be + * called when the event occurs. + * @param useCapture If true, <code>useCapture</code> indicates that the + * user wishes to add the event listener for the capture phase only, + * i.e. this event listener will not be triggered during the target + * and bubbling phases. If <code>false</code>, the event listener will + * only be triggered during the target and bubbling phases. + */ + public void addEventListener(String type, + EventListener listener, + boolean useCapture); + + /** + * This method allows the removal of event listeners from the default + * group. + * <br> Calling <code>removeEventListener</code> with arguments which do + * not identify any currently registered <code>EventListener</code> on + * the <code>EventTarget</code> has no effect. + * @param type Specifies the <code>Event.type</code> for which the user + * registered the event listener. + * @param listener The <code>EventListener</code> to be removed. + * @param useCapture Specifies whether the <code>EventListener</code> + * being removed was registered for the capture phase or not. If a + * listener was registered twice, once for the capture phase and once + * for the target and bubbling phases, each must be removed + * separately. Removal of an event listener registered for the capture + * phase does not affect the same event listener registered for the + * target and bubbling phases, and vice versa. + */ + public void removeEventListener(String type, + EventListener listener, + boolean useCapture); + + /** + * This method allows the dispatch of events into the implementation's + * event model. The event target of the event is the + * <code>EventTarget</code> object on which <code>dispatchEvent</code> + * is called. + * @param evt The event to be dispatched. + * @return Indicates whether any of the listeners which handled the + * event called <code>Event.preventDefault()</code>. If + * <code>Event.preventDefault()</code> was called the returned value + * is <code>false</code>, else it is <code>true</code>. + * @exception EventException + * UNSPECIFIED_EVENT_TYPE_ERR: Raised if the <code>Event.type</code> + * was not specified by initializing the event before + * <code>dispatchEvent</code> was called. Specification of the + * <code>Event.type</code> as <code>null</code> or an empty string + * will also trigger this exception. + * <br> DISPATCH_REQUEST_ERR: Raised if the <code>Event</code> object is + * already being dispatched in the tree. + * <br> NOT_SUPPORTED_ERR: Raised if the <code>Event</code> object has + * not been created using <code>DocumentEvent.createEvent()</code> or + * does not support the interface <code>CustomEvent</code>. + * @version DOM Level 3 + */ + public boolean dispatchEvent(Event evt) + throws EventException; + + /** + * This method allows the registration of an event listener in a + * specified group or the default group and, depending on the + * <code>useCapture</code> parameter, on the capture phase of the DOM + * event flow or its target and bubbling phases. + * @param namespaceURI Specifies the <code>Event.namespaceURI</code> + * associated with the event for which the user is registering. + * @param type Specifies the <code>Event.type</code> associated with the + * event for which the user is registering. + * @param listener The <code>listener</code> parameter takes an object + * implemented by the user which implements the + * <code>EventListener</code> interface and contains the method to be + * called when the event occurs. + * @param useCapture If true, <code>useCapture</code> indicates that the + * user wishes to add the event listener for the capture phase only, + * i.e. this event listener will not be triggered during the target + * and bubbling phases. If <code>false</code>, the event listener will + * only be triggered during the target and bubbling phases. + * @param evtGroup The object that represents the event group to + * associate with the <code>EventListener</code> (see also ). Use + * <code>null</code> to attach the event listener to the default + * group. + * @since DOM Level 3 + */ + public void addEventListenerNS(String namespaceURI, + String type, + EventListener listener, + boolean useCapture, + Object evtGroup); + + /** + * This method allows the removal of an event listener, independently of + * the associated event group. + * <br> Calling <code>removeEventListenerNS</code> with arguments which do + * not identify any currently registered <code>EventListener</code> on + * the <code>EventTarget</code> has no effect. + * @param namespaceURI Specifies the <code>Event.namespaceURI</code> + * associated with the event for which the user registered the event + * listener. + * @param type Specifies the <code>Event.type</code> associated with the + * event for which the user registered the event listener. + * @param listener The <code>EventListener</code> parameter indicates + * the <code>EventListener</code> to be removed. + * @param useCapture Specifies whether the <code>EventListener</code> + * being removed was registered for the capture phase or not. If a + * listener was registered twice, once for the capture phase and once + * for the target and bubbling phases, each must be removed + * separately. Removal of an event listener registered for the capture + * phase does not affect the same event listener registered for the + * target and bubbling phases, and vice versa. + * @since DOM Level 3 + */ + public void removeEventListenerNS(String namespaceURI, + String type, + EventListener listener, + boolean useCapture); + + /** + * This method allows the DOM application to know if an event listener, + * attached to this <code>EventTarget</code> or one of its ancestors, + * will be triggered by the specified event type during the dispatch of + * the event to this event target or one of its descendants. + * @param namespaceURI Specifies the <code>Event.namespaceURI</code> + * associated with the event. + * @param type Specifies the <code>Event.type</code> associated with the + * event. + * @return <code>true</code> if an event listener will be triggered on + * the <code>EventTarget</code> with the specified event type, + * <code>false</code> otherwise. + * @since DOM Level 3 + */ + public boolean willTriggerNS(String namespaceURI, + String type); + + /** + * This method allows the DOM application to know if this + * <code>EventTarget</code> contains an event listener registered for + * the specified event type. This is useful for determining at which + * nodes within a hierarchy altered handling of specific event types has + * been introduced, but should not be used to determine whether the + * specified event type triggers an event listener (see + * <code>EventTarget.willTriggerNS()</code>). + * @param namespaceURI Specifies the <code>Event.namespaceURI</code> + * associated with the event. + * @param type Specifies the <code>Event.type</code> associated with the + * event. + * @return <code>true</code> if an event listener is registered on this + * <code>EventTarget</code> for the specified event type, + * <code>false</code> otherwise. + * @since DOM Level 3 + */ + public boolean hasEventListenerNS(String namespaceURI, + String type); + +} diff --git a/src/bind/java/org/w3c/dom/events/KeyboardEvent.java b/src/bind/java/org/w3c/dom/events/KeyboardEvent.java new file mode 100644 index 000000000..e166f5f77 --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/KeyboardEvent.java @@ -0,0 +1,178 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +import org.w3c.dom.views.AbstractView; + +/** + * The <code>KeyboardEvent</code> interface provides specific contextual + * information associated with keyboard devices. Each keyboard event + * references a key using an identifier. Keyboard events are commonly + * directed at the element that has the focus. + * <p> The <code>KeyboardEvent</code> interface provides convenient attributes + * for some common modifiers keys: <code>KeyboardEvent.ctrlKey</code>, + * <code>KeyboardEvent.shiftKey</code>, <code>KeyboardEvent.altKey</code>, + * <code>KeyboardEvent.metaKey</code>. These attributes are equivalent to + * use the method + * <code>KeyboardEvent.getModifierState(keyIdentifierArg)</code> with + * "Control", "Shift", "Alt", or "Meta" respectively. + * <p> To create an instance of the <code>KeyboardEvent</code> interface, use + * the <code>DocumentEvent.createEvent("KeyboardEvent")</code> method call. + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 3 + */ +public interface KeyboardEvent extends UIEvent { + // KeyLocationCode + /** + * The key activation is not distinguished as the left or right version + * of the key, and did not originate from the numeric keypad (or did not + * originate with a virtual key corresponding to the numeric keypad). + * Example: the 'Q' key on a PC 101 Key US keyboard. + */ + public static final int DOM_KEY_LOCATION_STANDARD = 0x00; + /** + * The key activated is in the left key location (there is more than one + * possible location for this key). Example: the left Shift key on a PC + * 101 Key US keyboard. + */ + public static final int DOM_KEY_LOCATION_LEFT = 0x01; + /** + * The key activation is in the right key location (there is more than + * one possible location for this key). Example: the right Shift key on + * a PC 101 Key US keyboard. + */ + public static final int DOM_KEY_LOCATION_RIGHT = 0x02; + /** + * The key activation originated on the numeric keypad or with a virtual + * key corresponding to the numeric keypad. Example: the '1' key on a PC + * 101 Key US keyboard located on the numeric pad. + */ + public static final int DOM_KEY_LOCATION_NUMPAD = 0x03; + + /** + * <code>keyIdentifier</code> holds the identifier of the key. The key + * identifiers are defined in Appendix A.2 "". Implementations that are + * unable to identify a key must use the key identifier + * <code>"Unidentified"</code>. + */ + public String getKeyIdentifier(); + + /** + * The <code>keyLocation</code> attribute contains an indication of the + * location of they key on the device, as described in . + */ + public int getKeyLocation(); + + /** + * <code>true</code> if the control (Ctrl) key modifier is activated. + */ + public boolean getCtrlKey(); + + /** + * <code>true</code> if the shift (Shift) key modifier is activated. + */ + public boolean getShiftKey(); + + /** + * <code>true</code> if the alternative (Alt) key modifier is activated. + * <p ><b>Note:</b> The Option key modifier on Macintosh systems must be + * represented using this key modifier. + */ + public boolean getAltKey(); + + /** + * <code>true</code> if the meta (Meta) key modifier is activated. + * <p ><b>Note:</b> The Command key modifier on Macintosh systems must be + * represented using this key modifier. + */ + public boolean getMetaKey(); + + /** + * This methods queries the state of a modifier using a key identifier. + * See also . + * @param keyIdentifierArg A modifier key identifier. Common modifier + * keys are <code>"Alt"</code>, <code>"AltGraph"</code>, + * <code>"CapsLock"</code>, <code>"Control"</code>, <code>"Meta"</code> + * , <code>"NumLock"</code>, <code>"Scroll"</code>, or + * <code>"Shift"</code>. + * <p ><b>Note:</b> If an application wishes to distinguish between + * right and left modifiers, this information could be deduced using + * keyboard events and <code>KeyboardEvent.keyLocation</code>. + * @return <code>true</code> if it is modifier key and the modifier is + * activated, <code>false</code> otherwise. + */ + public boolean getModifierState(String keyIdentifierArg); + + /** + * The <code>initKeyboardEvent</code> method is used to initialize the + * value of a <code>KeyboardEvent</code> object and has the same + * behavior as <code>UIEvent.initUIEvent()</code>. The value of + * <code>UIEvent.detail</code> remains undefined. + * @param typeArg Refer to the <code>UIEvent.initUIEvent()</code> method + * for a description of this parameter. + * @param canBubbleArg Refer to the <code>UIEvent.initUIEvent()</code> + * method for a description of this parameter. + * @param cancelableArg Refer to the <code>UIEvent.initUIEvent()</code> + * method for a description of this parameter. + * @param viewArg Refer to the <code>UIEvent.initUIEvent()</code> method + * for a description of this parameter. + * @param keyIdentifierArg Specifies + * <code>KeyboardEvent.keyIdentifier</code>. + * @param keyLocationArg Specifies <code>KeyboardEvent.keyLocation</code> + * . + * @param modifiersList A <a href='http://www.w3.org/TR/2000/REC-xml-20001006#NT-S'>white space</a> separated list of modifier key identifiers to be activated on this + * object. + */ + public void initKeyboardEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + String keyIdentifierArg, + int keyLocationArg, + String modifiersList); + + /** + * The <code>initKeyboardEventNS</code> method is used to initialize the + * value of a <code>KeyboardEvent</code> object and has the same + * behavior as <code>UIEvent.initUIEventNS()</code>. The value of + * <code>UIEvent.detail</code> remains undefined. + * @param namespaceURI Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param typeArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param canBubbleArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param cancelableArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param viewArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param keyIdentifierArg Refer to the + * <code>KeyboardEvent.initKeyboardEvent()</code> method for a + * description of this parameter. + * @param keyLocationArg Refer to the + * <code>KeyboardEvent.initKeyboardEvent()</code> method for a + * description of this parameter. + * @param modifiersList A <a href='http://www.w3.org/TR/2000/REC-xml-20001006#NT-S'>white space</a> separated list of modifier key identifiers to be activated on this + * object. As an example, <code>"Control Alt"</code> will activated + * the control and alt modifiers. + */ + public void initKeyboardEventNS(String namespaceURI, + String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + String keyIdentifierArg, + int keyLocationArg, + String modifiersList); + +} diff --git a/src/bind/java/org/w3c/dom/events/MouseEvent.java b/src/bind/java/org/w3c/dom/events/MouseEvent.java new file mode 100644 index 000000000..9877e8dbc --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/MouseEvent.java @@ -0,0 +1,219 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +import org.w3c.dom.views.AbstractView; + +/** + * The <code>MouseEvent</code> interface provides specific contextual + * information associated with Mouse events. + * <p> In the case of nested elements mouse events are always targeted at the + * most deeply nested element. Ancestors of the targeted element may use + * bubbling to obtain notification of mouse events which occur within theirs + * descendent elements. + * <p> To create an instance of the <code>MouseEvent</code> interface, use the + * <code>DocumentEvent.createEvent("MouseEvent")</code> method call. + * <p ><b>Note:</b> When initializing <code>MouseEvent</code> objects using + * <code>initMouseEvent</code> or <code>initMouseEventNS</code>, + * implementations should use the client coordinates <code>clientX</code> + * and <code>clientY</code> for calculation of other coordinates (such as + * target coordinates exposed by DOM Level 0 implementations). + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 2 + */ +public interface MouseEvent extends UIEvent { + /** + * The horizontal coordinate at which the event occurred relative to the + * origin of the screen coordinate system. + */ + public int getScreenX(); + + /** + * The vertical coordinate at which the event occurred relative to the + * origin of the screen coordinate system. + */ + public int getScreenY(); + + /** + * The horizontal coordinate at which the event occurred relative to the + * DOM implementation's client area. + */ + public int getClientX(); + + /** + * The vertical coordinate at which the event occurred relative to the DOM + * implementation's client area. + */ + public int getClientY(); + + /** + * <code>true</code> if the control (Ctrl) key modifier is activated. + */ + public boolean getCtrlKey(); + + /** + * <code>true</code> if the shift (Shift) key modifier is activated. + */ + public boolean getShiftKey(); + + /** + * <code>true</code> if the alt (alternative) key modifier is activated. + * <p ><b>Note:</b> The Option key modifier on Macintosh systems must be + * represented using this key modifier. + */ + public boolean getAltKey(); + + /** + * <code>true</code> if the meta (Meta) key modifier is activated. + * <p ><b>Note:</b> The Command key modifier on Macintosh system must be + * represented using this meta key. + */ + public boolean getMetaKey(); + + /** + * During mouse events caused by the depression or release of a mouse + * button, <code>button</code> is used to indicate which mouse button + * changed state. <code>0</code> indicates the normal button of the + * mouse (in general on the left or the one button on Macintosh mice, + * used to activate a button or select text). <code>2</code> indicates + * the contextual property (in general on the right, used to display a + * context menu) button of the mouse if present. <code>1</code> + * indicates the extra (in general in the middle and often combined with + * the mouse wheel) button. Some mice may provide or simulate more + * buttons, and values higher than <code>2</code> can be used to + * represent such buttons. + */ + public short getButton(); + + /** + * Used to identify a secondary <code>EventTarget</code> related to a UI + * event. Currently this attribute is used with the mouseover event to + * indicate the <code>EventTarget</code> which the pointing device + * exited and with the mouseout event to indicate the + * <code>EventTarget</code> which the pointing device entered. + */ + public EventTarget getRelatedTarget(); + + /** + * The <code>initMouseEvent</code> method is used to initialize the value + * of a <code>MouseEvent</code> object and has the same behavior as + * <code>UIEvent.initUIEvent()</code>. + * @param typeArg Refer to the <code>UIEvent.initUIEvent()</code> method + * for a description of this parameter. + * @param canBubbleArg Refer to the <code>UIEvent.initUIEvent()</code> + * method for a description of this parameter. + * @param cancelableArg Refer to the <code>UIEvent.initUIEvent()</code> + * method for a description of this parameter. + * @param viewArg Refer to the <code>UIEvent.initUIEvent()</code> method + * for a description of this parameter. + * @param detailArg Refer to the <code>UIEvent.initUIEvent()</code> + * method for a description of this parameter. + * @param screenXArg Specifies <code>MouseEvent.screenX</code>. + * @param screenYArg Specifies <code>MouseEvent.screenY</code>. + * @param clientXArg Specifies <code>MouseEvent.clientX</code>. + * @param clientYArg Specifies <code>MouseEvent.clientY</code>. + * @param ctrlKeyArg Specifies <code>MouseEvent.ctrlKey</code>. + * @param altKeyArg Specifies <code>MouseEvent.altKey</code>. + * @param shiftKeyArg Specifies <code>MouseEvent.shiftKey</code>. + * @param metaKeyArg Specifies <code>MouseEvent.metaKey</code>. + * @param buttonArg Specifies <code>MouseEvent.button</code>. + * @param relatedTargetArg Specifies + * <code>MouseEvent.relatedTarget</code>. + */ + public void initMouseEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + int detailArg, + int screenXArg, + int screenYArg, + int clientXArg, + int clientYArg, + boolean ctrlKeyArg, + boolean altKeyArg, + boolean shiftKeyArg, + boolean metaKeyArg, + short buttonArg, + EventTarget relatedTargetArg); + + /** + * This methods queries the state of a modifier using a key identifier. + * See also . + * @param keyIdentifierArg A modifier key identifier, as defined by the + * <code>KeyboardEvent.keyIdentifier</code> attribute. Common modifier + * keys are <code>"Alt"</code>, <code>"AltGraph"</code>, + * <code>"CapsLock"</code>, <code>"Control"</code>, <code>"Meta"</code> + * , <code>"NumLock"</code>, <code>"Scroll"</code>, or + * <code>"Shift"</code>. + * <p ><b>Note:</b> If an application wishes to distinguish between + * right and left modifiers, this information could be deduced using + * keyboard events and <code>KeyboardEvent.keyLocation</code>. + * @return <code>true</code> if it is modifier key and the modifier is + * activated, <code>false</code> otherwise. + * @since DOM Level 3 + */ + public boolean getModifierState(String keyIdentifierArg); + + /** + * The <code>initMouseEventNS</code> method is used to initialize the + * value of a <code>MouseEvent</code> object and has the same behavior + * as <code>UIEvent.initUIEventNS()</code>. + * @param namespaceURI Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param typeArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param canBubbleArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param cancelableArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param viewArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param detailArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param screenXArg Refer to the + * <code>MouseEvent.initMouseEvent()</code> method for a description + * of this parameter. + * @param screenYArg Refer to the + * <code>MouseEvent.initMouseEvent()</code> method for a description + * of this parameter. + * @param clientXArg Refer to the + * <code>MouseEvent.initMouseEvent()</code> method for a description + * of this parameter. + * @param clientYArg Refer to the + * <code>MouseEvent.initMouseEvent()</code> method for a description + * of this parameter. + * @param buttonArg Refer to the <code>MouseEvent.initMouseEvent()</code> + * method for a description of this parameter. + * @param relatedTargetArg Refer to the + * <code>MouseEvent.initMouseEvent()</code> method for a description + * of this parameter. + * @param modifiersList A <a href='http://www.w3.org/TR/2000/REC-xml-20001006#NT-S'>white space</a> separated list of modifier key identifiers to be activated on this + * object. As an example, <code>"Control Alt"</code> will activated + * the control and alt modifiers. + * @since DOM Level 3 + */ + public void initMouseEventNS(String namespaceURI, + String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + int detailArg, + int screenXArg, + int screenYArg, + int clientXArg, + int clientYArg, + short buttonArg, + EventTarget relatedTargetArg, + String modifiersList); + +} diff --git a/src/bind/java/org/w3c/dom/events/MutationEvent.java b/src/bind/java/org/w3c/dom/events/MutationEvent.java new file mode 100644 index 000000000..12d8b2f6b --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/MutationEvent.java @@ -0,0 +1,160 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +import org.w3c.dom.Node; + +/** + * The <code>MutationEvent</code> interface provides specific contextual + * information associated with Mutation events. + * <p> To create an instance of the <code>MutationEvent</code> interface, use + * the <code>DocumentEvent.createEvent("MutationEvent")</code> method call. + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 2 + */ +public interface MutationEvent extends Event { + // attrChangeType + /** + * The <code>Attr</code> was modified in place. + */ + public static final short MODIFICATION = 1; + /** + * The <code>Attr</code> was just added. + */ + public static final short ADDITION = 2; + /** + * The <code>Attr</code> was just removed. + */ + public static final short REMOVAL = 3; + + /** + * <code>relatedNode</code> is used to identify a secondary node related + * to a mutation event. For example, if a mutation event is dispatched + * to a node indicating that its parent has changed, the + * <code>relatedNode</code> is the changed parent. If an event is + * instead dispatched to a subtree indicating a node was changed within + * it, the <code>relatedNode</code> is the changed node. In the case of + * the + * <code>{"http://www.w3.org/2001/xml-events", "DOMAttrModified"}</code> + * event it indicates the <code>Attr</code> node which was modified, + * added, or removed. + */ + public Node getRelatedNode(); + + /** + * <code>prevValue</code> indicates the previous value of the + * <code>Attr</code> node in + * <code>{"http://www.w3.org/2001/xml-events", "DOMAttrModified"}</code> + * events, and of the <code>CharacterData</code> node in + * <code>{"http://www.w3.org/2001/xml-events", "DOMCharacterDataModified"}</code> + * events. + */ + public String getPrevValue(); + + /** + * <code>newValue</code> indicates the new value of the <code>Attr</code> + * node in + * <code>{"http://www.w3.org/2001/xml-events", "DOMAttrModified"}</code> + * events, and of the <code>CharacterData</code> node in + * <code>{"http://www.w3.org/2001/xml-events", "DOMCharacterDataModified"}</code> + * events. + */ + public String getNewValue(); + + /** + * <code>attrName</code> indicates the name of the changed + * <code>Attr</code> node in a + * <code>{"http://www.w3.org/2001/xml-events", "DOMAttrModified"}</code> + * event. + */ + public String getAttrName(); + + /** + * <code>attrChange</code> indicates the type of change which triggered + * the + * <code>{"http://www.w3.org/2001/xml-events", "DOMAttrModified"}</code> + * event. The values can be <code>MODIFICATION</code>, + * <code>ADDITION</code>, or <code>REMOVAL</code>. + */ + public short getAttrChange(); + + /** + * The <code>initMutationEvent</code> method is used to initialize the + * value of a <code>MutationEvent</code> object and has the same + * behavior as <code>Event.initEvent()</code>. + * @param typeArg Refer to the <code>Event.initEvent()</code> method for + * a description of this parameter. + * @param canBubbleArg Refer to the <code>Event.initEvent()</code> + * method for a description of this parameter. + * @param cancelableArg Refer to the <code>Event.initEvent()</code> + * method for a description of this parameter. + * @param relatedNodeArg Specifies <code>MutationEvent.relatedNode</code> + * . + * @param prevValueArg Specifies <code>MutationEvent.prevValue</code>. + * This value may be null. + * @param newValueArg Specifies <code>MutationEvent.newValue</code>. + * This value may be null. + * @param attrNameArg Specifies <code>MutationEvent.attrname</code>. + * This value may be null. + * @param attrChangeArg Specifies <code>MutationEvent.attrChange</code>. + * This value may be null. + */ + public void initMutationEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + Node relatedNodeArg, + String prevValueArg, + String newValueArg, + String attrNameArg, + short attrChangeArg); + + /** + * The <code>initMutationEventNS</code> method is used to initialize the + * value of a <code>MutationEvent</code> object and has the same + * behavior as <code>Event.initEventNS()</code>. + * @param namespaceURI Refer to the <code>Event.initEventNS()</code> + * method for a description of this parameter. + * @param typeArg Refer to the <code>Event.initEventNS()</code> method + * for a description of this parameter. + * @param canBubbleArg Refer to the <code>Event.initEventNS()</code> + * method for a description of this parameter. + * @param cancelableArg Refer to the <code>Event.initEventNS()</code> + * method for a description of this parameter. + * @param relatedNodeArg Refer to the + * <code>MutationEvent.initMutationEvent()</code> method for a + * description of this parameter. + * @param prevValueArg Refer to the + * <code>MutationEvent.initMutationEvent()</code> method for a + * description of this parameter. + * @param newValueArg Refer to the + * <code>MutationEvent.initMutationEvent()</code> method for a + * description of this parameter. + * @param attrNameArg Refer to the + * <code>MutationEvent.initMutationEvent()</code> method for a + * description of this parameter. + * @param attrChangeArg Refer to the + * <code>MutationEvent.initMutationEvent()</code> method for a + * description of this parameter. + * @since DOM Level 3 + */ + public void initMutationEventNS(String namespaceURI, + String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + Node relatedNodeArg, + String prevValueArg, + String newValueArg, + String attrNameArg, + short attrChangeArg); + +} diff --git a/src/bind/java/org/w3c/dom/events/MutationNameEvent.java b/src/bind/java/org/w3c/dom/events/MutationNameEvent.java new file mode 100644 index 000000000..f5c217198 --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/MutationNameEvent.java @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +import org.w3c.dom.Node; + +/** + * The <code>MutationNameEvent</code> interface provides specific contextual + * information associated with Mutation name event types. + * <p> To create an instance of the <code>MutationNameEvent</code> interface, + * use the <code>Document.createEvent("MutationNameEvent")</code> method + * call. + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 3 + */ +public interface MutationNameEvent extends MutationEvent { + /** + * The previous value of the <code>relatedNode</code>'s + * <code>namespaceURI</code>. + */ + public String getPrevNamespaceURI(); + + /** + * The previous value of the <code>relatedNode</code>'s + * <code>nodeName</code>. + */ + public String getPrevNodeName(); + + /** + * The <code>initMutationNameEvent</code> method is used to initialize + * the value of a <code>MutationNameEvent</code> object and has the same + * behavior as <code>MutationEvent.initMutationEvent()</code>. + * @param typeArg Refer to the + * <code>MutationEvent.initMutationEvent()</code> method for a + * description of this parameter. + * @param canBubbleArg Refer to the + * <code>MutationEvent.initMutationEvent()</code> method for a + * description of this parameter. + * @param cancelableArg Refer to the + * <code>MutationEvent.initMutationEvent()</code> method for a + * description of this parameter. + * @param relatedNodeArg Refer to the + * <code>MutationEvent.initMutationEvent()</code> method for a + * description of this parameter. + * @param prevNamespaceURIArg Specifies + * <code>MutationNameEvent.prevNamespaceURI</code>. This value may be + * <code>null</code>. + * @param prevNodeNameArg Specifies + * <code>MutationNameEvent.prevNodeName</code>. + * @since DOM Level 3 + */ + public void initMutationNameEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + Node relatedNodeArg, + String prevNamespaceURIArg, + String prevNodeNameArg); + + /** + * The <code>initMutationNameEventNS</code> method is used to initialize + * the value of a <code>MutationNameEvent</code> object and has the same + * behavior as <code>MutationEvent.initMutationEventNS()</code>. + * @param namespaceURI Refer to the + * <code>MutationEvent.initMutationEventNS()</code> method for a + * description of this parameter. + * @param typeArg Refer to the + * <code>MutationEvent.initMutationEventNS()</code> method for a + * description of this parameter. + * @param canBubbleArg Refer to the + * <code>MutationEvent.initMutationEventNS()</code> method for a + * description of this parameter. + * @param cancelableArg Refer to the + * <code>MutationEvent.initMutationEventNS()</code> method for a + * description of this parameter. + * @param relatedNodeArg Refer to the + * <code>MutationEvent.initMutationEventNS()</code> method for a + * description of this parameter. + * @param prevNamespaceURIArg Refer to the + * <code>MutationEvent.initMutationEvent()</code> method for a + * description of this parameter. + * @param prevNodeNameArg Refer to the + * <code>MutationEvent.initMutationEvent()</code> method for a + * description of this parameter. + * @since DOM Level 3 + */ + public void initMutationNameEventNS(String namespaceURI, + String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + Node relatedNodeArg, + String prevNamespaceURIArg, + String prevNodeNameArg); + +} diff --git a/src/bind/java/org/w3c/dom/events/TextEvent.java b/src/bind/java/org/w3c/dom/events/TextEvent.java new file mode 100644 index 000000000..4ba5f5abf --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/TextEvent.java @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +import org.w3c.dom.views.AbstractView; + +/** + * The <code>TextEvent</code> interface provides specific contextual + * information associated with Text Events. + * <p> To create an instance of the <code>TextEvent</code> interface, use the + * <code>DocumentEvent.createEvent("TextEvent")</code> method call. + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 3 + */ +public interface TextEvent extends UIEvent { + /** + * <code>data</code> holds the value of the characters generated by the + * character device. This may be a single Unicode character or a + * non-empty sequence of Unicode characters [Unicode]. Characters should be normalized as defined by the Unicode + * normalization form NFC, defined in [<a href='http://www.unicode.org/unicode/reports/tr15/'>UTR #15</a>]. This + * attribute cannot be null or contain the empty string. + */ + public String getData(); + + /** + * The <code>initTextEvent</code> method is used to initialize the value + * of a <code>TextEvent</code> object and has the same behavior as + * <code>UIEvent.initUIEvent()</code>. The value of + * <code>UIEvent.detail</code> remains undefined. + * @param typeArg Refer to the <code>UIEvent.initUIEvent()</code> method + * for a description of this parameter. + * @param canBubbleArg Refer to the <code>UIEvent.initUIEvent()</code> + * method for a description of this parameter. + * @param cancelableArg Refer to the <code>UIEvent.initUIEvent()</code> + * method for a description of this parameter. + * @param viewArg Refer to the <code>UIEvent.initUIEvent()</code> method + * for a description of this parameter. + * @param dataArg Specifies <code>TextEvent.data</code>. + */ + public void initTextEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + String dataArg); + + /** + * The <code>initTextEventNS</code> method is used to initialize the + * value of a <code>TextEvent</code> object and has the same behavior as + * <code>UIEvent.initUIEventNS()</code>. The value of + * <code>UIEvent.detail</code> remains undefined. + * @param namespaceURI Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param type Refer to the <code>UIEvent.initUIEventNS()</code> method + * for a description of this parameter. + * @param canBubbleArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param cancelableArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param viewArg Refer to the <code>UIEvent.initUIEventNS()</code> + * method for a description of this parameter. + * @param dataArg Refer to the <code>TextEvent.initTextEvent()</code> + * method for a description of this parameter. + */ + public void initTextEventNS(String namespaceURI, + String type, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + String dataArg); + +} diff --git a/src/bind/java/org/w3c/dom/events/UIEvent.java b/src/bind/java/org/w3c/dom/events/UIEvent.java new file mode 100644 index 000000000..e4a819c73 --- /dev/null +++ b/src/bind/java/org/w3c/dom/events/UIEvent.java @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.events; + +import org.w3c.dom.views.AbstractView; + +/** + * The <code>UIEvent</code> interface provides specific contextual + * information associated with User Interface events. + * <p> To create an instance of the <code>UIEvent</code> interface, use the + * <code>DocumentEvent.createEvent("UIEvent")</code> method call. + * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>. + * @since DOM Level 2 + */ +public interface UIEvent extends Event { + /** + * The <code>view</code> attribute identifies the <code>AbstractView</code> + * from which the event was generated. + */ + public AbstractView getView(); + + /** + * Specifies some detail information about the <code>Event</code>, + * depending on the type of event. + */ + public int getDetail(); + + /** + * The <code>initUIEvent</code> method is used to initialize the value of + * a <code>UIEvent</code> object and has the same behavior as + * <code>Event.initEvent()</code>. + * @param typeArg Refer to the <code>Event.initEvent()</code> method for + * a description of this parameter. + * @param canBubbleArg Refer to the <code>Event.initEvent()</code> + * method for a description of this parameter. + * @param cancelableArg Refer to the <code>Event.initEvent()</code> + * method for a description of this parameter. + * @param viewArg Specifies <code>UIEvent.view</code>. + * @param detailArg Specifies <code>UIEvent.detail</code>. + */ + public void initUIEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + int detailArg); + + /** + * The <code>initUIEventNS</code> method is used to initialize the value + * of a <code>UIEvent</code> object and has the same behavior as + * <code>Event.initEventNS()</code>. + * @param namespaceURI Refer to the <code>Event.initEventNS()</code> + * method for a description of this parameter. + * @param typeArg Refer to the <code>Event.initEventNS()</code> method + * for a description of this parameter. + * @param canBubbleArg Refer to the <code>Event.initEventNS()</code> + * method for a description of this parameter. + * @param cancelableArg Refer to the <code>Event.initEventNS()</code> + * method for a description of this parameter. + * @param viewArg Refer to the <code>UIEvent.initUIEvent()</code> method + * for a description of this parameter. + * @param detailArg Refer to the <code>UIEvent.initUIEvent()</code> + * method for a description of this parameter. + * @since DOM Level 3 + */ + public void initUIEventNS(String namespaceURI, + String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + int detailArg); + +} |
