Updated translations.
[kdbg.git] / STabCtl / stabctl.h
bloba90476547d8ce6f8008d016b5120e449ea0f51ac
1 /***************************************************************************
2 STabCtl part of KDEStudio
3 -------------------
4 copyright : (C) 1999 by Judin Maximus
5 email : novaprint@mtu-net.ru
6 ***************************************************************************/
8 #ifndef STABCTL_H
9 #define STABCTL_H
11 #include <qwidget.h>
12 #include <qlist.h>
14 #include "stabbar.h"
16 struct TabCtlData
18 TabCtlData( QWidget* _widget, int _id )
20 widget = _widget;
21 id = _id;
22 enabled = true;
24 ~TabCtlData(){;}
26 QWidget* widget;
27 int id;
28 bool enabled;
31 class STabCtl : public QWidget
32 { Q_OBJECT
33 public:
35 STabCtl( QWidget *parent = 0, const char *name = 0 );
36 ~STabCtl();
38 void setTabPos( STabBar::TabPos );
39 STabBar::TabPos getTabPos(){ return tabPos; }
41 int insertPage( QWidget *, const QString &label, int id = -1 );
43 /***********************************************************************/
44 void setPageCaption( int id, const QString &caption ){ setPageCaption( page(id), caption ); }
45 void setPageCaption( QWidget*, const QString & );
47 QString pageCaption( int id ){ return pageCaption( page(id) ); }
48 QString pageCaption( QWidget* );
49 /***********************************************************************/
50 void setPixmap( int id, const QPixmap &pix ){ setPixmap( page(id), pix ); }
51 void setPixmap( QWidget* , const QPixmap &pix );
53 /***********************************************************************/
54 void setTabTextColor( int id, const QColor &color ){ setTabTextColor( page(id), color ); }
55 void setTabTextColor( QWidget*, const QColor &color );
57 const QColor& tabTextColor( int id ){ return tabTextColor( page(id) ); }
58 const QColor& tabTextColor( QWidget* );
59 /***********************************************************************/
60 bool isPageEnabled( int id ){ return isPageEnabled( page(id) ); }
61 bool isPageEnabled( QWidget* );
63 void setPageEnabled( int id, bool enabled ){ setPageEnabled( page(id), enabled ); }
64 void setPageEnabled( QWidget*, bool );
65 /***********************************************************************/
67 QWidget* page( int );
68 int id( QWidget* );
70 void removePage( QWidget* );
71 void removePage( int id ){ removePage( page(id) ); }
73 QWidget* visiblePage();
74 int visiblePageId(){ return id( visiblePage() ); }
76 void setVisiblePage( QWidget*, bool allowDisable = false );
78 void setTabFont( const QFont &font );
79 QFont tabFont();
81 void showTabIcon( bool );
82 bool isShowTabIcon();
84 int pageCount(){ return mainData->count(); }
85 QWidget* getFirstPage();
86 QWidget* getLastPage();
87 QWidget* getNextPage( QWidget* );
88 QWidget* getPrevPage( QWidget* );
90 virtual void show();
92 public slots:
93 virtual void setEnabled( bool );
94 void setVisiblePage(int id){ setVisiblePage( page(id) ); }
96 protected:
97 void paintEvent(QPaintEvent *);
98 void resizeEvent(QResizeEvent *);
100 signals:
101 void aboutToShow( QWidget* );
102 void pageSelected( QWidget* );
103 void tabShowPopup( int, QPoint );
105 protected slots:
106 void rightButtonPress( int, QPoint );
108 private:
109 TabCtlData* findData( QWidget* );
110 TabCtlData* findData( int id );
111 void showPage( QWidget*, bool allowDisable = false );
112 QRect getChildRect() const;
114 QList<TabCtlData> *mainData;
115 QWidget* currentPage;
116 STabBar* tabs;
117 STabBar::TabPos tabPos;
120 #endif