kmdi Library API Documentation

kmdidocumentviewtabwidget.cpp

00001 //---------------------------------------------------------------------------- 00002 // 00003 // This program is free software; you can redistribute it and/or modify 00004 // it under the terms of the GNU Library General Public License as 00005 // published by the Free Software Foundation; either version 2 of the 00006 // License, or (at your option) any later version. 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
KDE Logo
This file is part of the documentation for kmdi Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Sep 29 09:42:03 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003