diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 (patch) | |
tree | 5ac38a06f3dde268dc7927dc155896926aaf7012 /kmdi/kmdidocumentviewtabwidget.h | |
download | tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.tar.gz tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kmdi/kmdidocumentviewtabwidget.h')
-rw-r--r-- | kmdi/kmdidocumentviewtabwidget.h | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/kmdi/kmdidocumentviewtabwidget.h b/kmdi/kmdidocumentviewtabwidget.h new file mode 100644 index 000000000..ce7ea5e88 --- /dev/null +++ b/kmdi/kmdidocumentviewtabwidget.h @@ -0,0 +1,125 @@ +//---------------------------------------------------------------------------- +// +// 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 of the +// License, or (at your option) any later version. +// +//---------------------------------------------------------------------------- + +#ifndef _KMDI_DOCUMENT_VIEW_TAB_WIDGET_H_ +#define _KMDI_DOCUMENT_VIEW_TAB_WIDGET_H_ + +#include <ktabwidget.h> +#include <kmdidefines.h> + +class KPopupMenu; + +//KDE4: Add a d pointer +/** + * A reimplementation of KTabWidget for KMDI + */ +class KMDI_EXPORT KMdiDocumentViewTabWidget: + public KTabWidget +{ + Q_OBJECT +public: + KMdiDocumentViewTabWidget( QWidget* parent, const char* name = 0 ); + ~KMdiDocumentViewTabWidget(); + + /** + * Add a tab into the tabwidget + * \sa QTabWidget + * \sa KTabWidget + */ + virtual void addTab ( QWidget * child, const QString & label ); + + /** + * Add a tab into the tabwidget + * \sa QTabWidget + * \sa KTabWidget + */ + virtual void addTab ( QWidget * child, const QIconSet & iconset, const QString & label ); + + /** + * Add a tab into the tabwidget + * \sa QTabWidget + * \sa KTabWidget + */ + virtual void addTab ( QWidget * child, QTab * tab ); + + /** + * Insert a tab into the tabwidget with a label + * \sa QTabWidget + * \sa KTabWidget + */ + virtual void insertTab ( QWidget * child, const QString & label, int index = -1 ); + + /** + * Inserts a tab into the tabwidget with an icon and label + * \sa QTabWidget + * \sa KTabWidget + */ + virtual void insertTab ( QWidget * child, const QIconSet & iconset, const QString & label, int index = -1 ); + + /** + * Inserts a tab into the tabwidget + * \sa QTabWidget + * \sa KTabWidget + */ + virtual void insertTab ( QWidget * child, QTab * tab, int index = -1 ); + + /** + * Removes the tab from the tabwidget + * \sa QTabWidget + * \sa KTabWidget + */ + virtual void removePage ( QWidget * w ); + + /** + * Set the tab widget's visibility and then make the change + * to match the new setting + */ + KMdi::TabWidgetVisibility tabWidgetVisibility(); + + /** Get the tab widget's visibility */ + void setTabWidgetVisibility( KMdi::TabWidgetVisibility ); + +private slots: + + /** Close the tab specified by w */ + void closeTab( QWidget* w ); + + /** Moves a tab. Reimplemented for internal reasons. */ + void moveTab( int from, int to ); + +public slots: + + /** Change the icon for the tab */ + void updateIconInView( QWidget*, QPixmap ); + + /** Change the caption for the tab */ + void updateCaptionInView( QWidget*, const QString& ); + +private slots: + + /** + * Determine whether or not we should show the tab bar + * The tab bar is hidden if it's determined that it should be hidden + * and shown if it's determined that it should be shown + */ + void maybeShow(); + +private: + + KMdi::TabWidgetVisibility m_visibility; + +signals: + void initiateTabMove(int, int); +}; + + + +#endif +// kate: space-indent off; tab-width 4; replace-tabs off; indent-mode csands; + |