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.0.