//
//     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/>.


class KLed : QWidget
{
%TypeHeaderCode
#include <kled.h>
%End


public:

    enum State
    {
        Off,
        On
    };


    enum Shape
    {
        Rectangular,
        Circular
    };


    enum Look
    {
        Flat,
        Raised,
        Sunken
    };

    explicit                KLed (QWidget* parent /TransferThis/ = 0);
    explicit                KLed (const QColor& color, QWidget* parent /TransferThis/ = 0);
                            KLed (const QColor& color, KLed::State state, KLed::Look look, KLed::Shape shape, QWidget* parent /TransferThis/ = 0);
    QColor                  color () const;
    KLed::State             state () const;
    KLed::Look              look () const;
    KLed::Shape             shape () const;
    int                     darkFactor () const;
    void                    setColor (const QColor& color);
    void                    setState (KLed::State state);
    void                    setLook (KLed::Look look);
    void                    setShape (KLed::Shape shape);
    void                    setDarkFactor (int darkFactor);
    virtual QSize           sizeHint () const;
    virtual QSize           minimumSizeHint () const;
    void                    toggle ();
    void                    on ();
    void                    off ();

protected:
    virtual int             ledWidth () const;
    virtual void            paintFlat ();
    virtual void            paintRaised ();
    virtual void            paintSunken ();
    virtual void            paintRect ();
    virtual void            paintRectFrame (bool raised);
    void                    paintEvent (QPaintEvent*);
    bool                    paintCachedPixmap ();
};   // KLed


