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
00046 virtual int insertTab( QTab *, int index = -1 );
00047 virtual void removeTab( QTab * );
00048
00049 void setTabReorderingEnabled( bool enable );
00050 bool isTabReorderingEnabled() const;
00051
00052 void setHoverCloseButton( bool );
00053 bool hoverCloseButton() const;
00054
00055 void setHoverCloseButtonDelayed( bool );
00056 bool hoverCloseButtonDelayed() const;
00057
00058 void setTabCloseActivatePrevious( bool );
00059 bool tabCloseActivatePrevious() const;
00060
00061 signals:
00062 void contextMenu( int, const QPoint & );
00063 void mouseDoubleClick( int );
00064 void mouseMiddleClick( int );
00065 void initiateDrag( int );
00066 void testCanDecode(const QDragMoveEvent *e, bool &accept );
00067 void receivedDropEvent( int, QDropEvent * );
00068 void moveTab( int, int );
00069 void closeRequest( int );
00070 #ifndef QT_NO_WHEELEVENT
00071 void wheelDelta( int );
00072 #endif
00073
00074 protected:
00075 virtual void mouseDoubleClickEvent( QMouseEvent *e );
00076 virtual void mousePressEvent( QMouseEvent *e );
00077 virtual void mouseMoveEvent( QMouseEvent *e );
00078 virtual void mouseReleaseEvent( QMouseEvent *e );
00079 #ifndef QT_NO_WHEELEVENT
00080 virtual void wheelEvent( QWheelEvent *e );
00081 #endif
00082
00083 virtual void dragMoveEvent( QDragMoveEvent *e );
00084 virtual void dropEvent( QDropEvent *e );
00085
00086 virtual void paintLabel( QPainter*, const QRect&, QTab*, bool ) const;
00087
00088 protected slots:
00089 virtual void closeButtonClicked();
00090 virtual void onLayoutChange();
00091 virtual void enableCloseButton();
00092 virtual void activateDragSwitchTab();
00093
00094 private:
00095 QPoint mDragStart;
00096 int mReorderStartTab;
00097 int mReorderPreviousTab;
00098 QMap<int, QColor> mTabColors;
00099 QTab *mHoverCloseButtonTab, *mDragSwitchTab;
00100 QPushButton *mHoverCloseButton;
00101 QTimer *mEnableCloseButtonTimer, *mActivateDragSwitchTabTimer;
00102
00103 bool mHoverCloseButtonEnabled;
00104 bool mHoverCloseButtonDelayed;
00105 bool mTabReorderingEnabled;
00106 bool mTabCloseActivatePrevious;
00107
00108 KTabBarPrivate * d;
00109 };
00110
00111 #endif
This file is part of the documentation for kdeui Library Version 3.3.1.