KHTML
dom_doc.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
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
00612 Node importNode( const Node & importedNode, bool deep );
00613
00618 bool isHTMLDocument() const;
00619
00631 Range createRange();
00632
00660 NodeIterator createNodeIterator(Node root, unsigned long whatToShow,
00661 NodeFilter filter,
00662 bool entityReferenceExpansion);
00663
00694 TreeWalker createTreeWalker(Node root, unsigned long whatToShow,
00695 NodeFilter filter,
00696 bool entityReferenceExpansion);
00697
00725 Event createEvent(const DOMString &eventType);
00726
00733 AbstractView defaultView() const;
00734
00745 StyleSheetList styleSheets() const;
00746
00752 DOMString preferredStylesheetSet();
00753 DOMString selectedStylesheetSet();
00754 void setSelectedStylesheetSet(const DOMString& aString);
00755
00770 void addStyleSheet(const StyleSheet &sheet);
00771
00784 void removeStyleSheet(const StyleSheet &sheet);
00785
00789 KHTMLView *view() const;
00790
00805 CSSStyleDeclaration getOverrideStyle(const Element &elt,
00806 const DOMString &pseudoElt);
00807
00817 bool async() const;
00818
00829 void setAsync( bool );
00830
00831
00841 void abort();
00842
00879 void load( const DOMString &uri );
00880
00900 void loadXML( const DOMString &source );
00901
00910 bool designMode() const;
00911
00918 void setDesignMode(bool enable);
00919
00925 DOMString completeURL(const DOMString& url);
00926
00927 DOMString toString() const;
00928
00935 void updateRendering();
00936
00937 Document( DocumentImpl *i);
00938 protected:
00939
00940 friend class Node;
00941 };
00942
00943 class DocumentFragmentImpl;
00944
00987 class KHTML_EXPORT DocumentFragment : public Node
00988 {
00989 friend class Document;
00990 friend class HTMLElementImpl;
00991 friend class Range;
00992
00993 public:
00994 DocumentFragment();
00995 DocumentFragment(const DocumentFragment &other);
00996 DocumentFragment(const Node &other) : Node()
00997 {(*this)=other;}
00998
00999 DocumentFragment & operator = (const Node &other);
01000 DocumentFragment & operator = (const DocumentFragment &other);
01001
01002 ~DocumentFragment();
01003
01004 protected:
01005 DocumentFragment(DocumentFragmentImpl *i);
01006 };
01007
01008 class NamedNodeMap;
01009 class DOMString;
01010
01024 class KHTML_EXPORT DocumentType : public Node
01025 {
01026 friend class Document;
01027 friend class DOMImplementation;
01028 public:
01029 DocumentType();
01030 DocumentType(const DocumentType &other);
01031
01032 DocumentType(const Node &other) : Node()
01033 {(*this)=other;}
01034 DocumentType & operator = (const Node &other);
01035 DocumentType & operator = (const DocumentType &other);
01036
01037 ~DocumentType();
01038
01044 DOMString name() const;
01045
01060 NamedNodeMap entities() const;
01061
01071 NamedNodeMap notations() const;
01072
01078 DOMString publicId() const;
01079
01085 DOMString systemId() const;
01086
01096 DOMString internalSubset() const;
01097
01098 protected:
01099 DocumentType(DocumentTypeImpl *impl);
01100 };
01101
01102 }
01103 #endif