html_document.h
00001 /* 00002 * This file is part of the DOM implementation for KDE. 00003 * 00004 * (C) 1999 Lars Knoll (knoll@kde.org) 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Library General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Library General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Library General Public License 00017 * along with this library; see the file COPYING.LIB. If not, write to 00018 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00019 * Boston, MA 02111-1307, USA. 00020 * 00021 * This file includes excerpts from the Document Object Model (DOM) 00022 * Level 1 Specification (Recommendation) 00023 * http://www.w3.org/TR/REC-DOM-Level-1/ 00024 * Copyright © World Wide Web Consortium , (Massachusetts Institute of 00025 * Technology , Institut National de Recherche en Informatique et en 00026 * Automatique , Keio University ). All Rights Reserved. 00027 * 00028 * $Id: html_document.h,v 1.18.4.1 2003/05/18 12:34:37 mueller Exp $ 00029 */ 00030 00031 #ifndef HTML_DOCUMENT_H 00032 #define HTML_DOCUMENT_H 00033 00034 #include <dom/dom_doc.h> 00035 #include <dom/dom_string.h> 00036 00037 class KHTMLView; 00038 class KHTMLPart; 00039 00040 namespace DOM { 00041 00042 class HTMLDocumentImpl; 00043 class DOMImplementation; 00044 class HTMLCollection; 00045 class NodeList; 00046 class Element; 00047 class HTMLElement; 00048 00073 class HTMLDocument : public Document 00074 { 00075 friend class ::KHTMLView; 00076 friend class ::KHTMLPart; 00077 friend class DOMImplementation; 00078 public: 00079 HTMLDocument(); 00085 HTMLDocument(KHTMLView *parent); 00086 HTMLDocument(const HTMLDocument &other); 00087 HTMLDocument(const Node &other) : Document(false) 00088 {(*this)=other;} 00089 protected: 00090 HTMLDocument(HTMLDocumentImpl *impl); 00091 public: 00092 00093 HTMLDocument & operator = (const HTMLDocument &other); 00094 HTMLDocument & operator = (const Node &other); 00095 00096 ~HTMLDocument(); 00097 00103 DOMString title() const; 00104 00108 void setTitle( const DOMString & ); 00109 00115 DOMString referrer() const; 00116 00123 DOMString domain() const; 00124 00128 DOMString URL() const; 00129 00137 HTMLElement body() const; 00138 00142 void setBody(const HTMLElement &); 00143 00150 HTMLCollection images() const; 00151 00158 HTMLCollection applets() const; 00159 00166 HTMLCollection links() const; 00167 00172 HTMLCollection forms() const; 00173 00183 HTMLCollection anchors() const; 00184 00193 DOMString cookie() const; 00194 00198 void setCookie( const DOMString & ); 00199 00215 void open ( ); 00216 00224 void close ( ); 00225 00237 void write ( const DOMString &text ); 00238 00250 void writeln ( const DOMString &text ); 00251 00263 NodeList getElementsByName ( const DOMString &elementName ); 00264 00272 DOMString completeURL( const DOMString& url) const; 00273 00279 DOMString lastModified() const; 00280 00288 HTMLCollection all() const; 00289 }; 00290 00291 } //namespace 00292 00293 #endif