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
00771 void addStyleSheet(const StyleSheet &sheet);
00772
00786 void removeStyleSheet(const StyleSheet &sheet);
00787
00791 KHTMLView *view() const;
00792
00807 CSSStyleDeclaration getOverrideStyle(const Element &elt,
00808 const DOMString &pseudoElt);
00809
00819 bool async() const;
00820
00831 void setAsync( bool );
00832
00833
00843 void abort();
00844
00881 void load( const DOMString &uri );
00882
00902 void loadXML( const DOMString &source );
00903
00913 bool designMode() const;
00914
00922 void setDesignMode(bool enable);
00923
00929 DOMString completeURL(const DOMString& url);
00930
00931 DOMString toString() const;
00932
00939 void updateRendering();
00940
00941 Document( DocumentImpl *i);
00942 protected:
00943
00944 friend class Node;
00945 };
00946
00947 class DocumentFragmentImpl;
00948
00991 class KHTML_EXPORT DocumentFragment : public Node
00992 {
00993 friend class Document;
00994 friend class HTMLElementImpl;
00995 friend class Range;
00996
00997 public:
00998 DocumentFragment();
00999 DocumentFragment(const DocumentFragment &other);
01000 DocumentFragment(const Node &other) : Node()
01001 {(*this)=other;}
01002
01003 DocumentFragment & operator = (const Node &other);
01004 DocumentFragment & operator = (const DocumentFragment &other);
01005
01006 ~DocumentFragment();
01007
01008 protected:
01009 DocumentFragment(DocumentFragmentImpl *i);
01010 };
01011
01012 class NamedNodeMap;
01013 class DOMString;
01014
01028 class KHTML_EXPORT DocumentType : public Node
01029 {
01030 friend class Document;
01031 friend class DOMImplementation;
01032 public:
01033 DocumentType();
01034 DocumentType(const DocumentType &other);
01035
01036 DocumentType(const Node &other) : Node()
01037 {(*this)=other;}
01038 DocumentType & operator = (const Node &other);
01039 DocumentType & operator = (const DocumentType &other);
01040
01041 ~DocumentType();
01042
01048 DOMString name() const;
01049
01064 NamedNodeMap entities() const;
01065
01075 NamedNodeMap notations() const;
01076
01082 DOMString publicId() const;
01083
01089 DOMString systemId() const;
01090
01100 DOMString internalSubset() const;
01101
01102 protected:
01103 DocumentType(DocumentTypeImpl *impl);
01104 };
01105
01106 }
01107 #endif