KHtml

html_misc.h
1 /*
2  * This file is part of the DOM implementation for KDE.
3  *
4  * Copyright 1999 Lars Knoll ([email protected])
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public License
17  * along with this library; see the file COPYING.LIB. If not, write to
18  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19  * Boston, MA 02110-1301, USA.
20  *
21  * This file includes excerpts from the Document Object Model (DOM)
22  * Level 1 Specification (Recommendation)
23  * https://www.w3.org/TR/REC-DOM-Level-1/
24  * Copyright © World Wide Web Consortium , (Massachusetts Institute of
25  * Technology , Institut National de Recherche en Informatique et en
26  * Automatique , Keio University ). All Rights Reserved.
27  *
28  */
29 #ifndef HTML_MISC_H
30 #define HTML_MISC_H
31 
32 #include <khtml_export.h>
33 #include <dom/html_element.h>
34 
35 namespace DOM
36 {
37 
38 class HTMLBaseFontElementImpl;
39 class DOMString;
40 class HTMLCollectionImpl;
41 
42 /**
43  * Base font. See the <a
44  * href="https://www.w3.org/TR/REC-html40/present/graphics.html#edef-BASEFONT">
45  * BASEFONT element definition </a> in HTML 4.0. This element is
46  * deprecated in HTML 4.0.
47  *
48  */
49 class KHTML_EXPORT HTMLBaseFontElement : public HTMLElement
50 {
51 public:
54  HTMLBaseFontElement(const Node &other) : HTMLElement()
55  {
56  (*this) = other;
57  }
58 protected:
59  HTMLBaseFontElement(HTMLBaseFontElementImpl *impl);
60 public:
61 
62  HTMLBaseFontElement &operator = (const HTMLBaseFontElement &other);
63  HTMLBaseFontElement &operator = (const Node &other);
64 
66 
67  /**
68  * Font color. See the <a href="https://www.w3.org/TR/REC-html40/">
69  * color attribute definition </a> in HTML 4.0. This attribute is
70  * deprecated in HTML 4.0.
71  *
72  */
73  DOMString color() const;
74 
75  /**
76  * see color
77  */
78  void setColor(const DOMString &);
79 
80  /**
81  * Font face identifier. See the <a
82  * href="https://www.w3.org/TR/REC-html40/"> face attribute
83  * definition </a> in HTML 4.0. This attribute is deprecated in
84  * HTML 4.0.
85  *
86  */
87  DOMString face() const;
88 
89  /**
90  * see face
91  */
92  void setFace(const DOMString &);
93 
94  /**
95  * Computed Font size. See the <a
96  * href="https://www.w3.org/TR/REC-html40/present/graphics.html#adef-size-BASEFONT">
97  * size attribute definition </a> in HTML 4.0. This attribute is
98  * deprecated in HTML 4.0.
99  *
100  */
101  long getSize() const;
102 
103  /**
104  * see size
105  */
106  void setSize(long);
107 
108  /**
109  * @deprecated
110  */
111 #ifndef KHTML_NO_DEPRECATED
112  KHTML_DEPRECATED DOMString size() const;
113 #endif
114 
115  /**
116  * @deprecated
117  */
118 #ifndef KHTML_NO_DEPRECATED
119  KHTML_DEPRECATED void setSize(const DOMString &);
120 #endif
121 };
122 
123 // --------------------------------------------------------------------------
124 
125 /**
126  * An \c HTMLCollection is a list of nodes. An individual
127  * node may be accessed by either ordinal index or the node's
128  * \c name or \c id attributes. Note: Collections in
129  * the HTML DOM are assumed to be live meaning that they are
130  * automatically updated when the underlying document is changed.
131  *
132  */
133 class KHTML_EXPORT HTMLCollection
134 {
135  friend class HTMLDocument;
136  friend class HTMLSelectElement;
137  friend class HTMLImageElement;
138  friend class HTMLMapElement;
139  friend class HTMLTableElement;
140  friend class HTMLTableRowElement;
141  friend class HTMLTableSectionElement;
142  friend class HTMLLayerElement;
143  friend class HTMLElement;
144 
145 public:
146  HTMLCollection();
147  HTMLCollection(const HTMLCollection &other);
148 protected:
149  HTMLCollection(HTMLCollectionImpl *impl);
150  HTMLCollection(NodeImpl *base, int type);
151 public:
152 
153  HTMLCollection &operator = (const HTMLCollection &other);
154 
155  ~HTMLCollection();
156 
157  /**
158  * This attribute specifies the length or size of the list.
159  *
160  */
161  unsigned long length() const;
162 
163  /**
164  * This method retrieves a node specified by ordinal index. Nodes
165  * are numbered in tree order (depth-first traversal order).
166  *
167  * @param index The index of the node to be fetched. The index
168  * origin is 0.
169  *
170  * @return The \c Node at the corresponding position
171  * upon success. A value of \c null is returned if the
172  * index is out of range.
173  *
174  */
175  Node item(unsigned long index) const;
176 
177  /**
178  * This method retrieves a \c Node using a name. It
179  * first searches for a \c Node with a matching
180  * \c id attribute. If it doesn't find one, it then searches
181  * for a \c Node with a matching \c name
182  * attribute, but only on those elements that are allowed a name
183  * attribute.
184  *
185  * @param name The name of the \c Node to be fetched.
186  *
187  * @return The \c Node with a \c name or
188  * \c id attribute whose value corresponds to the
189  * specified string. Upon failure (e.g., no node with this name
190  * exists), returns \c null .
191  *
192  */
193  Node namedItem(const DOMString &name) const;
194 
195  /**
196  * @internal
197  * not part of the DOM
198  */
199  Node base() const;
200  HTMLCollectionImpl *handle() const;
201  bool isNull() const;
202  // Fast iteration
203  Node firstItem() const;
204  Node nextItem() const;
205  // In case of multiple items named the same way
206  Node nextNamedItem(const DOMString &name) const;
207 
208 protected:
209  HTMLCollectionImpl *impl;
210 };
211 
212 class KHTML_EXPORT HTMLFormCollection : public HTMLCollection
213 {
214  friend class HTMLFormElement;
215 protected:
216  HTMLFormCollection(NodeImpl *base);
217 };
218 
219 } //namespace
220 
221 #endif
Embedded image.
Definition: html_image.h:186
Layer container for Netscape 4.x compatibility.
Definition: html_block.h:349
All HTML element interfaces derive from this class.
Definition: html_element.h:70
This library provides a full-featured HTML parser and widget.
An HTMLCollection is a list of nodes.
Definition: html_misc.h:133
The FORM element encompasses behavior similar to a collection and an element.
Definition: html_form.h:207
An HTMLDocument is the root of the HTML hierarchy and holds the entire content.
Definition: html_document.h:74
The create* and delete* methods on the table allow authors to construct and modify tables.
Definition: html_table.h:448
The THEAD , TFOOT , and TBODY elements.
Definition: html_table.h:906
Client-side image map.
Definition: html_image.h:399
This class implements the basic string we use in the DOM.
Definition: dom_string.h:44
The select element allows the selection of an option.
Definition: html_form.h:883
A row in a table.
Definition: html_table.h:734
The Node interface is the primary datatype for the entire Document Object Model.
Definition: dom_node.h:278
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon May 8 2023 03:55:32 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.