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

kmdi

  • kmdi
kmdidocumentviewtabwidget.cpp
1 //----------------------------------------------------------------------------
2 //
3 // This program is free software; you can redistribute it and/or modify
4 // it under the terms of the GNU Library General Public License as
5 // published by the Free Software Foundation; either version 2 of the
6 // License, or (at your option) any later version.
7 //
8 //----------------------------------------------------------------------------
9 
10 #include <tqtimer.h>
11 
12 #include <ktabbar.h>
13 #include <kpopupmenu.h>
14 #include "kmdidocumentviewtabwidget.h"
15 
16 KMdiDocumentViewTabWidget::KMdiDocumentViewTabWidget( TQWidget* parent, const char* name ) : KTabWidget( parent, name )
17 {
18  m_visibility = KMdi::ShowWhenMoreThanOneTab;
19  tabBar() ->hide();
20  setHoverCloseButton( true );
21  connect( this, TQT_SIGNAL( closeRequest( TQWidget* ) ), this, TQT_SLOT( closeTab( TQWidget* ) ) );
22 }
23 
24 KMdiDocumentViewTabWidget::~KMdiDocumentViewTabWidget()
25 {}
26 
27 void KMdiDocumentViewTabWidget::closeTab( TQWidget* w )
28 {
29  w->close();
30 }
31 void KMdiDocumentViewTabWidget::addTab ( TQWidget * child, const TQString & label )
32 {
33  KTabWidget::addTab( child, label );
34  showPage( child );
35  TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
36 }
37 
38 void KMdiDocumentViewTabWidget::addTab ( TQWidget * child, const TQIconSet & iconset, const TQString & label )
39 {
40  KTabWidget::addTab( child, iconset, label );
41  showPage( child );
42  TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
43 }
44 
45 void KMdiDocumentViewTabWidget::addTab ( TQWidget * child, TQTab * tab )
46 {
47  KTabWidget::addTab( child, tab );
48  showPage( child );
49  TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
50 }
51 
52 void KMdiDocumentViewTabWidget::insertTab ( TQWidget * child, const TQString & label, int index )
53 {
54  KTabWidget::insertTab( child, label, index );
55  showPage( child );
56  TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
57  tabBar() ->repaint();
58 }
59 
60 void KMdiDocumentViewTabWidget::insertTab ( TQWidget * child, const TQIconSet & iconset, const TQString & label, int index )
61 {
62  KTabWidget::insertTab( child, iconset, label, index );
63  showPage( child );
64  TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
65  tabBar() ->repaint();
66 }
67 
68 void KMdiDocumentViewTabWidget::insertTab ( TQWidget * child, TQTab * tab, int index )
69 {
70  KTabWidget::insertTab( child, tab, index );
71  showPage( child );
72  TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
73  tabBar() ->repaint();
74 }
75 
76 void KMdiDocumentViewTabWidget::removePage ( TQWidget * w )
77 {
78  KTabWidget::removePage( w );
79  TQTimer::singleShot(0, this, TQT_SLOT(maybeShow()));
80 }
81 
82 void KMdiDocumentViewTabWidget::updateIconInView( TQWidget *w, TQPixmap icon )
83 {
84  changeTab( w, icon, tabLabel( w ) );
85 }
86 
87 void KMdiDocumentViewTabWidget::updateCaptionInView( TQWidget *w, const TQString &caption )
88 {
89  changeTab( w, caption );
90 }
91 
92 void KMdiDocumentViewTabWidget::maybeShow()
93 {
94  switch (m_visibility)
95  {
96  case KMdi::AlwaysShowTabs:
97  tabBar() ->show();
98  if ( cornerWidget() )
99  {
100  if ( count() == 0 )
101  cornerWidget() ->hide();
102  else
103  cornerWidget() ->show();
104  }
105  break;
106 
107  case KMdi::ShowWhenMoreThanOneTab:
108  if ( count() < 2 )
109  tabBar() ->hide();
110  else tabBar() ->show();
111  if ( cornerWidget() )
112  {
113  if ( count() < 2 )
114  cornerWidget() ->hide();
115  else
116  cornerWidget() ->show();
117  }
118  break;
119  case KMdi::NeverShowTabs:
120  tabBar() ->hide();
121  break;
122  }
123 }
124 
125 void KMdiDocumentViewTabWidget::setTabWidgetVisibility( KMdi::TabWidgetVisibility visibility )
126 {
127  m_visibility = visibility;
128  maybeShow();
129 }
130 
131 void KMdiDocumentViewTabWidget::moveTab( int from, int to )
132 {
133  emit initiateTabMove( from, to );
134  KTabWidget::moveTab( from, to );
135 }
136 
137 KMdi::TabWidgetVisibility KMdiDocumentViewTabWidget::tabWidgetVisibility( )
138 {
139  return m_visibility;
140 }
141 
142 
143 #ifndef NO_INCLUDE_MOCFILES
144 #include "kmdidocumentviewtabwidget.moc"
145 #endif
146 
147 // kate: space-indent off; tab-width 4; replace-tabs off; indent-mode csands;
148 
KMdiDocumentViewTabWidget::addTab
virtual void addTab(TQWidget *child, const TQString &label)
Add a tab into the tabwidget.
Definition: kmdidocumentviewtabwidget.cpp:31
KMdiDocumentViewTabWidget::updateCaptionInView
void updateCaptionInView(TQWidget *, const TQString &)
Change the caption for the tab.
Definition: kmdidocumentviewtabwidget.cpp:87
KMdiDocumentViewTabWidget::insertTab
virtual void insertTab(TQWidget *child, const TQString &label, int index=-1)
Insert a tab into the tabwidget with a label.
Definition: kmdidocumentviewtabwidget.cpp:52
KMdiDocumentViewTabWidget::setTabWidgetVisibility
void setTabWidgetVisibility(KMdi::TabWidgetVisibility)
Get the tab widget&#39;s visibility.
Definition: kmdidocumentviewtabwidget.cpp:125
KMdiDocumentViewTabWidget::updateIconInView
void updateIconInView(TQWidget *, TQPixmap)
Change the icon for the tab.
Definition: kmdidocumentviewtabwidget.cpp:82
KMdiDocumentViewTabWidget::tabWidgetVisibility
KMdi::TabWidgetVisibility tabWidgetVisibility()
Set the tab widget&#39;s visibility and then make the change to match the new setting.
Definition: kmdidocumentviewtabwidget.cpp:137
KMdiDocumentViewTabWidget::removePage
virtual void removePage(TQWidget *w)
Removes the tab from the tabwidget.
Definition: kmdidocumentviewtabwidget.cpp:76

kmdi

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

kmdi

Skip menu "kmdi"
  • arts
  • dcop
  • dnssd
  • interfaces
  •     interface
  •     library
  •   kspeech
  •   ktexteditor
  • kabc
  • kate
  • kcmshell
  • kdecore
  • kded
  • kdefx
  • kdeprint
  • kdesu
  • kdeui
  • kdoctools
  • khtml
  • kimgio
  • kinit
  • kio
  •   bookmarks
  •   httpfilter
  •   kfile
  •   kio
  •   kioexec
  •   kpasswdserver
  •   kssl
  • kioslave
  •   http
  • kjs
  • kmdi
  •   kmdi
  • knewstuff
  • kparts
  • krandr
  • kresources
  • kspell2
  • kunittest
  • kutils
  • kwallet
  • libkmid
  • libkscreensaver
Generated for kmdi by doxygen 1.8.13
This website is maintained by Timothy Pearson.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. |