1635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project/**
2635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
3635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
4635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * This library is free software; you can redistribute it and/or
5635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * modify it under the terms of the GNU Library General Public
6635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * License as published by the Free Software Foundation; either
7635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * version 2 of the License, or (at your option) any later version.
8635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
9635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * This library is distributed in the hope that it will be useful,
10635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * but WITHOUT ANY WARRANTY; without even the implied warranty of
11635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Library General Public License for more details.
13635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
14635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * You should have received a copy of the GNU Library General Public License
15635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * along with this library; see the file COPYING.LIB.  If not, write to
16635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Boston, MA 02110-1301, USA.
18635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project *
19635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project */
20635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
21635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#ifndef WMLDoElement_h
22635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#define WMLDoElement_h
23635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
24635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#if ENABLE(WML)
25635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#include "WMLElement.h"
26635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
27635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectnamespace WebCore {
28635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
29635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectclass WMLTaskElement;
30635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
31635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectclass WMLDoElement : public WMLElement {
32635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectpublic:
335ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen    static PassRefPtr<WMLDoElement> create(const QualifiedName& tagName, Document*);
345ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
35635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    WMLDoElement(const QualifiedName& tagName, Document*);
36635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
37635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    virtual void defaultEventHandler(Event*);
38e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block    virtual void parseMappedAttribute(Attribute*);
39635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    virtual void insertedIntoDocument();
400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual void removedFromDocument();
41635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual void attach();
43635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
44635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    virtual void recalcStyle(StyleChange);
45635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    void registerTask(WMLTaskElement*);
470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    void deregisterTask(WMLTaskElement*);
48635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
49635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    bool isActive() const { return m_isActive; }
500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    String label() const;
51635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    String name() const { return m_name; }
52635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
53635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    void setActive(bool active) { m_isActive = active; }
54635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    void setNoop(bool noop) { m_isNoop = noop;}
55635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
56635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectprivate:
57635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    WMLTaskElement* m_task;
58635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    bool m_isActive;
59635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    bool m_isNoop;
60635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    bool m_isOptional;
61635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    String m_name;
62635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    String m_type;
63635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project};
64635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
65635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project}
66635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
67635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#endif
68635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#endif
69