diff options
Diffstat (limited to 'experimental/tqtinterface/qt4/src/widgets/tqtoolbox.h')
-rw-r--r-- | experimental/tqtinterface/qt4/src/widgets/tqtoolbox.h | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/experimental/tqtinterface/qt4/src/widgets/tqtoolbox.h b/experimental/tqtinterface/qt4/src/widgets/tqtoolbox.h new file mode 100644 index 000000000..0ca8c38c2 --- /dev/null +++ b/experimental/tqtinterface/qt4/src/widgets/tqtoolbox.h @@ -0,0 +1,161 @@ +/**************************************************************************** +** +** Definition of TQToolBox widget class +** +** Created : 961105 +** +** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA. +** +** This file is part of the widgets module of the TQt GUI Toolkit. +** +** This file may be used under the terms of the GNU General +** Public License versions 2.0 or 3.0 as published by the Free +** Software Foundation and appearing in the files LICENSE.GPL2 +** and LICENSE.GPL3 included in the packaging of this file. +** Alternatively you may (at your option) use any later version +** of the GNU General Public License if such license has been +** publicly approved by Trolltech ASA (or its successors, if any) +** and the KDE Free TQt Foundation. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. +** If you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** This file may be used under the terms of the Q Public License as +** defined by Trolltech ASA and appearing in the file LICENSE.TQPL +** included in the packaging of this file. Licensees holding valid TQt +** Commercial licenses may use this file in accordance with the TQt +** Commercial License Agreement provided with the Software. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted +** herein. +** +**********************************************************************/ + +#ifndef TQTOOLBOX_H +#define TQTOOLBOX_H + +#ifndef TQT_H +#include <tqframe.h> +#include <tqiconset.h> +#include <tqbutton.h> +#endif // TQT_H + +#ifndef TQT_NO_TOOLBOX + +class TQToolBoxPrivate; +class TQWidgetList; + +class TQ_EXPORT TQToolBox : public TQFrame +{ + Q_OBJECT + TQ_OBJECT + Q_PROPERTY( int currentIndex READ currentIndex WRITE setCurrentIndex ) + Q_PROPERTY( int count READ count ) + +public: + TQToolBox( TQWidget *tqparent = 0, const char *name = 0, WFlags f = 0 ); + ~TQToolBox(); + + int addItem( TQWidget *item, const TQString &label ); + int addItem( TQWidget *item, const TQIconSet &iconSet, const TQString &label ); + int insertItem( int index, TQWidget *item, const TQString &label ); + int insertItem( int index, TQWidget *item, const TQIconSet &iconSet, const TQString &label ); + + int removeItem( TQWidget *item ); + + void setItemEnabled( int index, bool enabled ); + bool isItemEnabled( int index ) const; + + void setItemLabel( int index, const TQString &label ); + TQString itemLabel( int index ) const; + + void setItemIconSet( int index, const TQIconSet &iconSet ); + TQIconSet itemIconSet( int index ) const; + + void setItemToolTip( int index, const TQString &toolTip ); + TQString itemToolTip( int index ) const; + + TQWidget *currentItem() const; + void setCurrentItem( TQWidget *item ); + + int currentIndex() const; + TQWidget *item( int index ) const; + int indexOf( TQWidget *item ) const; + int count() const; + +public Q_SLOTS: + void setCurrentIndex( int index ); + +Q_SIGNALS: + void currentChanged( int index ); + +private Q_SLOTS: + void buttonClicked(); + void itemDestroyed(TQObject*); + +protected: + virtual void itemInserted( int index ); + virtual void itemRemoved( int index ); + void showEvent( TQShowEvent *e ); + void frameChanged(); + void styleChange(TQStyle&); + +private: + void retqlayout(); + +private: + TQToolBoxPrivate *d; + +}; + + +inline int TQToolBox::addItem( TQWidget *item, const TQString &label ) +{ return insertItem( -1, item, TQIconSet(), label ); } +inline int TQToolBox::addItem( TQWidget *item, const TQIconSet &iconSet, + const TQString &label ) +{ return insertItem( -1, item, iconSet, label ); } +inline int TQToolBox::insertItem( int index, TQWidget *item, const TQString &label ) +{ return insertItem( index, item, TQIconSet(), label ); } + +// Private-ish + +class TQToolBoxButton : public TQButton +{ + Q_OBJECT + TQ_OBJECT +public: + TQToolBoxButton( TQWidget *tqparent, const char *name ) + : TQButton( tqparent, name ), selected( FALSE ) + { + setBackgroundMode(TQt::PaletteBackground); + tqsetSizePolicy(TQSizePolicy::Preferred, TQSizePolicy::Minimum); + setFocusPolicy(Qt::NoFocus); + } + + inline void setSelected( bool b ) { selected = b; update(); } + inline void setTextLabel( const TQString &text ) { label = text; update(); } + inline TQString textLabel() const { return label; } + inline void setIconSet( const TQIconSet &is ) { icon = is; update(); } + inline TQIconSet iconSet() const { return icon; } + + TQSize tqsizeHint() const; + TQSize tqminimumSizeHint() const; + +protected: + void drawButton( TQPainter * ); + +private: + bool selected; + TQString label; + TQIconSet icon; +}; + +#endif // TQT_NO_TOOLBOX +#endif |