39ab8989e27b2601dbc8a804c63f7f58fea2c172
[WebKit-https.git] / WebCore / html / HTMLStyleElement.h
1 /*
2  * This file is part of the DOM implementation for KDE.
3  *
4  * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
5  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
6  * Copyright (C) 2003 Apple Computer, Inc.
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public License
19  * along with this library; see the file COPYING.LIB.  If not, write to
20  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  *
23  */
24 #ifndef HTMLStyleElement_H
25 #define HTMLStyleElement_H
26
27 #include "HTMLElement.h"
28 #include "CSSStyleSheet.h"
29
30 namespace WebCore {
31
32 class HTMLStyleElement : public HTMLElement
33 {
34 public:
35     HTMLStyleElement(Document*);
36
37     virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
38     virtual int tagPriority() const { return 1; }
39     virtual bool checkDTD(const Node* newChild) { return newChild->isTextNode(); }
40
41     StyleSheet* sheet() const;
42
43     // overload from HTMLElement
44     virtual void parseMappedAttribute(MappedAttribute*);
45     virtual void insertedIntoDocument();
46     virtual void removedFromDocument();
47     virtual void childrenChanged();
48
49     bool isLoading() const;
50     virtual bool sheetLoaded();
51
52     bool disabled() const;
53     void setDisabled(bool);
54
55     String media() const;
56     void setMedia(const String&);
57
58     String type() const;
59     void setType(const String&);
60
61 protected:
62     RefPtr<CSSStyleSheet> m_sheet;
63     bool m_loading;
64     String m_type;
65     String m_media;
66 };
67
68 } //namespace
69
70 #endif