//
//     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
//ctscc
#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,
        NAMESPACE_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);
public:
    ~CSSRule ();
};
// 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 ();
};
// 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 ();
};
// 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 ();
};
// 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 ();
};
// 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 ();
};
// 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 ();
};
// 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 ();
};
// 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 ();
};
// CSSRuleList

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

public:
                            CSSNamespaceRule ();
                            CSSNamespaceRule (const DOM::CSSNamespaceRule& other);
                            CSSNamespaceRule (const DOM::CSSRule& other);
//ig                            CSSNamespaceRule (CSSNamespaceRuleImpl* impl);
    DOM::DOMString          namespaceURI () const;
    DOM::DOMString          prefix () const;
    ~CSSNamespaceRule ();
};
};
// DOM


