You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/khtml/dom/html_document.h

305 lines
7.9 KiB

/*
* 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 <EFBFBD> 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