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.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Jul 22 10:18:15 2005 by doxygen 1.3.6 written by Dimitri van Heesch, © 1997-2003