• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdemdi
 

tdemdi

tdemdidocumentviewtabwidget.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 <tqtimer.h>
00011 
00012 #include <ktabbar.h>
00013 #include <tdepopupmenu.h>
00014 #include "tdemdidocumentviewtabwidget.h"
00015 
00016 KMdiDocumentViewTabWidget::KMdiDocumentViewTabWidget( TQWidget* parent, const char* name ) : KTabWidget( parent, name )
00017 {
00018     m_visibility = KMdi::ShowWhenMoreThanOneTab;
00019     tabBar() ->hide();
00020     setHoverCloseButton( true );
00021     connect( this, TQT_SIGNAL( closeRequest( TQWidget* ) ), this, TQT_SLOT( closeTab( TQWidget* ) ) );
00022 }
00023 
00024 KMdiDocumentViewTabWidget::~KMdiDocumentViewTabWidget()
00025 {}
00026 
00027 void KMdiDocumentViewTabWidget::closeTab( TQWidget* w )
00028 {
00029     w->close();
00030 }
00031 void KMdiDocumentViewTabWidget::addTab ( TQWidget * child, const TQString & label )
00032 {
00033     KTabWidget::addTab( child, label );
00034     showPage( child );
00035     TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
00036 }
00037 
00038 void KMdiDocumentViewTabWidget::addTab ( TQWidget * child, const TQIconSet & iconset, const TQString & label )
00039 {
00040     KTabWidget::addTab( child, iconset, label );
00041     showPage( child );
00042     TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
00043 }
00044 
00045 void KMdiDocumentViewTabWidget::addTab ( TQWidget * child, TQTab * tab )
00046 {
00047     KTabWidget::addTab( child, tab );
00048     showPage( child );
00049     TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
00050 }
00051 
00052 void KMdiDocumentViewTabWidget::insertTab ( TQWidget * child, const TQString & label, int index )
00053 {
00054     KTabWidget::insertTab( child, label, index );
00055     showPage( child );
00056     TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
00057     tabBar() ->repaint();
00058 }
00059 
00060 void KMdiDocumentViewTabWidget::insertTab ( TQWidget * child, const TQIconSet & iconset, const TQString & label, int index )
00061 {
00062     KTabWidget::insertTab( child, iconset, label, index );
00063     showPage( child );
00064     TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
00065     tabBar() ->repaint();
00066 }
00067 
00068 void KMdiDocumentViewTabWidget::insertTab ( TQWidget * child, TQTab * tab, int index )
00069 {
00070     KTabWidget::insertTab( child, tab, index );
00071     showPage( child );
00072     TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
00073     tabBar() ->repaint();
00074 }
00075 
00076 void KMdiDocumentViewTabWidget::removePage ( TQWidget * w )
00077 {
00078     KTabWidget::removePage( w );
00079     TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
00080 }
00081 
00082 void KMdiDocumentViewTabWidget::updateIconInView( TQWidget *w, TQPixmap icon )
00083 {
00084     changeTab( w, icon, tabLabel( w ) );
00085 }
00086 
00087 void KMdiDocumentViewTabWidget::updateCaptionInView( TQWidget *w, const TQString &caption )
00088 {
00089     changeTab( w, caption );
00090 }
00091 
00092 void KMdiDocumentViewTabWidget::maybeShow()
00093 {
00094     switch (m_visibility)
00095     {
00096         case KMdi::AlwaysShowTabs:
00097             tabBar() ->show();
00098             if ( cornerWidget() )
00099             {
00100                 if ( count() == 0 )
00101                     cornerWidget() ->hide();
00102                 else
00103                     cornerWidget() ->show();
00104             }
00105             break;
00106 
00107         case KMdi::ShowWhenMoreThanOneTab:
00108             if ( count() < 2 )
00109                 tabBar() ->hide();
00110             else tabBar() ->show();
00111             if ( cornerWidget() )
00112             {
00113                 if ( count() < 2 )
00114                     cornerWidget() ->hide();
00115                 else
00116                     cornerWidget() ->show();
00117             }
00118             break;
00119         case KMdi::NeverShowTabs:
00120             tabBar() ->hide();
00121             break;
00122     }
00123 }
00124 
00125 void KMdiDocumentViewTabWidget::setTabWidgetVisibility( KMdi::TabWidgetVisibility visibility )
00126 {
00127     m_visibility = visibility;
00128     maybeShow();
00129 }
00130 
00131 void KMdiDocumentViewTabWidget::moveTab( int from, int to )
00132 {
00133   emit initiateTabMove( from, to );
00134   KTabWidget::moveTab( from, to );
00135 }
00136 
00137 KMdi::TabWidgetVisibility KMdiDocumentViewTabWidget::tabWidgetVisibility( )
00138 {
00139     return m_visibility;
00140 }
00141 
00142 
00143 #ifndef NO_INCLUDE_MOCFILES
00144 #include "tdemdidocumentviewtabwidget.moc"
00145 #endif
00146 
00147 // kate: space-indent off; tab-width 4; replace-tabs off; indent-mode csands;
00148 

tdemdi

Skip menu "tdemdi"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

tdemdi

Skip menu "tdemdi"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdemdi by doxygen 1.6.3
This website is maintained by Timothy Pearson.