//
//     Copyright 2003 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2002 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module kdeui  version KDE_3_1_1


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software 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 library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


class KDockTabCtl_PrivateStruct
{
%TypeHeaderCode
#include <kdocktabctl.h>
%End


public:
                         KDockTabCtl_PrivateStruct (QWidget*, int);
    QWidget*             widget;
    int                  id;
    bool                 enabled;

};  // class KDockTabCtl_PrivateStruct


class KDockTabBar : QWidget
{
%TypeHeaderCode
#include <kdocktabctl.h>
%End


public:
                         KDockTabBar (QWidget*/TransferThis/ = 0, const char* = 0);

    enum TabPos
    {
        TAB_TOP, 
        TAB_RIGHT
    };

    void                 setTabPos (KDockTabBar::TabPos);
    int                  insertTab (const QString&, int = -1, int = -1);
    void                 setPixmap (int, const QPixmap&);
    void                 setToolTip (int, const QString&);
    void                 setTextColor (int, const QColor&);
    const QColor&        textColor (int);
    void                 removeTab (int);
    int                  currentTab ();
    void                 setCurrentTab (int, bool = 0);
    void                 setTabEnabled (int, bool);
    bool                 isTabEnabled (int);
    void                 setTabCaption (int, const QString&);
    QString              tabCaption (int);
    virtual void         show ();
    virtual void         setFont (const QFont&);
    void                 showTabIcon (bool);
    bool                 isShowTabIcon ();

signals:
    void                 tabSelected (int);
    void                 rightButtonPress (int, QPoint);

protected slots:
    void                 leftClicked ();
    void                 rightClicked ();

protected:
    virtual void         paintEvent (QPaintEvent*);
    virtual void         resizeEvent (QResizeEvent*);
    virtual void         keyPressEvent (QKeyEvent*);

};  // class KDockTabBar


class KDockTabBarPainter : QWidget
{
%TypeHeaderCode
#include <kdocktabctl.h>
%End


public:
    QString              tip (const QPoint&);
    QRect                findBarRectByPos (int, int);

private:
                         KDockTabBarPainter (KDockTabBar*/TransferThis/);

protected:
    virtual void         mousePressEvent (QMouseEvent*);
    virtual void         mouseReleaseEvent (QMouseEvent*);
    virtual void         resizeEvent (QResizeEvent*);
    virtual void         paintEvent (QPaintEvent*);

};  // class KDockTabBarPainter


class KDockTabCtl : QWidget
{
%TypeHeaderCode
#include <kdocktabctl.h>
%End


public:
                         KDockTabCtl (QWidget*/TransferThis/ = 0, const char* = 0);
    virtual void         setTabPos (KDockTabBar::TabPos);
    KDockTabBar::TabPos  getTabPos ();
    int                  insertPage (QWidget*, const QString&, int = -1, int = -1);
    void                 setPageCaption (QWidget*, const QString&);
    void                 setPageCaption (int, const QString&);
    QString              pageCaption (QWidget*);
    QString              pageCaption (int);
    void                 captionAutoSet (bool);
    bool                 isCaptionAutoSet ();
    void                 setPixmap (QWidget*, const QPixmap&);
    void                 setPixmap (int, const QPixmap&);
    void                 setToolTip (QWidget*, const QString&);
    void                 setTabTextColor (QWidget*, const QColor&);
    void                 setTabTextColor (int, const QColor&);
    const QColor&        tabTextColor (QWidget*);
    const QColor&        tabTextColor (int);
    bool                 isPageEnabled (QWidget*);
    bool                 isPageEnabled (int);
    void                 setPageEnabled (QWidget*, bool);
    void                 setPageEnabled (int, bool);
    QWidget*             page (int);
    int                  id (QWidget*);
    int                  index (QWidget*);
    void                 removePage (QWidget*);
    void                 removePage (int);
    QWidget*             visiblePage ();
    int                  visiblePageId ();
    void                 setVisiblePage (QWidget*, bool = 0);
    void                 setTabFont (const QFont&);
    QFont                tabFont ();
    void                 showTabIcon (bool);
    bool                 isShowTabIcon ();
    int                  pageCount ();
    QWidget*             getFirstPage ();
    QWidget*             getLastPage ();
    QWidget*             getNextPage (QWidget*);
    QWidget*             getPrevPage (QWidget*);
    virtual void         show ();
    virtual bool         eventFilter (QObject*, QEvent*);

public slots:
    virtual void         setEnabled (bool);
    void                 setVisiblePage (int);

protected:
    void                 paintEvent (QPaintEvent*);

signals:
    void                 aboutToShow (QWidget*);
    void                 pageSelected (QWidget*);
    void                 tabShowPopup (int, QPoint);

protected slots:
    void                 rightButtonPress (int, QPoint);

protected:
    KDockTabCtl_PrivateStruct* findData (QWidget*);
    KDockTabCtl_PrivateStruct* findData (int);
    void                 showPage (QWidget*, bool = 0);

};  // class KDockTabCtl

