kmdidocumentviewtabwidget.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include <ktabbar.h>
00011 #include <kpopupmenu.h>
00012 #include "kmdidocumentviewtabwidget.h"
00013
00014 KMdiDocumentViewTabWidget::KMdiDocumentViewTabWidget(QWidget* parent, const char* name):KTabWidget(parent,name)
00015 {
00016 m_visibility = KMdi::ShowWhenMoreThanOneTab;
00017 tabBar()->hide();
00018 setHoverCloseButton(true);
00019 connect(this, SIGNAL(closeRequest(QWidget*)), this, SLOT(closeTab(QWidget*)));
00020 }
00021
00022 KMdiDocumentViewTabWidget::~KMdiDocumentViewTabWidget() {
00023 }
00024
00025 void KMdiDocumentViewTabWidget::closeTab(QWidget* w) {
00026 w->close();
00027 }
00028 void KMdiDocumentViewTabWidget::addTab ( QWidget * child, const QString & label ) {
00029 KTabWidget::addTab(child,label);
00030 showPage(child);
00031 maybeShow();
00032 }
00033
00034 void KMdiDocumentViewTabWidget::addTab ( QWidget * child, const QIconSet & iconset, const QString & label ) {
00035 KTabWidget::addTab(child,iconset,label);
00036 showPage(child);
00037 maybeShow();
00038 }
00039
00040 void KMdiDocumentViewTabWidget::addTab ( QWidget * child, QTab * tab ) {
00041 KTabWidget::addTab(child,tab);
00042 showPage(child);
00043 maybeShow();
00044 }
00045
00046 void KMdiDocumentViewTabWidget::insertTab ( QWidget * child, const QString & label, int index) {
00047 KTabWidget::insertTab(child,label,index);
00048 showPage(child);
00049 maybeShow();
00050 tabBar()->repaint();
00051 }
00052
00053 void KMdiDocumentViewTabWidget::insertTab ( QWidget * child, const QIconSet & iconset, const QString & label, int index ) {
00054 KTabWidget::insertTab(child,iconset,label,index);
00055 showPage(child);
00056 maybeShow();
00057 tabBar()->repaint();
00058 }
00059
00060 void KMdiDocumentViewTabWidget::insertTab ( QWidget * child, QTab * tab, int index) {
00061 KTabWidget::insertTab(child,tab,index);
00062 showPage(child);
00063 maybeShow();
00064 tabBar()->repaint();
00065 }
00066
00067 void KMdiDocumentViewTabWidget::removePage ( QWidget * w ) {
00068 KTabWidget::removePage(w);
00069 maybeShow();
00070 }
00071
00072 void KMdiDocumentViewTabWidget::updateIconInView( QWidget *w, QPixmap icon )
00073 {
00074 changeTab(w,icon,tabLabel(w));
00075 }
00076
00077 void KMdiDocumentViewTabWidget::updateCaptionInView( QWidget *w, const QString &caption )
00078 {
00079 changeTab(w, caption);
00080 }
00081
00082 void KMdiDocumentViewTabWidget::maybeShow()
00083 {
00084 if ( m_visibility == KMdi::AlwaysShowTabs )
00085 {
00086 tabBar()->show();
00087 if (cornerWidget())
00088 {
00089 if (count() == 0)
00090 cornerWidget()->hide();
00091 else
00092 cornerWidget()->show();
00093 }
00094 }
00095
00096 if ( m_visibility == KMdi::ShowWhenMoreThanOneTab )
00097 {
00098 if (count()<2) tabBar()->hide();
00099 if (count()>1) tabBar()->show();
00100 if (cornerWidget())
00101 {
00102 if (count() < 2)
00103 cornerWidget()->hide();
00104 else
00105 cornerWidget()->show();
00106 }
00107 }
00108
00109 if ( m_visibility == KMdi::NeverShowTabs )
00110 {
00111 tabBar()->hide();
00112 }
00113 }
00114
00115 void KMdiDocumentViewTabWidget::setTabWidgetVisibility( KMdi::TabWidgetVisibility visibility )
00116 {
00117 m_visibility = visibility;
00118 maybeShow();
00119 }
00120
00121 KMdi::TabWidgetVisibility KMdiDocumentViewTabWidget::tabWidgetVisibility( )
00122 {
00123 return m_visibility;
00124 }
00125
00126 #ifndef NO_INCLUDE_MOCFILES
00127 #include "kmdidocumentviewtabwidget.moc"
00128 #endif
This file is part of the documentation for kmdi Library Version 3.3.1.