ktabbar.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KTABBAR_H
00022 #define KTABBAR_H
00023
00024 #include <qtabbar.h>
00025
00026 class QTimer;
00027 class QPushButton;
00028 class KTabBarPrivate;
00029
00033 class KTabBar: public QTabBar
00034 {
00035 Q_OBJECT
00036
00037 public:
00038 KTabBar( QWidget* parent=0, const char* name=0 );
00039 virtual ~KTabBar();
00040
00041 virtual void setTabEnabled( int, bool );
00042
00043 const QColor &tabColor( int ) const;
00044 void setTabColor( int, const QColor& );
00045 virtual void removeTab( QTab * );
00046
00047 void setTabReorderingEnabled( bool enable );
00048 bool isTabReorderingEnabled() const;
00049
00050 void setHoverCloseButton( bool );
00051 bool hoverCloseButton() const;
00052
00053 void setHoverCloseButtonDelayed( bool );
00054 bool hoverCloseButtonDelayed() const;
00055
00056 signals:
00057 void contextMenu( int, const QPoint & );
00058 void mouseDoubleClick( int );
00059 void mouseMiddleClick( int );
00060 void initiateDrag( int );
00061 void testCanDecode(const QDragMoveEvent *e, bool &accept );
00062 void receivedDropEvent( int, QDropEvent * );
00063 void moveTab( int, int );
00064 void closeRequest( int );
00065
00066 protected:
00067 virtual void mouseDoubleClickEvent( QMouseEvent *e );
00068 virtual void mousePressEvent( QMouseEvent *e );
00069 virtual void mouseMoveEvent( QMouseEvent *e );
00070 virtual void mouseReleaseEvent( QMouseEvent *e );
00071
00072 virtual void dragMoveEvent( QDragMoveEvent *e );
00073 virtual void dropEvent( QDropEvent *e );
00074
00075 virtual void paintLabel( QPainter*, const QRect&, QTab*, bool ) const;
00076
00077 protected slots:
00078 virtual void closeButtonClicked();
00079 virtual void onLayoutChange();
00080 virtual void enableCloseButton();
00081 virtual void activateDragSwitchTab();
00082
00083 private:
00084 QPoint mDragStart;
00085 int mReorderStartTab;
00086 int mReorderPreviousTab;
00087 QMap<int, QColor> mTabColors;
00088 QTab *mHoverCloseButtonTab, *mDragSwitchTab;
00089 QPushButton *mHoverCloseButton;
00090 QTimer *mEnableCloseButtonTimer, *mActivateDragSwitchTabTimer;
00091
00092 bool mHoverCloseButtonEnabled;
00093 bool mHoverCloseButtonDelayed;
00094 bool mTabReorderingEnabled;
00095
00096 KTabBarPrivate * d;
00097 };
00098
00099 #endif
This file is part of the documentation for kdeui Library Version 3.2.3.