ktabctl.h
00001 /* This file is part of the KDE libraries 00002 Copyright (C) 1997 Alexander Sanda (alex@darkstar.ping.at) 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 Boston, MA 02111-1307, USA. 00018 */ 00019 /* 00020 * $Id: ktabctl.h,v 1.13 2002/03/04 00:51:51 lunakl Exp $ 00021 * 00022 * $Log: ktabctl.h,v $ 00023 * Revision 1.13 2002/03/04 00:51:51 lunakl 00024 * Keep BC changes (the patch is almost 100KiB of boring stuff 00025 * ... anybody willing to review? ;) ). 00026 * 00027 * Revision 1.12 2001/09/22 19:53:58 mueller 00028 * fixes for QT_NO_COMPAT 00029 * 00030 * Revision 1.11 2000/06/15 06:35:12 kalle 00031 * Replaced #include "qtheader.h" with #include <qtheader.h> as it is supposed to be 00032 * 00033 * Revision 1.10 1999/10/10 08:18:57 bero 00034 * Code cleanup ((void) stuff) 00035 * 00036 * Revision 1.9 1999/06/16 07:47:46 kulow 00037 * fixing some misc warnings 00038 * in trader.cc I had to change getFirst() -> first(). Don't know why 00039 * 00040 * Revision 1.8 1999/05/08 12:47:59 ssk 00041 * Various documentation changes. 00042 * 00043 * Revision 1.7 1999/04/19 18:28:17 cschlaeg 00044 * sizeHint() added; showTab() now also selects the tab; paintEvent updated to 00045 * match Qt 2.0 style frame 00046 * 00047 * Revision 1.6 1999/03/01 23:35:19 kulow 00048 * CVS_SILENT ported to Qt 2.0 00049 */ 00050 00051 #ifndef KTABCTL_H 00052 #define KTABCTL_H 00053 00054 #include <qwidget.h> 00055 #include <qtabbar.h> 00056 #include <qmemarray.h> 00057 00074 class KTabCtl : public QWidget 00075 { 00076 Q_OBJECT 00077 00078 public: 00079 KTabCtl(QWidget *parent = 0, const char *name = 0); 00080 ~KTabCtl(); 00081 00082 void show(); 00083 void setFont(const QFont & font); 00084 void setTabFont( const QFont &font ); 00085 00086 void addTab(QWidget *, const QString&); 00087 bool isTabEnabled(const QString& ); 00088 void setTabEnabled(const QString&, bool); 00089 void setBorder(bool); 00090 void setShape( QTabBar::Shape shape ); 00091 virtual QSize sizeHint() const; 00092 00093 protected: 00094 void paintEvent(QPaintEvent *); 00095 void resizeEvent(QResizeEvent *); 00096 00097 signals: 00098 void tabSelected(int); 00099 00100 protected slots: 00101 void showTab(int i); 00102 00103 protected: 00104 void setSizes(); 00105 QRect getChildRect() const; 00106 00107 QTabBar * tabs; 00108 QMemArray<QWidget *> pages; 00109 int bh; 00110 bool blBorder; 00111 protected: 00112 virtual void virtual_hook( int id, void* data ); 00113 private: 00114 class KTabCtrlPrivate* d; 00115 }; 00116 #endif