dom_doc.h00001
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
|