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


//                 Generated by preSip
//            module kdeui  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.


class KToolBarSeparator : QFrame
{
%TypeHeaderCode
#include <ktoolbar.h>
%End


public:
                         KToolBarSeparator (Orientation, bool, QToolBar* /TransferThis/, const char* = 0);
    QSize                sizeHint () const;
    Orientation          orientation () const;
    QSizePolicy          sizePolicy () const;
    bool                 showLine () const;

public slots:
    void                 setOrientation (Orientation);

protected:
    void                 styleChange (QStyle&);

%If ( KDE_3_2_0 -  )
    void                 drawContents (QPainter*);
%End


};  // class KToolBarSeparator


class KToolBar : QToolBar
{
%TypeHeaderCode
#include <ktoolbar.h>
%End


public:

    enum IconText
    {
        IconOnly, 
        IconTextRight, 
        TextOnly, 
        IconTextBottom
    };


    enum BarStatus
    {
        Toggle, 
        Show, 
        Hide
    };


    enum BarPosition
    {
        Unmanaged, 
        Floating, 
        Top, 
        Bottom, 
        Right, 
        Left, 
        Flat
    };

                         KToolBar (QWidget* /TransferThis/, const char* = 0, bool = 0, bool = 1);
//ig                          KToolBar (QMainWindow*, QMainWindow::ToolBarDock, bool = 0, const char* = 0, bool = 0, bool = 1);
                         KToolBar (QMainWindow*, QWidget*, bool = 0, const char* = 0, bool = 0, bool = 1);
    int                  insertButton (const QString&, int, bool = 1, const QString& = QString ::null , int = -1, KInstance* = KGlobal ::instance ());
    int                  insertButton (const QString&, int, const char*, SIP_RXOBJ_CON, SIP_SLOT_CON (int), bool = 1, const QString& = QString ::null , int = -1, KInstance* = KGlobal ::instance ());
    int                  insertButton (const QPixmap&, int, bool = 1, const QString& = QString ::null , int = -1);
    int                  insertButton (const QPixmap&, int, const char*, SIP_RXOBJ_CON, SIP_SLOT_CON (int), bool = 1, const QString& = QString ::null , int = -1);
    int                  insertButton (const QString&, int, QPopupMenu*, bool, const QString&, int = -1);
    int                  insertButton (const QPixmap&, int, QPopupMenu*, bool, const QString&, int = -1);
    int                  insertLined (const QString&, int, const char*, SIP_RXOBJ_CON, SIP_SLOT_CON (int), bool = 1, const QString& = QString ::null , int = 70, int = -1);
    int                  insertCombo (const QStringList&, int, bool, const char*, SIP_RXOBJ_CON, SIP_SLOT_CON (int), bool = 1, const QString& = QString ::null , int = 70, int = -1, QComboBox::Policy = QComboBox ::AtBottom );

%If ( KDE_3_2_0 -  )
    int                  insertCombo (const QString&, int, bool, const char*, SIP_RXOBJ_CON, SIP_SLOT_CON (), bool = 1, const QString& = QString ::null , int = 70, int = -1, QComboBox::Policy = QComboBox ::AtBottom );
%End

    int                  insertSeparator (int, int);
    int                  insertLineSeparator (int, int);
    int                  insertWidget (int, int, QWidget*, int = -1);
    int                  insertAnimatedWidget (int, SIP_RXOBJ_CON, SIP_SLOT_CON (int), const QString&, int = -1);
    KAnimWidget*         animatedWidget (int);
    void                 addConnection (int, const char*, SIP_RXOBJ_CON, SIP_SLOT_CON (int));
    void                 setItemEnabled (int, bool);
    void                 setButtonIcon (int, const QString&);
    void                 setButtonPixmap (int, const QPixmap&);
    void                 setButtonIconSet (int, const QIconSet&);
    void                 setDelayedPopup (int, QPopupMenu*, bool = 0);
    void                 setAutoRepeat (int, bool = 1);
    void                 setToggle (int, bool = 1);
    void                 toggleButton (int);
    void                 setButton (int, bool);
    bool                 isButtonOn (int);
    void                 setLinedText (int, const QString&);
    QString              getLinedText (int);
    void                 insertComboItem (int, const QString&, int);
    void                 insertComboList (int, const QStringList&, int);
    void                 removeComboItem (int, int);
    void                 setCurrentComboItem (int, int);
    void                 changeComboItem (int, const QString&, int = -1);
    void                 clearCombo (int);
    QString              getComboItem (int, int = -1);
    KComboBox*           getCombo (int);
    KLineEdit*           getLined (int);
    KToolBarButton*      getButton (int);
    void                 alignItemRight (int, bool = 1);
    QWidget*             getWidget (int);
    void                 setItemAutoSized (int, bool = 1);
    void                 clear ();
    void                 removeItem (int);

%If ( KDE_3_2_0 -  )
    void                 removeItemDelayed (int);
%End

