//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 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 General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

%ModuleHeaderCode
#include <css_rule.h>
%End

namespace DOM
{

class CSSRule
{
%TypeHeaderCode
#include <css_rule.h>
%End


public:
                            CSSRule ();
                            CSSRule (const DOM::CSSRule& other);
//ig                        CSSRule (CSSRuleImpl* impl);

    enum RuleType
    {
        UNKNOWN_RULE,
        STYLE_RULE,
        CHARSET_RULE,
        IMPORT_RULE,
        MEDIA_RULE,
        FONT_FACE_RULE,
        PAGE_RULE,
        QUIRKS_RULE
    };

    unsigned short          type () const;
    DOM::DOMString          cssText () const;
    void                    setCssText (const DOM::DOMString&);
    DOM::CSSStyleSheet      parentStyleSheet () const;
    DOM::CSSRule            parentRule () const;
//ig     CSSRuleImpl*       handle () const;
    bool                    isNull () const;

protected:
    void                    assignOther (const DOM::CSSRule& other, DOM::CSSRule::RuleType thisType);
};   // CSSRule


class CSSCharsetRule : DOM::CSSRule
{
%TypeHeaderCode
#include <css_rule.h>
%End


public:
                            CSSCharsetRule ();
                            CSSCharsetRule (const DOM::CSSCharsetRule& other);
                            CSSCharsetRule (const DOM::CSSRule& other);
//ig                        CSSCharsetRule (CSSCharsetRuleImpl* impl);
    DOM::DOMString          encoding () const;
    void                    setEncoding (const DOM::DOMString&);
};   // CSSCharsetRule


class CSSFontFaceRule : DOM::CSSRule
{
%TypeHeaderCode
#include <css_rule.h>
%End


public:
                            CSSFontFaceRule ();
                            CSSFontFaceRule (const DOM::CSSFontFaceRule& other);
                            CSSFontFaceRule (const DOM::CSSRule& other);
//ig                        CSSFontFaceRule (CSSFontFaceRuleImpl* impl);
    DOM::CSSStyleDeclaration  style () const;
};   // CSSFontFaceRule


class CSSImportRule : DOM::CSSRule
{
%TypeHeaderCode
#include <css_rule.h>
%End


public:
                            CSSImportRule ();
                            CSSImportRule (const DOM::CSSImportRule& other);
                            CSSImportRule (const DOM::CSSRule& other);
//ig                        CSSImportRule (CSSImportRuleImpl* impl);
    DOM::DOMString          href () const;
    DOM::MediaList          media () const;
    DOM::CSSStyleSheet      styleSheet () const;
};   // CSSImportRule


class CSSMediaRule : DOM::CSSRule
{
%TypeHeaderCode
#include <css_rule.h>
%End


public:
                            CSSMediaRule ();
                            CSSMediaRule (const DOM::CSSMediaRule& other);
                            CSSMediaRule (const DOM::CSSRule& other);
//ig                        CSSMediaRule (CSSMediaRuleImpl* impl);
    DOM::MediaList          media () const;
    DOM::CSSRuleList        cssRules () const;
    unsigned long           insertRule (const DOM::DOMString& rule, unsigned long index);
    void                    deleteRule (unsigned long index);
};   // CSSMediaRule


class CSSPageRule : DOM::CSSRule
{
%TypeHeaderCode
#include <css_rule.h>
%End


public:
                            CSSPageRule ();
                            CSSPageRule (const DOM::CSSPageRule& other);
                            CSSPageRule (const DOM::CSSRule& other);
//ig                        CSSPageRule (CSSPageRuleImpl* impl);
    DOM::DOMString          selectorText () const;
    void                    setSelectorText (const DOM::DOMString&);
    DOM::CSSStyleDeclaration  style () const;
};   // CSSPageRule


class CSSStyleRule : DOM::CSSRule
{
%TypeHeaderCode
#include <css_rule.h>
%End


public:
                            CSSStyleRule ();
                            CSSStyleRule (const DOM::CSSStyleRule& other);
                            CSSStyleRule (const DOM::CSSRule& other);
//ig                        CSSStyleRule (CSSStyleRuleImpl* impl);
    DOM::DOMString          selectorText () const;
    void                    setSelectorText (const DOM::DOMString&);
    DOM::CSSStyleDeclaration  style () const;
};   // CSSStyleRule


class CSSUnknownRule : DOM::CSSRule
{
%TypeHeaderCode
#include <css_rule.h>
%End


public:
                            CSSUnknownRule ();
                            CSSUnknownRule (const DOM::CSSUnknownRule& other);
                            CSSUnknownRule (const DOM::CSSRule& other);
//ig                        CSSUnknownRule (CSSUnknownRuleImpl* impl);
};   // CSSUnknownRule


class CSSRuleList
{
%TypeHeaderCode
#include <css_rule.h>
%End


public:
                            CSSRuleList ();
                            CSSRuleList (const DOM::CSSRuleList& other);
//ig                        CSSRuleList (CSSRuleListImpl* i);
//ig                        CSSRuleList (StyleListImpl* i);
    unsigned long           length () const;
    DOM::CSSRule            item (unsigned long index);
//ig     CSSRuleListImpl*   handle () const;
    bool                    isNull () const;
};   // CSSRuleList

};   // DOM


