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
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 }
01134 #endif