You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/khtml/dom/html_misc.h

223 lines
6.0 KiB

/*
* 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 <tdelibs_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