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


//                 Generated by preSip
//            module tdeui  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 (TQWidget*, int);
    TQWidget*             widget;
    int                  id;
    bool                 enabled;

};  // class KDockTabCtl_PrivateStruct


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


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

    enum TabPos
    {
        TAB_TOP, 
        TAB_RIGHT
    };

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

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

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

protected:
    virtual void         paintEvent (TQPaintEvent*);
    virtual void         resizeEvent (TQResizeEvent*);
    virtual void         keyPressEvent (TQKeyEvent*);

};  // class KDockTabBar


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


public:
    TQString              tip (const TQPoint&);
    TQRect                findBarRectByPos (int, int);

private:
                         KDockTabBarPainter (KDockTabBar*/TransferThis/);

protected:
    virtual void         mousePressEvent (TQMouseEvent*);
    virtual void         mouseReleaseEvent (TQMouseEvent*);
    virtual void         resizeEvent (TQResizeEvent*);
    virtual void         paintEvent (TQPaintEvent*);

};  // class KDockTabBarPainter


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


public:
                         KDockTabCtl (TQWidget*/TransferThis/ = 0, const char* = 0);
    virtual void         setTabPos (KDockTabBar::TabPos);
    KDockTabBar::TabPos  getTabPos ();
    int                  insertPage (TQWidget*, const TQString&, int = -1, int = -1);
    void                 setPageCaption (TQWidget*, const TQString&);
    void                 setPageCaption (int, const TQString&);
    TQString              pageCaption (TQWidget*);
    TQString              pageCaption (int);
    void                 captionAutoSet (bool);
    bool                 isCaptionAutoSet ();
    void                 setPixmap (TQWidget*, const TQPixmap&);
    void                 setPixmap (int, const TQPixmap&);
    void                 setToolTip (TQWidget*, const TQString&);
    void                 setTabTextColor (TQWidget*, const TQColor&);
    void                 setTabTextColor (int, const TQColor&);
    const TQColor&        tabTextColor (TQWidget*);
    const TQColor&        tabTextColor (int);
    bool                 isPageEnabled (TQWidget*);
    bool                 isPageEnabled (int);
    void                 setPageEnabled (TQWidget*, bool);
    void                 setPageEnabled (int, bool);
    TQWidget*             page (int);
    int                  id (TQWidget*);
    int                  index (TQWidget*);
    void                 removePage (TQWidget*);
    void                 removePage (int);
    TQWidget*             visiblePage ();
    int                  visiblePageId ();
    void                 setVisiblePage (TQWidget*, bool = 0);
    void                 setTabFont (const TQFont&);
    TQFont                tabFont ();
    void                 showTabIcon (bool);
    bool                 isShowTabIcon ();
    int                  pageCount ();
    TQWidget*             getFirstPage ();
    TQWidget*             getLastPage ();
    TQWidget*             getNextPage (TQWidget*);
    TQWidget*             getPrevPage (TQWidget*);
    virtual void         show ();
    virtual bool         eventFilter (TQObject*, TQEvent*);

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

protected:
    void                 paintEvent (TQPaintEvent*);

signals:
    void                 aboutToShow (TQWidget*);
    void                 pageSelected (TQWidget*);
    void                 tabShowPopup (int, TQPoint);

protected slots:
    void                 rightButtonPress (int, TQPoint);

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

};  // class KDockTabCtl

