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

tdemdi

  • tdemdi
tdemdidocumentviewtabwidget.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 <tdepopupmenu.h>
14 #include "tdemdidocumentviewtabwidget.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 "tdemdidocumentviewtabwidget.moc"
145 #endif
KMdiDocumentViewTabWidget::addTab
virtual void addTab(TQWidget *child, const TQString &label)
Add a tab into the tabwidget.
Definition: tdemdidocumentviewtabwidget.cpp:31
KMdiDocumentViewTabWidget::updateCaptionInView
void updateCaptionInView(TQWidget *, const TQString &)
Change the caption for the tab.
Definition: tdemdidocumentviewtabwidget.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: tdemdidocumentviewtabwidget.cpp:52
KMdiDocumentViewTabWidget::setTabWidgetVisibility
void setTabWidgetVisibility(KMdi::TabWidgetVisibility)
Get the tab widget's visibility.
Definition: tdemdidocumentviewtabwidget.cpp:125
KMdiDocumentViewTabWidget::updateIconInView
void updateIconInView(TQWidget *, TQPixmap)
Change the icon for the tab.
Definition: tdemdidocumentviewtabwidget.cpp:82
KMdiDocumentViewTabWidget::tabWidgetVisibility
KMdi::TabWidgetVisibility tabWidgetVisibility()
Set the tab widget's visibility and then make the change to match the new setting.
Definition: tdemdidocumentviewtabwidget.cpp:137
KMdiDocumentViewTabWidget::removePage
virtual void removePage(TQWidget *w)
Removes the tab from the tabwidget.
Definition: tdemdidocumentviewtabwidget.cpp:76

tdemdi

Skip menu "tdemdi"
  • Main Page
  • Namespace List
  • 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
  •     tdecore
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  • tdeioslave
  •   http
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdemdi by doxygen 1.8.8
This website is maintained by Timothy Pearson.