    void                 hideItem (int);
    void                 showItem (int);

%If ( KDE_3_2_0 -  )
    int                  itemIndex (int);
    int                  idAt (int);
%End

    void                 setFullSize (bool = 1);
    bool                 fullSize () const;
    void                 enableMoving (bool = 1);
    void                 setBarPos (KToolBar::BarPosition);
    BarPosition          barPos () const;
    bool                 enable (KToolBar::BarStatus);
    void                 setMaxHeight (int);
    int                  maxHeight ();
    void                 setMaxWidth (int);
    int                  maxWidth ();
    void                 setTitle (const QString&);
    void                 enableFloating (bool);
    void                 setIconText (KToolBar::IconText);
    void                 setIconText (KToolBar::IconText, bool);
    IconText             iconText () const;
    void                 setIconSize (int);
    void                 setIconSize (int, bool);
    int                  iconSize () const;

%If ( KDE_3_4_0 -  )
    int                  iconSizeDefault () const;
%End

    void                 setEnableContextMenu (bool = 1);
    bool                 contextMenuEnabled () const;
    void                 setItemNoStyle (int, bool = 1);
    void                 setFlat (bool);
    int                  count ();
    void                 saveState ();
    void                 saveSettings (KConfig*, const QString&);

%If ( KDE_3_3_0 -  )
    void                 applySettings (KConfig*, const QString&, bool);
%End

    void                 applySettings (KConfig*, const QString&);
    void                 setXMLGUIClient (KXMLGUIClient*);
    void                 setText (const QString&);
    QString              text () const;
    void                 setStretchableWidget (QWidget*);
    QSizePolicy          sizePolicy () const;
    bool                 highlight () const;
    QSize                sizeHint () const;
    QSize                minimumSizeHint () const;
    QSize                minimumSize () const;
    void                 hide ();
    void                 show ();
    void                 updateRects (bool = 0);
    void                 loadState (const QDomElement&);
    void                 saveState (QDomElement&);
    void                 positionYourself (bool);

signals:
    void                 clicked (int);
    void                 doubleClicked (int);
    void                 pressed (int);
    void                 released (int);
    void                 toggled (int);
    void                 highlighted (int, bool);
    void                 highlighted (int);
    void                 moved (KToolBar::BarPosition);
    void                 modechange ();

%If ( KDE_3_1_0 -  )
    void                 toolbarDestroyed ();
%End


public:

%If ( KDE_3_1_0 -  )
    static bool          highlightSetting ();
    static bool          transparentSetting ();
    static KToolBar::IconText iconTextSetting ();
%End


public slots:
    virtual void         setIconText (const QString&);

protected:
    void                 mousePressEvent (QMouseEvent*);
    void                 childEvent (QChildEvent*);
    void                 showEvent (QShowEvent*);
    void                 resizeEvent (QResizeEvent*);
    bool                 event (QEvent*);
    void                 applyAppearanceSettings (KConfig*, const QString&, bool = 0);
    QString              settingsGroup () const;

protected:
//igx     virtual void         virtual_hook (int, void*);

public:

%If (  - KDE_3_2_0 )
    int                  insertCombo (const QString&, int, bool, const char*, QObject*, const char*, bool = 1, const QString& = QString ::null , int = 70, int = -1, QComboBox::Policy = QComboBox ::AtBottom );
%End


signals:

%If (  - KDE_3_1_0 )
//ig     static bool          highlightSetting ();
//ig     static bool          transparentSetting ();
//ig     static IconText      iconTextSetting ();
%End


};  // class KToolBar

