dom_element.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_ELEMENT_h_
00030 #define _DOM_ELEMENT_h_
00031
00032 #include <dom/dom_node.h>
00033 #include <dom/css_value.h>
00034
00035 #include <kdelibs_export.h>
00036
00037 namespace DOM {
00038
00039 class DOMString;
00040 class AttrImpl;
00041 class Element;
00042 class ElementImpl;
00043 class NamedAttrMapImpl;
00044 class DocumentImpl;
00045
00089 class KHTML_EXPORT Attr : public Node
00090 {
00091 friend class Element;
00092 friend class Document;
00093 friend class DocumentImpl;
00094 friend class HTMLDocument;
00095 friend class ElementImpl;
00096 friend class NamedAttrMapImpl;
00097 friend class AttrImpl;
00098
00099 public:
00100 Attr();
00101 Attr(const Node &other) : Node()
00102 {(*this)=other;}
00103 Attr(const Attr &other);
00104
00105 Attr & operator = (const Node &other);
00106 Attr & operator = (const Attr &other);
00107
00108 ~Attr();
00109
00114 DOMString name() const;
00115
00147 bool specified() const;
00148
00158 DOMString value() const;
00159
00163 void setValue( const DOMString & );
00164
00171 Element ownerElement() const;
00172
00173 protected:
00174
00175 Attr( AttrImpl *_impl );
00176 };
00177
00178 class NodeList;
00179 class Attr;
00180 class DOMString;
00181
00210 class KHTML_EXPORT Element : public Node
00211 {
00212 friend class Document;
00213 friend class HTMLDocument;
00214
00215 friend class Attr;
00216
00217 public:
00218 Element();
00219 Element(const Node &other) : Node()
00220 {(*this)=other;}
00221 Element(const Element &other);
00222
00223 Element & operator = (const Node &other);
00224 Element & operator = (const Element &other);
00225
00226 ~Element();
00227
00238 DOMString tagName() const;
00239
00250 DOMString getAttribute ( const DOMString &name );
00251
00279 void setAttribute ( const DOMString &name, const DOMString &value );
00280
00293 void removeAttribute ( const DOMString &name );
00294
00305 Attr getAttributeNode ( const DOMString &name );
00306
00332 Attr setAttributeNode ( const Attr &newAttr );
00333
00350 Attr removeAttributeNode ( const Attr &oldAttr );
00351
00364 NodeList getElementsByTagName ( const DOMString &name );
00365
00380 NodeList getElementsByTagNameNS ( const DOMString &namespaceURI,
00381 const DOMString &localName );
00382
00398 DOMString getAttributeNS ( const DOMString &namespaceURI,
00399 const DOMString &localName );
00400
00439 void setAttributeNS ( const DOMString &namespaceURI,
00440 const DOMString &qualifiedName,
00441 const DOMString &value );
00442
00460 void removeAttributeNS ( const DOMString &namespaceURI,
00461 const DOMString &localName );
00462
00476 Attr getAttributeNodeNS ( const DOMString &namespaceURI,
00477 const DOMString &localName );
00478
00504 Attr setAttributeNodeNS ( const Attr &newAttr );
00505
00516 bool hasAttribute( const DOMString& name );
00517
00532 bool hasAttributeNS ( const DOMString &namespaceURI,
00533 const DOMString &localName );
00534
00541 CSSStyleDeclaration style ( );
00542
00555 bool contentEditable() const;
00556
00573 void setContentEditable(bool enabled);
00574
00579 bool isHTMLElement() const;
00580
00587 Element form() const;
00588
00589 static bool khtmlValidAttrName(const DOMString &name);
00590 static bool khtmlValidPrefix(const DOMString &name);
00591 static bool khtmlValidQualifiedName(const DOMString &name);
00592
00593 static bool khtmlMalformedQualifiedName(const DOMString &name);
00594 static bool khtmlMalformedPrefix(const DOMString &name);
00595 protected:
00596 Element(ElementImpl *_impl);
00597 };
00598
00599 }
00600 #endif
|