//
//     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 KColorCells : QTableWidget
{
%TypeHeaderCode
#include <kcolordialog.h>
%End


public:
                            KColorCells (QWidget* parent /TransferThis/, int rows, int columns);
    void                    setColor (int index, const QColor& col);
    QColor                  color (int index) const;
    int                     count () const;
    void                    setShading (bool shade);
    void                    setAcceptDrags (bool acceptDrags);
    void                    setSelected (int index);
    int                     selectedIndex () const;

signals:
    void                    colorSelected (int index, const QColor& color);
    void                    colorDoubleClicked (int index, const QColor& color);

protected:
    virtual int             sizeHintForColumn (int column) const;
    virtual int             sizeHintForRow (int column) const;
    virtual void            resizeEvent (QResizeEvent* event);
    virtual void            mouseReleaseEvent (QMouseEvent*);
    virtual void            mousePressEvent (QMouseEvent*);
    virtual void            mouseMoveEvent (QMouseEvent*);
    virtual void            dragEnterEvent (QDragEnterEvent*);
    virtual void            dragMoveEvent (QDragMoveEvent*);
    virtual void            dropEvent (QDropEvent*);
    virtual void            mouseDoubleClickEvent (QMouseEvent*);
    int                     positionToCell (const QPoint& pos, bool ignoreBorders = 0) const;

private:
                            KColorCells (const KColorCells&);
};   // KColorCells


class KColorPatch : QFrame
{
%TypeHeaderCode
#include <kcolordialog.h>
%End


public:
                            KColorPatch (QWidget* parent /TransferThis/);
    void                    setColor (const QColor& col);

signals:
    void                    colorChanged (const QColor&);

protected:
    virtual void            paintEvent (QPaintEvent* pe);
    virtual void            mouseMoveEvent (QMouseEvent*);
    virtual void            dragEnterEvent (QDragEnterEvent*);
    virtual void            dropEvent (QDropEvent*);

private:
                            KColorPatch (const KColorPatch&);
};   // KColorPatch


class KColorDialog : KDialog
{
%TypeHeaderCode
#include <kcolordialog.h>
%End


public:
    explicit                KColorDialog (QWidget* parent /TransferThis/ = 0, bool modal = 0);
    QColor                  color () const;
    static int              getColor (QColor& theColor, QWidget* parent /Transfer/ = 0);
    static int              getColor (QColor& theColor, const QColor& defaultColor, QWidget* parent /Transfer/ = 0);
    static QColor           grabColor (const QPoint& p);
    void                    setDefaultColor (const QColor& defaultCol);
    QColor                  defaultColor () const;
    void                    setColor (const QColor& col);

signals:
    void                    colorSelected (const QColor& col);

protected:
    virtual void            mouseMoveEvent (QMouseEvent*);
    virtual void            mouseReleaseEvent (QMouseEvent*);
    virtual void            keyPressEvent (QKeyEvent*);
    virtual bool            eventFilter (QObject* obj, QEvent* ev);

private:
                            KColorDialog (const KColorDialog&);
};   // KColorDialog


