diff options
Diffstat (limited to 'khtml/dom/dom_node.h')
-rw-r--r-- | khtml/dom/dom_node.h | 991 |
1 files changed, 0 insertions, 991 deletions
diff --git a/khtml/dom/dom_node.h b/khtml/dom/dom_node.h deleted file mode 100644 index 594aa5e3e..000000000 --- a/khtml/dom/dom_node.h +++ /dev/null @@ -1,991 +0,0 @@ -/* - * This file is part of the DOM implementation for KDE. - * - * (C) 1999 Lars Knoll (knoll@kde.org) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed 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. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - * This file includes excerpts from the Document Object Model (DOM) - * Level 1 Specification (Recommendation) - * http://www.w3.org/TR/REC-DOM-Level-1/ - * Copyright World Wide Web Consortium , (Massachusetts Institute of - * Technology , Institut National de Recherche en Informatique et en - * Automatique , Keio University ). All Rights Reserved. - * - * This file includes excerpts from the Document Object Model (DOM) - * Level 3 Core Specification (Recommendation) - * http://www.w3.org/TR/DOM-Level-3-Core/ - * Copyright ©2004 W3C® (MIT, ERCIM, Keio), All Rights Reserved. - */ -#ifndef _DOM_Node_h_ -#define _DOM_Node_h_ - -#include <tqstring.h> -#include <tdelibs_export.h> - -class TQRect; - -namespace KJS { - class HTMLDocument; - class Window; -} -namespace DOM { - -class Node; -class DOMString; -class NodeImpl; -class NamedNodeMapImpl; -class EventListener; -class Event; - -/** - * Objects implementing the \c NamedNodeMap interface are - * used to represent collections of nodes that can be accessed by - * name. Note that \c NamedNodeMap does not inherit from - * \c NodeList ; \c NamedNodeMap s are not - * maintained in any particular order. Objects contained in an object - * implementing \c NamedNodeMap may also be accessed by an - * ordinal index, but this is simply to allow convenient enumeration - * of the contents of a \c NamedNodeMap , and does not - * imply that the DOM specifies an order to these Nodes. - * - */ -class KHTML_EXPORT NamedNodeMap -{ -public: - NamedNodeMap(); - NamedNodeMap(const NamedNodeMap &other); - - NamedNodeMap & operator = (const NamedNodeMap &other); - - ~NamedNodeMap(); - - /** - * The number of nodes in the map. The range of valid child node - * indices is 0 to \c length-1 inclusive. - * - */ - unsigned long length() const; - - /** - * Retrieves a node specified by name. - * - * @param name Name of a node to retrieve. - * - * @return A \c Node (of any type) with the specified - * name, or \c null if the specified name did not - * identify any node in the map. - * - */ - Node getNamedItem ( const DOMString &name ) const; - - /** - * Adds a node using its \c nodeName attribute. - * - * As the \c nodeName attribute is used to derive the - * name which the node must be stored under, multiple nodes of - * certain types (those that have a "special" string value) cannot - * be stored as the names would clash. This is seen as preferable - * to allowing nodes to be aliased. - * - * @param arg A node to store in a named node map. The node will - * later be accessible using the value of the \c nodeName - * attribute of the node. If a node with that name is - * already present in the map, it is replaced by the new one. - * - * @return If the new \c Node replaces an existing - * node with the same name the previously existing \c Node - * is returned, otherwise \c null is returned. - * - * @exception DOMException - * WRONG_DOCUMENT_ERR: Raised if \c arg was created - * from a different document than the one that created the - * \c NamedNodeMap . - * - * NO_MODIFICATION_ALLOWED_ERR: Raised if this - * \c NamedNodeMap is readonly. - * - * INUSE_ATTRIBUTE_ERR: Raised if \c arg is an - * \c Attr that is already an attribute of another - * \c Element object. The DOM user must explicitly clone - * \c Attr nodes to re-use them in other elements. - * - */ - Node setNamedItem ( const Node &arg ); - - /** - * Removes a node specified by name. If the removed node is an - * \c Attr with a default value it is immediately - * replaced. - * - * @param name The name of a node to remove. - * - * @return The node removed from the map or \c null if - * no node with such a name exists. - * - * @exception DOMException - * NOT_FOUND_ERR: Raised if there is no node named \c name - * in the map. - * - */ - Node removeNamedItem ( const DOMString &name ); - - /** - * Returns the \c index th item in the map. If - * \c index is greater than or equal to the number of nodes - * in the map, this returns \c null . - * - * @param index Index into the map. - * - * @return The node at the \c index th position in the - * \c NamedNodeMap , or \c null if that is - * not a valid index. - * - */ - Node item ( unsigned long index ) const; - - /** - * Introduced in DOM Level 2 - * - * Retrieves a node specified by local name and namespace URI. HTML-only - * DOM implementations do not need to implement this method. - * - * @param namespaceURI The namespace URI of the node to retrieve. - * - * @param localName The local name of the node to retrieve. - * - * @return A Node (of any type) with the specified local name and namespace - * URI, or null if they do not identify any node in this map. - */ - Node getNamedItemNS( const DOMString &namespaceURI, - const DOMString &localName ) const; - - /** - * Introduced in DOM Level 2 - * - * Adds a node using its namespaceURI and localName. If a node with that - * namespace URI and that local name is already present in this map, it is - * replaced by the new one. - * HTML-only DOM implementations do not need to implement this method. - * - * @param arg A node to store in this map. The node will later be - * accessible using the value of its namespaceURI and localName attributes. - * - * @return If the new Node replaces an existing node the replaced Node is - * returned, otherwise null is returned. - * - * @exception DOMException - * WRONG_DOCUMENT_ERR: Raised if arg was created from a different document - * than the one that created this map. - * - * NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. - * - * INUSE_ATTRIBUTE_ERR: Raised if arg is an Attr that is already an - * attribute of another Element object. The DOM user must explicitly clone - * Attr nodes to re-use them in other elements. - */ - Node setNamedItemNS( const Node &arg ); - - /** - * Introduced in DOM Level 2 - * - * Removes a node specified by local name and namespace URI. A removed - * attribute may be known to have a default value when this map contains - * the attributes attached to an element, as returned by the attributes - * attribute of the Node interface. If so, an attribute immediately appears - * containing the default value as well as the corresponding namespace URI, - * local name, and prefix when applicable. - * HTML-only DOM implementations do not need to implement this method. - * - * @param namespaceURI The namespace URI of the node to remove. - * - * @param localName The local name of the node to remove. - * - * @return The node removed from this map if a node with such a local name - * and namespace URI exists. - * - * @exception DOMException - * NOT_FOUND_ERR: Raised if there is no node with the specified - * namespaceURI and localName in this map. - * - * NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. - */ - Node removeNamedItemNS( const DOMString &namespaceURI, - const DOMString &localName ); - - /** - * @internal - * not part of the DOM - */ - NamedNodeMapImpl *handle() const { return impl; } - bool isNull() const { return !impl; } - -protected: - NamedNodeMap( NamedNodeMapImpl *i); - NamedNodeMapImpl *impl; - - friend class Node; - friend class DocumentType; - friend class NodeImpl; -}; - -class NamedNodeMap; -class NodeList; -class Document; -class DOMString; -class StyleSheet; - -class NodeImpl; - -/** - * The \c Node interface is the primary datatype for the - * entire Document Object Model. It represents a single node in the - * document tree. While all objects implementing the \c Node - * interface expose methods for dealing with children, not all - * objects implementing the \c Node interface may have - * children. For example, \c Text nodes may not have - * children, and adding children to such nodes results in a - * \c DOMException being raised. - * - * The attributes \c nodeName , \c nodeValue - * and \c attributes are included as a mechanism to get at - * node information without casting down to the specific derived - * interface. In cases where there is no obvious mapping of these - * attributes for a specific \c nodeType (e.g., - * \c nodeValue for an Element or \c attributes for a - * Comment), this returns \c null . Note that the - * specialized interfaces may contain additional and more convenient - * mechanisms to get and set the relevant information. - * - */ -class KHTML_EXPORT Node -{ - friend class NamedNodeMap; - friend class NodeList; - friend class HTMLCollection; - friend class StyleSheet; - -public: - Node() : impl(0) {} - Node(const Node &other); - - /** - * @internal - */ - Node( NodeImpl *_impl); - - Node & operator = (const Node &other); - - bool operator == (const Node &other) const; - - bool operator != (const Node &other) const; - - virtual ~Node(); - /** - * An integer indicating which type of node this is. - * - * - * <p>The values of \c nodeName, \c nodeValue, - * and \c attributes vary according to the node type as follows: - * <table border="1"> - * <tr> - * <td></td> - * <td>nodeName</td> - * <td>nodeValue</td> - * <td>attributes</td> - * </tr> - * <tr> - * <td>Element</td> - * <td>tagName</td> - * <td>null</td> - * <td>NamedNodeMap</td> - * </tr> - * <tr> - * <td>Attr</td> - * <td>name of attribute</td> - * <td>value of attribute</td> - * <td>null</td> - * </tr> - * <tr> - * <td>Text</td> - * <td>#text</td> - * <td>content of the text node</td> - * <td>null</td> - * </tr> - * <tr> - * <td>CDATASection</td> - * <td>#cdata-section</td> - * <td>content of the CDATA Section</td> - * <td>null</td> - * </tr> - * <tr> - * <td>EntityReference</td> - * <td>name of entity referenced</td> - * <td>null</td> - * <td>null</td> - * </tr> - * <tr> - * <td>Entity</td> - * <td>entity name</td> - * <td>null</td> - * <td>null</td> - * </tr> - * <tr> - * <td>ProcessingInstruction</td> - * <td>target</td> - * <td>entire content excluding the target</td> - * <td>null</td> - * </tr> - * <tr> - * <td>Comment</td> - * <td>#comment</td> - * <td>content of the comment</td> - * <td>null</td> - * </tr> - * <tr> - * <td>Document</td> - * <td>#document</td> - * <td>null</td> - * <td>null</td> - * </tr> - * <tr> - * <td>DocumentType</td> - * <td>document type name</td> - * <td>null</td> - * <td>null</td> - * </tr> - * <tr> - * <td>DocumentFragment</td> - * <td>#document-fragment</td> - * <td>null</td> - * <td>null</td> - * </tr> - * <tr> - * <td>Notation</td> - * <td>notation name</td> - * <td>null</td> - * <td>null</td> - * </tr> - * </table> - * </p> - */ - enum NodeType { - ELEMENT_NODE = 1, - ATTRIBUTE_NODE = 2, - TEXT_NODE = 3, - CDATA_SECTION_NODE = 4, - ENTITY_REFERENCE_NODE = 5, - ENTITY_NODE = 6, - PROCESSING_INSTRUCTION_NODE = 7, - COMMENT_NODE = 8, - DOCUMENT_NODE = 9, - DOCUMENT_TYPE_NODE = 10, - DOCUMENT_FRAGMENT_NODE = 11, - NOTATION_NODE = 12 - }; - - /** - * The name of this node, depending on its type; see the table - * above. - * - */ - DOMString nodeName() const; - - /** - * The value of this node, depending on its type; see the table - * above. - * - * @exception DOMException - * DOMSTRING_SIZE_ERR: Raised when it would return more characters - * than fit in a \c DOMString variable on the - * implementation platform. - * - */ - DOMString nodeValue() const; - - /** - * see nodeValue - * @exception DOMException - * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. - * - */ - void setNodeValue( const DOMString & ); - - /** - * A code representing the type of the underlying object, as - * defined above. - * - */ - unsigned short nodeType() const; - - /** - * The parent of this node. All nodes, except \c Document - * , \c DocumentFragment , and \c Attr - * may have a parent. However, if a node has just been - * created and not yet added to the tree, or if it has been - * removed from the tree, this is \c null . - * - */ - Node parentNode() const; - - /** - * A \c NodeList that contains all children of this - * node. If there are no children, this is a \c NodeList - * containing no nodes. The content of the returned - * \c NodeList is "live" in the sense that, for - * instance, changes to the children of the node object that it - * was created from are immediately reflected in the nodes - * returned by the \c NodeList accessors; it is not a - * static snapshot of the content of the node. This is true for - * every \c NodeList , including the ones returned by - * the \c getElementsByTagName method. - * - */ - NodeList childNodes() const; - - /** - * The first child of this node. If there is no such node, this - * returns \c null . - * - */ - Node firstChild() const; - - /** - * The last child of this node. If there is no such node, this - * returns \c null . - * - */ - Node lastChild() const; - - /** - * The node immediately preceding this node. If there is no such - * node, this returns \c null . - * - */ - Node previousSibling() const; - - /** - * The node immediately following this node. If there is no such - * node, this returns \c null . - * - */ - Node nextSibling() const; - - /** - * A \c NamedNodeMap containing the attributes of this - * node (if it is an \c Element ) or \c null - * otherwise. - * - */ - NamedNodeMap attributes() const; - - /** - * The \c Document object associated with this node. - * This is also the \c Document object used to create - * new nodes. When this node is a \c Document this is - * \c null . - * - */ - Document ownerDocument() const; - - /** - * Inserts the node \c newChild before the existing - * child node \c refChild . If \c refChild - * is \c null , insert \c newChild at the - * end of the list of children. - * - * If \c newChild is a \c DocumentFragment - * object, all of its children are inserted, in the same - * order, before \c refChild . If the \c newChild - * is already in the tree, it is first removed. - * - * @param newChild The node to insert. - * - * @param refChild The reference node, i.e., the node before which - * the new node must be inserted. - * - * @return The node being inserted. - * - * @exception DOMException - * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that - * does not allow children of the type of the \c newChild - * node, or if the node to insert is one of this node's - * ancestors. - * - * WRONG_DOCUMENT_ERR: Raised if \c newChild was - * created from a different document than the one that created - * this node. - * - * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. - * - * NOT_FOUND_ERR: Raised if \c refChild is not a - * child of this node. - * - */ - Node insertBefore ( const Node &newChild, const Node &refChild ); - - /** - * Replaces the child node \c oldChild with - * \c newChild in the list of children, and returns the - * \c oldChild node. If the \c newChild is - * already in the tree, it is first removed. - * - * @param newChild The new node to put in the child list. - * - * @param oldChild The node being replaced in the list. - * - * @return The node replaced. - * - * @exception DOMException - * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that - * does not allow children of the type of the \c newChild - * node, or it the node to put in is one of this node's - * ancestors. - * - * WRONG_DOCUMENT_ERR: Raised if \c newChild was - * created from a different document than the one that created - * this node. - * - * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. - * - * NOT_FOUND_ERR: Raised if \c oldChild is not a - * child of this node. - * - */ - Node replaceChild ( const Node &newChild, const Node &oldChild ); - - /** - * Removes the child node indicated by \c oldChild - * from the list of children, and returns it. - * - * @param oldChild The node being removed. - * - * @return The node removed. - * - * @exception DOMException - * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. - * - * NOT_FOUND_ERR: Raised if \c oldChild is not a - * child of this node. - * - */ - Node removeChild ( const Node &oldChild ); - - /** - * Adds the node \c newChild to the end of the list of - * children of this node. If the \c newChild is - * already in the tree, it is first removed. - * - * @param newChild The node to add. - * - * If it is a \c DocumentFragment object, the entire - * contents of the document fragment are moved into the child list - * of this node - * - * @return The node added. - * - * @exception DOMException - * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that - * does not allow children of the type of the \c newChild - * node, or if the node to append is one of this node's - * ancestors. - * - * WRONG_DOCUMENT_ERR: Raised if \c newChild was - * created from a different document than the one that created - * this node. - * - * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. - * - */ - Node appendChild ( const Node &newChild ); - - /** - * This is a convenience method to allow easy determination of - * whether a node has any children. - * - * @return \c true if the node has any children, - * \c false if the node has no children. - * - */ - bool hasChildNodes ( ); - - /** - * Returns a duplicate of this node, i.e., serves as a generic - * copy constructor for nodes. The duplicate node has no parent ( - * \c parentNode returns \c null .). - * - * Cloning an \c Element copies all attributes and - * their values, including those generated by the XML processor to - * represent defaulted attributes, but this method does not copy - * any text it contains unless it is a deep clone, since the text - * is contained in a child \c Text node. Cloning any - * other type of node simply returns a copy of this node. - * - * @param deep If \c true , recursively clone the - * subtree under the specified node; if \c false , - * clone only the node itself (and its attributes, if it is an - * \c Element ). - * - * @return The duplicate node. - * - */ - Node cloneNode ( bool deep ); - - /** - * Modified in DOM Level 2 - * - * Puts all Text nodes in the full depth of the sub-tree underneath this - * Node, including attribute nodes, into a "normal" form where only - * structure (e.g., elements, comments, processing instructions, CDATA - * sections, and entity references) separates Text nodes, i.e., there are - * neither adjacent Text nodes nor empty Text nodes. This can be used to - * ensure that the DOM view of a document is the same as if it were saved - * and re-loaded, and is useful when operations (such as XPointer - * [XPointer] lookups) that depend on a particular document tree structure - * are to be used. - * - * Note: In cases where the document contains CDATASections, the normalize - * operation alone may not be sufficient, since XPointers do not - * differentiate between Text nodes and CDATASection nodes. - */ - void normalize ( ); - - /** - * Introduced in DOM Level 2 - * - * Tests whether the DOM implementation implements a specific feature and - * that feature is supported by this node. - * - * @param feature The name of the feature to test. This is the same name - * which can be passed to the method hasFeature on DOMImplementation. - * - * @param version This is the version number of the feature to test. In - * Level 2, version 1, this is the string "2.0". If the version is not - * specified, supporting any version of the feature will cause the method - * to return true. - * - * @return Returns true if the specified feature is supported on this node, - * false otherwise. - */ - bool isSupported( const DOMString &feature, - const DOMString &version ) const; - - /** - * Introduced in DOM Level 2 - * - * The namespace URI of this node, or null if it is unspecified. - * This is not a computed value that is the result of a namespace lookup - * based on an examination of the namespace declarations in scope. It is - * merely the namespace URI given at creation time. For nodes of any type - * other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM - * Level 1 method, such as createElement from the Document interface, this - * is always null. - * - * Note: Per the Namespaces in XML Specification [Namespaces] an attribute - * does not inherit its namespace from the element it is attached to. If an - * attribute is not explicitly given a namespace, it simply has no - * namespace. - */ - DOMString namespaceURI( ) const; - - /** - * Introduced in DOM Level 2 - * - * The namespace prefix of this node, or null if it is unspecified. - * Note that setting this attribute, when permitted, changes the nodeName - * attribute, which holds the qualified name, as well as the tagName and - * name attributes of the Element and Attr interfaces, when applicable. - * Note also that changing the prefix of an attribute that is known to have - * a default value, does not make a new attribute with the default value - * and the original prefix appear, since the namespaceURI and localName do - * not change. - * For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and - * nodes created with a DOM Level 1 method, such as createElement from the - * Document interface, this is always null. - */ - DOMString prefix( ) const; - - /** - * see prefix - * - * @exception DOMException - * INVALID_CHARACTER_ERR: Raised if the specified prefix contains an - * illegal character. - * - * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. - * - * NAMESPACE_ERR: Raised if the specified prefix is malformed, if the - * namespaceURI of this node is null, if the specified prefix is "xml" and - * the namespaceURI of this node is different from - * "http://www.w3.org/XML/1998/namespace", if this node is an attribute and - * the specified prefix is "xmlns" and the namespaceURI of this node is - * different from "http://www.w3.org/2000/xmlns/", or if this node is an - * attribute and the qualifiedName of this node is "xmlns" [Namespaces]. - */ - void setPrefix(const DOMString &prefix ); - - /** - * Introduced in DOM Level 2 - * - * Returns the local part of the qualified name of this node. - * For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and - * nodes created with a DOM Level 1 method, such as createElement from the - * Document interface, this is always null. - */ - DOMString localName( ) const; - - /** - * Returns whether this node (if it is an element) has any attributes. - * @return a boolean. True if this node has any attributes, false otherwise. - * Introduced in DOM Level 2 - */ - bool hasAttributes ( ); - - /** - * Introduced in DOM Level 3 - * - * This attribute returns the text content of this node and its descendants. - * On getting, no serialization is performed, the returned string does not contain any markup. - * - * @since 3.5.7 - */ - DOMString textContent( ) const; - - /** - * Introduced in DOM Level 3 - * - * @see textContent - * - * On setting, any possible children this node may have are removed and, if the new - * string is not empty or null, replaced by a single Text node containing the string this attribute is set to. - * No parsing is performed, the input string is taken as pure textual content. - * - * @exception DOMException - * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. - * Note: KHTML will also raise this if setContent is called on things - * that do not have child nodes. - * - * @since 3.5.7 - */ - void setTextContent(const DOMString &content) const; - - /** - * Introduced in DOM Level 2 - * This method is from the EventTarget interface - * - * 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. Parameters - * - * @param type The event type for which the user is registering - * - * @param listener The listener parameter takes an interface implemented by - * the user which contains the methods to be called when the event occurs. - * - * @param 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. - */ - void addEventListener(const DOMString &type, - EventListener *listener, - const bool useCapture); - - /** - * Introduced in DOM Level 2 - * This method is from the EventTarget interface - * - * 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. - * - * @param type Specifies the event type of the EventListener being removed. - * - * @param listener The EventListener parameter indicates the EventListener - * to be removed. - * - * @param 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. - */ - - void removeEventListener(const DOMString &type, - EventListener *listener, - bool useCapture); - - /** - * Introduced in DOM Level 2 - * This method is from the EventTarget interface - * - * 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. - * - * @param evt Specifies the event type, behavior, and contextual - * information to be used in processing the event. - * - * @return The return value of dispatchEvent indicates whether any of the - * listeners which handled the event called preventDefault. If - * preventDefault was called the value is false, else the value is true. - * - * @exception 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. - */ - bool dispatchEvent(const Event &evt); - - - - /** - * @internal - * not part of the DOM. - * @returns the element id, in case this is an element, 0 otherwise - */ - TQ_UINT32 elementId() const; - - /** - * tests if this Node is 0. Useful especially, if casting to a derived - * class: - * - * \code - * Node n = .....; - * // try to convert into an Element: - * Element e = n; - * if( e.isNull() ) - * kdDebug(300) << "node isn't an element node" << endl; - * \endcode - */ - bool isNull() const { return !impl; } - - /** - * @internal handle to the implementation object - */ - NodeImpl *handle() const { return impl; } - - /** - * @internal returns the index of a node - */ - unsigned long index() const; - TQString toHTML() KDE_DEPRECATED; - void applyChanges(); - /** - * @deprecated without substitution since 3.2 - */ - void getCursor(int offset, int &_x, int &_y, int &height) KDE_DEPRECATED; - /** - * not part of the DOM. - * @returns the exact coordinates and size of this element. - */ - TQRect getRect(); - -protected: - NodeImpl *impl; -}; - - -class NodeListImpl; - -/** - * The \c NodeList interface provides the abstraction of - * an ordered collection of nodes, without defining or constraining - * how this collection is implemented. - * - * The items in the \c NodeList are accessible via an - * integral index, starting from 0. - * - */ -class KHTML_EXPORT NodeList -{ - friend class Element; - friend class Node; - friend class Document; - friend class HTMLDocument; - friend class KJS::HTMLDocument; - friend class KJS::Window; - -public: - NodeList(); - NodeList(const NodeList &other); - - NodeList & operator = (const NodeList &other); - - ~NodeList(); - - /** - * The number of nodes in the list. The range of valid child node - * indices is 0 to \c length-1 inclusive. - * - */ - unsigned long length() const; - - /** - * Returns the \c index th item in the collection. If - * \c index is greater than or equal to the number of - * nodes in the list, this returns \c null . - * - * @param index Index into the collection. - * - * @return The node at the \c index th position in the - * \c NodeList , or \c null if that is not - * a valid index. - * - */ - Node item ( unsigned long index ) const; - - /** - * @internal - * not part of the DOM - */ - NodeListImpl *handle() const { return impl; } - bool isNull() const { return !impl; } - -protected: - NodeList(const NodeListImpl *i); - NodeListImpl *impl; -}; - - - -/** - * A DOMTimeStamp represents a number of milliseconds. - * - */ -typedef unsigned long long DOMTimeStamp; - - -} //namespace -#endif |