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


//                 Generated by preSip
//            module kutils  version KDE 3.5.3


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


%If ( KDE_3_3_0 -  )

class KMultiTabBar : TQWidget
{
%TypeHeaderCode
#include <kmultitabbar.h>
%End


public:

    enum KMultiTabBarMode
    {
        Horizontal, 
        Vertical
    };


    enum KMultiTabBarPosition
    {
        Left, 
        Right, 
        Top, 
        Bottom
    };


    enum KMultiTabBarStyle
    {
        VSNET, 
        KDEV3, 
        KONQSBC, 
        KDEV3ICON, 
        STYLELAST
    };

                         KMultiTabBar (KMultiTabBar::KMultiTabBarMode, TQWidget* = 0, const char* = 0);
    int                  appendButton (const TQPixmap&, int = -1, TQPopupMenu* = 0, const TQString& = TQString ::null );
    void                 removeButton (int);
    int                  appendTab (const TQPixmap&, int = -1, const TQString& = TQString ::null );
    void                 removeTab (int);
    void                 setTab (int, bool);
    bool                 isTabRaised (int) const;
    KMultiTabBarButton*  button (int) const;
    KMultiTabBarTab*     tab (int) const;
    void                 setPosition (KMultiTabBar::KMultiTabBarPosition);

%If ( KDE_3_5_0 -  )
    KMultiTabBar::KMultiTabBarPosition position () const;
%End

    void                 setStyle (KMultiTabBar::KMultiTabBarStyle);

%If ( KDE_3_5_0 -  )
    KMultiTabBar::KMultiTabBarStyle tabStyle () const;
%End

//ig     TQPtrList<KMultiTabBarTab>* tabs ();
//ig     TQPtrList<KMultiTabBarButton>* buttons ();
    void                 showActiveTabTexts (bool = 1);

protected:
    virtual void         fontChange (const TQFont&);
    void                 updateSeparator ();

};  // class KMultiTabBar

%End


%If ( KDE_3_3_0 -  )

class KMultiTabBarButton : TQPushButton
{
%TypeHeaderCode
#include <kmultitabbar.h>
%End


public:
                         KMultiTabBarButton (const TQPixmap&, const TQString&, TQPopupMenu*, int, TQWidget*, KMultiTabBar::KMultiTabBarPosition, KMultiTabBar::KMultiTabBarStyle);
                         KMultiTabBarButton (const TQString&, TQPopupMenu*, int, TQWidget*, KMultiTabBar::KMultiTabBarPosition, KMultiTabBar::KMultiTabBarStyle);
    int                  id () const;

public slots:
    void                 setPosition (KMultiTabBar::KMultiTabBarPosition);
    void                 setStyle (KMultiTabBar::KMultiTabBarStyle);
    void                 setText (const TQString&);
    TQSize                sizeHint () const;

protected:
    virtual void         hideEvent (TQHideEvent*);
    virtual void         showEvent (TQShowEvent*);

signals:
    void                 clicked (int);

protected slots:
    virtual void         slotClicked ();

};  // class KMultiTabBarButton

%End


%If ( KDE_3_3_0 -  )

class KMultiTabBarTab : KMultiTabBarButton
{
%TypeHeaderCode
#include <kmultitabbar.h>
%End


public:
                         KMultiTabBarTab (const TQPixmap&, const TQString&, int, TQWidget*, KMultiTabBar::KMultiTabBarPosition, KMultiTabBar::KMultiTabBarStyle);
    void                 setState (bool);
    void                 showActiveTabText (bool);
    void                 resize ();

protected:
    void                 setSize (int);
    int                  neededSize ();
    void                 updateState ();
    virtual void         drawButton (TQPainter*);
    virtual void         drawButtonLabel (TQPainter*);
    void                 drawButtonStyled (TQPainter*);
    void                 drawButtonClassic (TQPainter*);

protected slots:
    virtual void         slotClicked ();
    void                 setTabsPosition (KMultiTabBar::KMultiTabBarPosition);

public slots:
    virtual void         setIcon (const TQString&);
    virtual void         setIcon (const TQPixmap&);

};  // class KMultiTabBarTab

%End

