• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KHTML

dom_doc.h

Go to the documentation of this file.
00001 /*
00002  * This file is part of the DOM implementation for KDE.
00003  *
00004  * Copyright 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., 51 Franklin Street, Fifth Floor,
00019  * Boston, MA 02110-1301, 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 
00029 #ifndef _DOM_Document_h_
00030 #define _DOM_Document_h_
00031 
00032 #include <dom/dom_node.h>
00033 #include <dom/css_stylesheet.h>
00034 
00035 class KHTMLView;
00036 class KHTMLPart;
00037 
00038 namespace DOM {
00039 
00040 class DOMString;
00041 class DocumentType;
00042 class NodeList;
00043 class CDATASection;
00044 class Comment;
00045 class DocumentFragment;
00046 class Text;
00047 class DOMImplementation;
00048 class Element;
00049 class Attr;
00050 class EntityReference;
00051 class ProcessingInstruction;
00052 class DocumentImpl;
00053 class Range;
00054 class NodeIterator;
00055 class TreeWalker;
00056 class NodeFilter;
00057 class DOMImplementationImpl;
00058 class DocumentTypeImpl;
00059 class Event;
00060 class AbstractView;
00061 class CSSStyleDeclaration;
00062 class HTMLElementImpl;
00063 class HTMLFrameElement;
00064 class HTMLElementImpl;
00065 class HTMLIFrameElement;
00066 class HTMLObjectElement;
00067 class HTMLDocument;
00068 
00077 class KHTML_EXPORT DOMImplementation
00078 {
00079    friend class Document;
00080 public:
00081     DOMImplementation();
00082     DOMImplementation(const DOMImplementation &other);
00083 
00084     DOMImplementation & operator = (const DOMImplementation &other);
00085     ~DOMImplementation();
00086 
00103     bool hasFeature ( const DOMString &feature, const DOMString &version );
00104 
00130     DocumentType createDocumentType ( const DOMString &qualifiedName,
00131                                       const DOMString &publicId,
00132                                       const DOMString &systemId );
00133 
00164     Document createDocument ( const DOMString &namespaceURI,
00165                               const DOMString &qualifiedName,
00166                               const DocumentType &doctype );
00167 
00182     DOMImplementation getInterface(const DOMString &feature) const;
00183 
00200     CSSStyleSheet createCSSStyleSheet(const DOMString &title, const DOMString &media);
00201 
00217     HTMLDocument createHTMLDocument(const DOMString& title);
00218 
00223     DOMImplementationImpl *handle() const;
00224     bool isNull() const;
00225 
00226 protected:
00227     DOMImplementation(DOMImplementationImpl *i);
00228     DOMImplementationImpl *impl;
00229 };
00230 
00245 class KHTML_EXPORT Document : public Node
00246 {
00247     friend class ::KHTMLView;
00248     friend class ::KHTMLPart;
00249     friend class AbstractView;
00250     friend class DOMImplementation;
00251     friend class HTMLFrameElement;
00252     friend class HTMLIFrameElement;
00253     friend class HTMLObjectElement;
00254 
00255 public:
00256     Document();
00261     Document(bool);
00262     Document(const Document &other);
00263     Document(const Node &other) : Node()
00264          {(*this)=other;}
00265 
00266     Document & operator = (const Node &other);
00267     Document & operator = (const Document &other);
00268 
00269     ~Document();
00270 
00280     DocumentType doctype() const;
00281 
00288     DOMImplementation implementation() const;
00289 
00296     Element documentElement() const;
00297 
00316     Element createElement ( const DOMString &tagName );
00317 
00336     Element createElementNS( const DOMString &namespaceURI,
00337                              const DOMString &qualifiedName );
00338 
00345     DocumentFragment createDocumentFragment (  );
00346 
00355     Text createTextNode ( const DOMString &data );
00356 
00366     Comment createComment ( const DOMString &data );
00367 
00381     CDATASection createCDATASection ( const DOMString &data );
00382 
00401     ProcessingInstruction createProcessingInstruction ( const DOMString &target,
00402                                                         const DOMString &data );
00403 
00418     Attr createAttribute ( const DOMString &name );
00419 
00448     Attr createAttributeNS( const DOMString &namespaceURI,
00449                             const DOMString &qualifiedName );
00450 
00466     EntityReference createEntityReference ( const DOMString &name );
00467 
00481     Element getElementById ( const DOMString &elementId ) const;
00482 
00498     NodeList getElementsByTagName ( const DOMString &tagname );
00499 
00516     NodeList getElementsByTagNameNS( const DOMString &namespaceURI,
00517                                      const DOMString &localName );
00518 
00536     NodeList getElementsByClassName ( const DOMString &className );
00537 
00631     Node importNode( const Node & importedNode, bool deep );
00632 
00637     bool isHTMLDocument() const;
00638 
00650     Range createRange();
00651 
00679     NodeIterator createNodeIterator(Node root, unsigned long whatToShow,
00680                                     NodeFilter filter,
00681                                     bool entityReferenceExpansion);
00682 
00713     TreeWalker createTreeWalker(Node root, unsigned long whatToShow,
00714                                 NodeFilter filter,
00715                                 bool entityReferenceExpansion);
00716 
00744     Event createEvent(const DOMString &eventType);
00745 
00752     AbstractView defaultView() const;
00753 
00764     StyleSheetList styleSheets() const;
00765 
00771     DOMString preferredStylesheetSet();
00772     DOMString selectedStylesheetSet();
00773     void setSelectedStylesheetSet(const DOMString& aString);
00774 
00789     void addStyleSheet(const StyleSheet &sheet);
00790     
00803     void removeStyleSheet(const StyleSheet &sheet);
00804     
00808     KHTMLView *view() const;
00809 
00824     CSSStyleDeclaration getOverrideStyle(const Element &elt,
00825                                          const DOMString &pseudoElt);
00826 
00836     bool async() const;
00837 
00848     void setAsync( bool );
00849 
00850 
00860     void abort();
00861 
00898     void load( const DOMString &uri );
00899 
00919     void loadXML( const DOMString &source );
00920 
00929     bool designMode() const;
00930 
00937     void setDesignMode(bool enable);
00938 
00944     DOMString completeURL(const DOMString& url);
00945 
00946     DOMString toString() const;
00947 
00953     bool execCommand(const DOMString &command, bool userInterface, const DOMString &value);
00954     bool queryCommandEnabled(const DOMString &command);
00955     bool queryCommandIndeterm(const DOMString &command);
00956     bool queryCommandState(const DOMString &command);
00957     bool queryCommandSupported(const DOMString &command);
00958     DOMString queryCommandValue(const DOMString &command);
00959     
00966     void updateRendering();
00967 
00968     Document( DocumentImpl *i);
00969 protected:
00970 
00971     friend class Node;
00972 };
00973 
00974 class DocumentFragmentImpl;
00975 
01018 class KHTML_EXPORT DocumentFragment : public Node
01019 {
01020     friend class Document;
01021     friend class HTMLElementImpl;
01022     friend class Range;
01023 
01024 public:
01025     DocumentFragment();
01026     DocumentFragment(const DocumentFragment &other);
01027     DocumentFragment(const Node &other) : Node()
01028          {(*this)=other;}
01029 
01030     DocumentFragment & operator = (const Node &other);
01031     DocumentFragment & operator = (const DocumentFragment &other);
01032 
01033     ~DocumentFragment();
01034 
01035 protected:
01036     DocumentFragment(DocumentFragmentImpl *i);
01037 };
01038 
01039 class NamedNodeMap;
01040 class DOMString;
01041 
01055 class KHTML_EXPORT DocumentType : public Node
01056 {
01057     friend class Document;
01058     friend class DOMImplementation;
01059 public:
01060     DocumentType();
01061     DocumentType(const DocumentType &other);
01062 
01063     DocumentType(const Node &other) : Node()
01064          {(*this)=other;}
01065     DocumentType & operator = (const Node &other);
01066     DocumentType & operator = (const DocumentType &other);
01067 
01068     ~DocumentType();
01069 
01075     DOMString name() const;
01076 
01091     NamedNodeMap entities() const;
01092 
01102     NamedNodeMap notations() const;
01103 
01109     DOMString publicId() const;
01110 
01116     DOMString systemId() const;
01117 
01127     DOMString internalSubset() const;
01128 
01129 protected:
01130     DocumentType(DocumentTypeImpl *impl);
01131 };
01132 
01133 } //namespace
01134 #endif

KHTML

Skip menu "KHTML"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal