blob: d76580fe735948a49462de088d4bfd6d6d5a67a6 [file] [log] [blame]
darinb9481ed2006-03-20 02:57:59 +00001/*
darinb9481ed2006-03-20 02:57:59 +00002 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org)
darin@apple.com642f5002008-06-07 22:51:37 +00005 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
darinb9481ed2006-03-20 02:57:59 +00006 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details.
16 *
17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; see the file COPYING.LIB. If not, write to
ddkilzerc8eccec2007-09-26 02:29:57 +000019 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
darinb9481ed2006-03-20 02:57:59 +000021 *
22 */
23
eseidel8eddecf2007-01-16 00:49:43 +000024#ifndef HTMLOptionsCollection_h
25#define HTMLOptionsCollection_h
darinb9481ed2006-03-20 02:57:59 +000026
27#include "HTMLCollection.h"
28
29namespace WebCore {
30
darin@apple.com6b166602007-12-03 04:57:59 +000031class HTMLOptionElement;
darinb9481ed2006-03-20 02:57:59 +000032class HTMLSelectElement;
33
darin@apple.com6b166602007-12-03 04:57:59 +000034typedef int ExceptionCode;
35
darinb9481ed2006-03-20 02:57:59 +000036class HTMLOptionsCollection : public HTMLCollection {
37public:
rniwa@webkit.org25c3d5e2012-11-27 19:58:46 +000038 static PassRefPtr<HTMLOptionsCollection> create(Node*, CollectionType);
darinb9481ed2006-03-20 02:57:59 +000039
ddkilzer20e0d1b2006-07-11 03:16:41 +000040 void add(PassRefPtr<HTMLOptionElement>, ExceptionCode&);
41 void add(PassRefPtr<HTMLOptionElement>, int index, ExceptionCode&);
ddkilzer@apple.combc5a3642007-12-10 17:51:02 +000042 void remove(int index);
ddkilzer20e0d1b2006-07-11 03:16:41 +000043
44 int selectedIndex() const;
45 void setSelectedIndex(int);
46
darinb9481ed2006-03-20 02:57:59 +000047 void setLength(unsigned, ExceptionCode&);
darin@apple.com642f5002008-06-07 22:51:37 +000048
49private:
rniwa@webkit.org25c3d5e2012-11-27 19:58:46 +000050 HTMLOptionsCollection(Node*);
darinb9481ed2006-03-20 02:57:59 +000051};
52
53} //namespace
54
55#endif