Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef QXTTABWIDGET_H
00026 #define QXTTABWIDGET_H
00027
00028 #include <QTabWidget>
00029 #include "qxtnamespace.h"
00030 #include "qxtglobal.h"
00031 #include "qxtpimpl.h"
00032
00033 class QxtTabBar;
00034 class QxtTabWidgetPrivate;
00035
00036 class QXT_GUI_EXPORT QxtTabWidget : public QTabWidget
00037 {
00038 Q_OBJECT
00039 QXT_DECLARE_PRIVATE(QxtTabWidget);
00040 Q_PROPERTY(bool alwaysShowTabBar READ alwaysShowTabBar WRITE setAlwaysShowTabBar)
00041 Q_PROPERTY(Qt::ContextMenuPolicy tabContextMenuPolicy READ tabContextMenuPolicy WRITE setTabContextMenuPolicy)
00042 Q_PROPERTY(TabMovementMode tabMovementMode READ tabMovementMode WRITE setTabMovementMode)
00043
00044 public:
00045 explicit QxtTabWidget(QWidget* parent = 0);
00046 virtual ~QxtTabWidget();
00047
00048 bool alwaysShowTabBar() const;
00049 void setAlwaysShowTabBar(bool always);
00050
00051 Qt::ContextMenuPolicy tabContextMenuPolicy() const;
00052 void setTabContextMenuPolicy(Qt::ContextMenuPolicy policy);
00053
00054 enum TabMovementMode
00055 {
00056 NoMovement,
00057 InPlaceMovement,
00058 DragDropMovement
00059 };
00060
00061 TabMovementMode tabMovementMode() const;
00062 void setTabMovementMode(TabMovementMode mode);
00063
00064 void addTabAction(int index, QAction* action);
00065 QAction* addTabAction(int index, const QString& text);
00066 QAction* addTabAction(int index, const QIcon& icon, const QString& text);
00067 QAction* addTabAction(int index, const QString& text, const QObject* receiver, const char* member, const QKeySequence& shortcut = 0);
00068 QAction* addTabAction(int index, const QIcon& icon, const QString& text, const QObject* receiver, const char* member, const QKeySequence& shortcut = 0);
00069 void addTabActions(int index, QList<QAction*> actions);
00070 void clearTabActions(int index);
00071 void insertTabAction(int index, QAction* before, QAction* action);
00072 void insertTabActions(int index, QAction* before, QList<QAction*> actions);
00073 void removeTabAction(int index, QAction* action);
00074 QList<QAction*> tabActions(int index) const;
00075
00076 QMovie* tabAnimation(int index) const;
00077 void setTabAnimation(int index, QMovie* animation, bool start = true);
00078 void setTabAnimation(int index, const QString& fileName, bool start = true);
00079 QMovie* takeTabAnimation(int index);
00080
00081 Q_SIGNALS:
00082 void tabContextMenuRequested(int index, const QPoint& globalPos);
00083
00084 protected:
00085 QxtTabBar* tabBar() const;
00086
00087 virtual void tabInserted(int index);
00088 virtual void tabRemoved(int index);
00089
00090 virtual void contextMenuEvent(QContextMenuEvent* event);
00091 virtual void tabContextMenuEvent(int index, QContextMenuEvent* event);
00092 };
00093
00094 #endif // QXTTABWIDGET_H