diff options
Diffstat (limited to 'khtml/dom/html_document.h')
-rw-r--r-- | khtml/dom/html_document.h | 304 |
1 files changed, 304 insertions, 0 deletions
diff --git a/khtml/dom/html_document.h b/khtml/dom/html_document.h new file mode 100644 index 000000000..677251e78 --- /dev/null +++ b/khtml/dom/html_document.h @@ -0,0 +1,304 @@ +/* + * 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. + * + */ + +#ifndef HTML_DOCUMENT_H +#define HTML_DOCUMENT_H + +#include <dom/dom_doc.h> +#include <dom/dom_string.h> + +#include <kdelibs_export.h> + +class KHTMLView; +class KHTMLPart; + +namespace DOM { + +class HTMLDocumentImpl; +class DOMImplementation; +class HTMLCollection; +class NodeList; +class Element; +class HTMLElement; + +/** + * An \c HTMLDocument is the root of the HTML hierarchy + * and holds the entire content. Beside providing access to the + * hierarchy, it also provides some convenience methods for accessing + * certain sets of information from the document. + * + * The following properties have been deprecated in favor of the + * corresponding ones for the BODY element: + * + * \li \c alinkColor + * + * \li \c background + * + * \li \c bgColor + * + * \li \c fgColor + * + * \li \c linkColor + * + * \li \c vlinkColor + * + * + */ +class KHTML_EXPORT HTMLDocument : public Document +{ + friend class ::KHTMLView; + friend class ::KHTMLPart; + friend class DOMImplementation; +public: + HTMLDocument(); + /** + * The parent is the widget the document should render itself in. + * Rendering information (like sizes, etc...) is only created if + * parent != 0 + */ + HTMLDocument(KHTMLView *parent); + HTMLDocument(const HTMLDocument &other); + HTMLDocument(const Node &other) : Document(false) + {(*this)=other;} +protected: + HTMLDocument(HTMLDocumentImpl *impl); +public: + + HTMLDocument & operator = (const HTMLDocument &other); + HTMLDocument & operator = (const Node &other); + + ~HTMLDocument(); + + /** + * The title of a document as specified by the \c TITLE + * element in the head of the document. + * + */ + DOMString title() const; + + /** + * see title + */ + void setTitle( const DOMString & ); + + /** + * Returns the URI of the page that linked to this page. The value + * is an empty string if the user navigated to the page directly + * (not through a link, but, for example, via a bookmark). + */ + DOMString referrer() const; + + /** + * The domain name of the server that served the document, or a + * null string if the server cannot be identified by a domain + * name. + * + */ + DOMString domain() const; + + /** + * The absolute URI of the document. + */ + DOMString URL() const; + + /** + * The element that contains the content for the document. In + * documents with \c BODY contents, returns the + * \c BODY element, and in frameset documents, this returns + * the outermost \c FRAMESET element. + * + */ + HTMLElement body() const; + + /** + * see body + */ + void setBody(const HTMLElement &); + + /** + * A collection of all the \c IMG elements in a + * document. The behavior is limited to \c IMG + * elements for backwards compatibility. + * + */ + HTMLCollection images() const; + + /** + * A collection of all the \c OBJECT elements that + * include applets and \c APPLET ( deprecated ) + * elements in a document. + * + */ + HTMLCollection applets() const; + + /** + * A collection of all \c AREA elements and anchor ( + * \c A ) elements in a document with a value for the + * \c href attribute. + * + */ + HTMLCollection links() const; + + /** + * A collection of all the forms of a document. + * + */ + HTMLCollection forms() const; + + /** + * A collection of all the layers of a document. + * + */ + HTMLCollection layers() const; + + /** + * A collection of all the scripts in the document. + * + */ + HTMLCollection scripts() const; + + /** + * A collection of all the anchor ( \c A ) elements in + * a document with a value for the \c name attribute. + * Note. For reasons of backwards compatibility, the returned set + * of anchors only contains those anchors created with the + * \c name attribute, not those created with the \c id + * attribute. + * + */ + HTMLCollection anchors() const; + + /** + * The cookies associated with this document. If there are none, + * the value is an empty string. Otherwise, the value is a string: + * a semicolon-delimited list of "name, value" pairs for all the + * cookies associated with the page. For example, + * \c name=value;expires=date . + * + */ + DOMString cookie() const; + + /** + * see cookie + */ + void setCookie( const DOMString & ); + + /** + * Note. This method and the ones following allow a user to add to + * or replace the structure model of a document using strings of + * unparsed HTML. At the time of writing alternate methods for + * providing similar functionality for both HTML and XML documents + * were being considered. The following methods may be deprecated + * at some point in the future in favor of a more general-purpose + * mechanism. + * + * Open a document stream for writing. If a document exists in + * the target, this method clears it. + * + * @return + * + */ + void open ( ); + + /** + * Closes a document stream opened by \c open() and + * forces rendering. + * + * @return + * + */ + void close ( ); + + /** + * Write a string of text to a document stream opened by + * \c open() . The text is parsed into the document's + * structure model. + * + * @param text The string to be parsed into some structure in the + * document structure model. + * + * @return + * + */ + void write ( const DOMString &text ); + + /** + * Write a string of text followed by a newline character to a + * document stream opened by \c open() . The text is + * parsed into the document's structure model. + * + * @param text The string to be parsed into some structure in the + * document structure model. + * + * @return + * + */ + void writeln ( const DOMString &text ); + + /** + * Returns the (possibly empty) collection of elements whose + * \c name value is given by \c elementName . + * + * @param elementName The \c name attribute value for + * an element. + * + * @return The matching elements. + * + */ + NodeList getElementsByName ( const DOMString &elementName ); + + /** + * not part of the DOM + * + * converts the given (potentially relative) URL in a + * full-qualified one, using the baseURL / document URL for + * the missing parts. + */ + DOMString completeURL( const DOMString& url) const; + + /** + * Not part of the DOM + * + * The date the document was last modified. + */ + DOMString lastModified() const; + + /** + * Not part of the DOM + * + * A collection of all the \c IMG, \c OBJECT, + * \c AREA, \c A, forms and anchor elements of + * a document. + */ + HTMLCollection all() const; +}; + +} //namespace + +#endif |