// Copyright 2008 Simon Edwards <simon@simonzone.com>

//                 Generated by twine

// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU Library General Public License as
// published by the Free Software Foundation; either version 2, or
// (at your option) any later version.

// This program 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 Library General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

namespace Plasma
{

class TabBar : QGraphicsWidget
{
%TypeHeaderCode
#include <plasma/widgets/tabbar.h>
%End

public:
    explicit                TabBar (QGraphicsWidget* parent /TransferThis/ = 0);
    int                     insertTab (int index, const QIcon& icon, const QString& label, QGraphicsLayoutItem* content = 0);
    int                     insertTab (int index, const QString& label, QGraphicsLayoutItem* content = 0);
    int                     addTab (const QIcon& icon, const QString& label, QGraphicsLayoutItem* content = 0);
    int                     addTab (const QString& label, QGraphicsLayoutItem* content = 0);
    void                    removeTab (int index);
    int                     currentIndex () const;
    int                     count () const;
    void                    setTabText (int index, const QString& label);
    QString                 tabText (int index) const;
    void                    setTabIcon (int index, const QIcon& icon);
    QIcon                   tabIcon (int index) const;
    void                    setTabBarShown (bool show);
    bool                    isTabBarShown () const;
    void                    setStyleSheet (const QString& stylesheet);
    QString                 styleSheet () const;
    KTabBar*                nativeWidget () const;
    void                    setCurrentIndex (int index);

signals:
    void                    currentChanged (int index);

protected:
    void                    wheelEvent (QGraphicsSceneWheelEvent* event);
    void                    resizeEvent (QGraphicsSceneResizeEvent* event);
public:
    ~TabBar ();
    QGraphicsLayoutItem*    takeTab (int index);
    QGraphicsLayoutItem*    tabAt (int index);
protected:
    void                    changeEvent (QEvent* event);
public:
    void                    setFirstPositionWidget (QGraphicsWidget* widget);
    QGraphicsWidget*        firstPositionWidget () const;
    void                    setLastPositionWidget (QGraphicsWidget* widget);
    QGraphicsWidget*        lastPositionWidget () const;
    void                    setTabHighlighted (int index, bool highlight);
    bool                    isTabHighlighted (int index) const;
};
// TabBar

};
// Plasma


