//
//     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 KTabWidget : QTabWidget
{
%TypeHeaderCode
#include <ktabwidget.h>
%End


public:
    explicit                KTabWidget (QWidget* parent /TransferThis/ = 0, Qt::WFlags flags = 0);
    void                    setTabTextColor (int index, const QColor& color);
    QColor                  tabTextColor (int index) const;
    bool                    isTabReorderingEnabled () const;
    bool                    hoverCloseButton () const;
    bool                    hoverCloseButtonDelayed () const;
    bool                    isCloseButtonEnabled () const;
    bool                    tabCloseActivatePrevious () const;
    bool                    automaticResizeTabs () const;
    void                    setTabBarHidden (bool hide);
    bool                    isTabBarHidden () const;
    QString                 tabText (int) const;
    void                    setTabText (int, const QString&);
    virtual void            moveTab (int, int);
    virtual void            removePage (QWidget* w);
    virtual void            removeTab (int index);
    void                    setTabReorderingEnabled (bool enable);
    void                    setHoverCloseButton (bool enable);
    void                    setHoverCloseButtonDelayed (bool delayed);
    void                    setCloseButtonEnabled (bool);
    void                    setTabCloseActivatePrevious (bool previous);
    void                    setAutomaticResizeTabs (bool enable);

signals:
//ig    void                    testCanDecode (const QDragMoveEvent* e, bool& accept);
    void                    receivedDropEvent (QDropEvent*);
    void                    receivedDropEvent (QWidget*, QDropEvent*);
    void                    initiateDrag (QWidget*);
//ig    void                    contextMenu (const QPoint&);
    void                    contextMenu (QWidget*, const QPoint&);
    void                    movedTab (int, int);
    void                    mouseDoubleClick ();
    void                    mouseDoubleClick (QWidget*);
    void                    mouseMiddleClick ();
    void                    mouseMiddleClick (QWidget*);
    void                    closeRequest (QWidget*);

protected:
    virtual void            mouseDoubleClickEvent (QMouseEvent*);
    virtual void            mousePressEvent (QMouseEvent*);
    virtual void            dragEnterEvent (QDragEnterEvent*);
    virtual void            dragMoveEvent (QDragMoveEvent*);
    virtual void            dropEvent (QDropEvent*);
    int                     tabBarWidthForMaxChars (int);
    virtual void            wheelEvent (QWheelEvent*);
    virtual void            resizeEvent (QResizeEvent*);
    virtual void            tabInserted (int);
    virtual void            tabRemoved (int);
//ig    virtual void            receivedDropEvent (int, QDropEvent*);
//ig    virtual void            initiateDrag (int);
//ig    virtual void            contextMenu (int, const QPoint&);
//ig    virtual void            mouseDoubleClick (int);
//ig    virtual void            mouseMiddleClick (int);
//ig    virtual void            closeRequest (int);
    void                    currentChanged (int);
    virtual void            wheelDelta (int);
public:
    ~KTabWidget ();
protected:
    virtual void            mouseReleaseEvent (QMouseEvent*);
public:
//ig    QString                 label (int index) const;
//ig    QString                 tabLabel (QWidget* w) const;
//ig    void                    setTabLabel (QWidget* w, const QString& l);
};
// KTabWidget


