diff options
Diffstat (limited to 'khtml/dom/html_misc.h')
-rw-r--r-- | khtml/dom/html_misc.h | 222 |
1 files changed, 222 insertions, 0 deletions
diff --git a/khtml/dom/html_misc.h b/khtml/dom/html_misc.h new file mode 100644 index 000000000..bcfa09495 --- /dev/null +++ b/khtml/dom/html_misc.h @@ -0,0 +1,222 @@ +/* + * This file is part of the DOM implementation for KDE. + * + * (C) 1999 Lars Knoll (knoll@kde.org) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + * This file includes excerpts from the Document Object Model (DOM) + * Level 1 Specification (Recommendation) + * http://www.w3.org/TR/REC-DOM-Level-1/ + * Copyright World Wide Web Consortium , (Massachusetts Institute of + * Technology , Institut National de Recherche en Informatique et en + * Automatique , Keio University ). All Rights Reserved. + * + */ +#ifndef HTML_MISC_H +#define HTML_MISC_H + +#include <dom/html_element.h> +#include <kdelibs_export.h> + +namespace DOM { + +class HTMLBaseFontElementImpl; +class DOMString; +class HTMLCollectionImpl; + +/** + * Base font. See the <a + * href="http://www.w3.org/TR/REC-html40/present/graphics.html#edef-BASEFONT"> + * BASEFONT element definition </a> in HTML 4.0. This element is + * deprecated in HTML 4.0. + * + */ +class KHTML_EXPORT HTMLBaseFontElement : public HTMLElement +{ +public: + HTMLBaseFontElement(); + HTMLBaseFontElement(const HTMLBaseFontElement &other); + HTMLBaseFontElement(const Node &other) : HTMLElement() + {(*this)=other;} +protected: + HTMLBaseFontElement(HTMLBaseFontElementImpl *impl); +public: + + HTMLBaseFontElement & operator = (const HTMLBaseFontElement &other); + HTMLBaseFontElement & operator = (const Node &other); + + ~HTMLBaseFontElement(); + + /** + * Font color. See the <a href="http://www.w3.org/TR/REC-html40/"> + * color attribute definition </a> in HTML 4.0. This attribute is + * deprecated in HTML 4.0. + * + */ + DOMString color() const; + + /** + * see color + */ + void setColor( const DOMString & ); + + /** + * Font face identifier. See the <a + * href="http://www.w3.org/TR/REC-html40/"> face attribute + * definition </a> in HTML 4.0. This attribute is deprecated in + * HTML 4.0. + * + */ + DOMString face() const; + + /** + * see face + */ + void setFace( const DOMString & ); + + /** + * Computed Font size. See the <a + * href="http://www.w3.org/TR/REC-html40/present/graphics.html#adef-size-BASEFONT"> + * size attribute definition </a> in HTML 4.0. This attribute is + * deprecated in HTML 4.0. + * + */ + long getSize() const; + + /** + * see size + */ + void setSize( long ); + + /** + * @deprecated + */ + DOMString size() const KDE_DEPRECATED; + + /** + * @deprecated + */ + void setSize( const DOMString & ) KDE_DEPRECATED; +}; + +// -------------------------------------------------------------------------- + +/** + * An \c HTMLCollection is a list of nodes. An individual + * node may be accessed by either ordinal index or the node's + * \c name or \c id attributes. Note: Collections in + * the HTML DOM are assumed to be live meaning that they are + * automatically updated when the underlying document is changed. + * + */ +class KHTML_EXPORT HTMLCollection +{ + friend class HTMLDocument; + friend class HTMLSelectElement; + friend class HTMLImageElement; + friend class HTMLMapElement; + friend class HTMLTableElement; + friend class HTMLTableRowElement; + friend class HTMLTableSectionElement; + friend class HTMLLayerElement; + friend class HTMLElement; + +public: + HTMLCollection(); + HTMLCollection(const HTMLCollection &other); +protected: + HTMLCollection(NodeImpl *base, int type); +public: + + HTMLCollection & operator = (const HTMLCollection &other); + + ~HTMLCollection(); + + /** + * This attribute specifies the length or size of the list. + * + */ + unsigned long length() const; + + /** + * This method retrieves a node specified by ordinal index. Nodes + * are numbered in tree order (depth-first traversal order). + * + * @param index The index of the node to be fetched. The index + * origin is 0. + * + * @return The \c Node at the corresponding position + * upon success. A value of \c null is returned if the + * index is out of range. + * + */ + Node item ( unsigned long index ) const; + + /** + * This method retrieves a \c Node using a name. It + * first searches for a \c Node with a matching + * \c id attribute. If it doesn't find one, it then searches + * for a \c Node with a matching \c name + * attribute, but only on those elements that are allowed a name + * attribute. + * + * @param name The name of the \c Node to be fetched. + * + * @return The \c Node with a \c name or + * \c id attribute whose value corresponds to the + * specified string. Upon failure (e.g., no node with this name + * exists), returns \c null . + * + */ + Node namedItem ( const DOMString &name ) const; + + /** + * @internal + * not part of the DOM + */ + Node base() const; + HTMLCollectionImpl *handle() const; + bool isNull() const; + // Fast iteration + Node firstItem() const; + Node nextItem() const; + // In case of multiple items named the same way + Node nextNamedItem( const DOMString &name ) const; + +protected: + HTMLCollectionImpl *impl; +}; + +class KHTML_EXPORT HTMLFormCollection : public HTMLCollection +{ + friend class HTMLFormElement; +protected: + HTMLFormCollection(NodeImpl *base); +}; + +/** + @internal. Not part of the public API +*/ +class KHTML_EXPORT HTMLMappedNameCollection : public HTMLCollection +{ +public: + HTMLMappedNameCollection(NodeImpl *base, int type, const DOMString &name ); +}; + +} //namespace + +#endif |