tabwidget.h

00001 /* This file is part of the KDE libraries
00002    Copyright (C) 2004 Christoph Cullmann <cullmann@kde.org>
00003    Copyright (C) 2002,2003 Joseph Wenninger <jowenn@kde.org>
00004 
00005    This library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Library General Public
00007    License as published by the Free Software Foundation; either
00008    version 2 of the License, or (at your option) any later version.
00009 
00010    This library is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Library General Public License for more details.
00014 
00015    You should have received a copy of the GNU Library General Public License
00016    along with this library; see the file COPYING.LIB.  If not, write to
00017    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018    Boston, MA 02110-1301, USA.
00019 
00020    Based on:
00021 
00022    //----------------------------------------------------------------------------
00023    //    Project              : KDE MDI extension
00024    //
00025    //    begin                : 07/1999       by Szymon Stefanek as part of kvirc
00026    //                                         (an IRC application)
00027    //    changes              : 09/1999       by Falk Brettschneider to create an
00028    //                           - 06/2000     stand-alone Qt extension set of
00029    //                                         classes and a Qt-based library
00030    //                         : 02/2000       by Massimo Morin (mmorin@schedsys.com)
00031    //                           2000-2003     maintained by the KDevelop project
00032    //    patches              : -/2000        by Lars Beikirch (Lars.Beikirch@gmx.net)
00033    //                         : 01/2003       by Jens Zurheide (jens.zurheide@gmx.de)
00034    //
00035    //    copyright            : (C) 1999-2003 by Falk Brettschneider
00036    //                                         and
00037    //                                         Szymon Stefanek (stefanek@tin.it)
00038    //    email                :  falkbr@kdevelop.org (Falk Brettschneider)
00039    //----------------------------------------------------------------------------
00040 */
00041 
00042 #ifndef _KMDI_TABWIDGET_H_
00043 #define _KMDI_TABWIDGET_H_
00044 
00045 #include <ktabwidget.h>
00046 #include <kmdi/global.h>
00047 
00048 namespace KMDIPrivate
00049 {
00050   class TabWidgetPrivate;
00051 }
00052 
00053 namespace KMDI
00054 {
00055 
00056 class KMDI_EXPORT TabWidget : public KTabWidget
00057 {
00058   Q_OBJECT
00059 
00060   public:
00061     TabWidget(QWidget* parent, const char* name=0);
00062     virtual ~TabWidget();
00063 
00064     virtual void addTab ( QWidget * child, const QString & label );
00065 
00066     virtual void addTab ( QWidget * child, const QIconSet & iconset, const QString & label );
00067 
00068     virtual void addTab ( QWidget * child, QTab * tab );
00069 
00070     virtual void insertTab ( QWidget * child, const QString & label, int index = -1 );
00071 
00072     virtual void insertTab ( QWidget * child, const QIconSet & iconset, const QString & label, int index = -1 );
00073 
00074     virtual void insertTab ( QWidget * child, QTab * tab, int index = -1 );
00075 
00076     virtual void removePage ( QWidget * w );
00077 
00078     KMDI::TabWidgetVisibility tabWidgetVisibility() const;
00079 
00080     void setTabWidgetVisibility( KMDI::TabWidgetVisibility );
00081 
00082     bool eventFilter(QObject *obj, QEvent *e );
00083 
00084   private slots:
00085     void closeTab(QWidget* w);
00086 
00087   public slots:
00088     void updateIconInView(QWidget*,QPixmap);
00089     void updateCaptionInView(QWidget*,const QString&);
00090 
00091   signals:
00092     void focusInEvent ();
00093 
00094   protected slots:
00095    void childDestroyed ();
00096 
00097   private:
00098     void maybeShow();
00099     void setCornerWidgetVisibility(bool visible);
00100 
00101   private:
00102     KMDI::TabWidgetVisibility m_visibility;
00103 
00104   private:
00108     KMDIPrivate::TabWidgetPrivate *d;
00109 };
00110 
00111 }
00112 
00113 #endif
00114 
00115 // kate: space-indent on; indent-width 2; replace-tabs on;
KDE Home | KDE Accessibility Home | Description of Access Keys