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

tdeutils

  • tdeutils
tdemultitabbar.h
1/***************************************************************************
2 tdemultitabbar.h - description
3 -------------------
4 begin : 2001
5 copyright : (C) 2001,2002,2003 by Joseph Wenninger <jowenn@kde.org>
6 ***************************************************************************/
7
8/***************************************************************************
9 This library is free software; you can redistribute it and/or
10 modify it under the terms of the GNU Library General Public
11 License as published by the Free Software Foundation; either
12 version 2 of the License, or (at your option) any later version.
13
14 This library is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 Library General Public License for more details.
18
19 You should have received a copy of the GNU Library General Public License
20 along with this library; see the file COPYING.LIB. If not, write to
21 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 Boston, MA 02110-1301, USA.
23 ***************************************************************************/
24
25#ifndef _TDEMultitabbar_h_
26#define _TDEMultitabbar_h_
27
28#include <tqscrollview.h>
29#include <tqvbox.h>
30#include <tqhbox.h>
31#include <tqlayout.h>
32#include <tqstring.h>
33#include <tqptrlist.h>
34#include <tqpushbutton.h>
35
36#include <tdelibs_export.h>
37
38class TQPixmap;
39class TQPainter;
40class TQFrame;
41
42class KMultiTabBarPrivate;
43class KMultiTabBarTabPrivate;
44class KMultiTabBarButtonPrivate;
45class KMultiTabBarInternal;
46
56class TDEUTILS_EXPORT KMultiTabBar: public TQWidget
57{
58 TQ_OBJECT
59public:
63 enum KMultiTabBarMode {
64 Horizontal,
65 Vertical
66 };
67
71 enum KMultiTabBarPosition {
72 Left,
73 Right,
74 Top,
75 Bottom
76 };
77
81 enum KMultiTabBarStyle {
82 VSNET=0,
83 KDEV3=1,
84 KONQSBC=2,
85 KDEV3ICON=3,
86 STYLELAST=0xffff
87 };
88
95 KMultiTabBar(KMultiTabBarMode bm,TQWidget *parent=0,const char *name=0);
96
100 virtual ~KMultiTabBar();
101
111 int appendButton(const TQPixmap &pic,int id=-1,TQPopupMenu* popup=0,const TQString& not_used_yet=TQString::null);
115 void removeButton(int id);
123 int appendTab(const TQPixmap &pic,int id=-1,const TQString& text=TQString::null);
128 void removeTab(int id);
134 void setTab(int id ,bool state);
139 bool isTabRaised(int id) const;
144 class KMultiTabBarButton *button(int id) const;
145
149 class KMultiTabBarTab *tab(int id) const;
154 void setPosition(KMultiTabBarPosition pos);
159 KMultiTabBarPosition position() const;
164 void setStyle(KMultiTabBarStyle style);
169 KMultiTabBarStyle tabStyle() const;
175 TQPtrList<KMultiTabBarTab>* tabs();
181 TQPtrList<KMultiTabBarButton>* buttons();
182
186 void showActiveTabTexts(bool show=true);
187protected:
188 friend class KMultiTabBarButton;
189 virtual void fontChange( const TQFont& );
190 void updateSeparator();
191private:
192 class KMultiTabBarInternal *m_internal;
193 TQBoxLayout *m_l;
194 TQFrame *m_btnTabSep;
195 TQPtrList<KMultiTabBarButton> m_buttons;
196 KMultiTabBarPosition m_position;
197 KMultiTabBarPrivate *d;
198};
199
205class TDEUTILS_EXPORT KMultiTabBarButton: public TQPushButton
206{
207 TQ_OBJECT
208public:
210 KMultiTabBarButton(const TQPixmap& pic,const TQString&, TQPopupMenu *popup,
211 int id,TQWidget *parent, KMultiTabBar::KMultiTabBarPosition pos, KMultiTabBar::KMultiTabBarStyle style);
213 KMultiTabBarButton(const TQString&, TQPopupMenu *popup,
214 int id,TQWidget *parent, KMultiTabBar::KMultiTabBarPosition pos, KMultiTabBar::KMultiTabBarStyle style);
218 virtual ~KMultiTabBarButton();
223 int id() const;
224
225public slots:
230 void setPosition(KMultiTabBar::KMultiTabBarPosition);
235 void setStyle(KMultiTabBar::KMultiTabBarStyle);
236
240 void setText(const TQString &);
241
242 TQSize sizeHint() const;
243
244protected:
245 KMultiTabBar::KMultiTabBarPosition m_position;
246 KMultiTabBar::KMultiTabBarStyle m_style;
247 TQString m_text;
248 virtual void hideEvent( class TQHideEvent*);
249 virtual void showEvent( class TQShowEvent*);
250private:
251 int m_id;
252 KMultiTabBarButtonPrivate *d;
253signals:
258 void clicked(int id);
259protected slots:
260 virtual void slotClicked();
261};
262
268class TDEUTILS_EXPORT KMultiTabBarTab: public KMultiTabBarButton
269{
270 TQ_OBJECT
271public:
273 KMultiTabBarTab(const TQPixmap& pic,const TQString&,int id,TQWidget *parent,
274 KMultiTabBar::KMultiTabBarPosition pos,KMultiTabBar::KMultiTabBarStyle style);
278 virtual ~KMultiTabBarTab();
283 void setState(bool state);
289 void showActiveTabText(bool show);
293 void resize(){ setSize( neededSize() ); }
294private:
295 bool m_showActiveTabText;
296 int m_expandedSize;
297 KMultiTabBarTabPrivate *d;
298protected:
299 friend class KMultiTabBarInternal;
300 void setSize(int);
301 int neededSize();
302 void updateState();
303 virtual void drawButton(TQPainter *);
304 virtual void drawButtonLabel(TQPainter *);
305 void drawButtonStyled(TQPainter *);
306 void drawButtonClassic(TQPainter *);
307protected slots:
308 virtual void slotClicked();
309 void setTabsPosition(KMultiTabBar::KMultiTabBarPosition);
310
311public slots:
312 virtual void setIcon(const TQString&);
313 virtual void setIcon(const TQPixmap&);
314};
315
316#endif
KMultiTabBarButton
This class represents a tab bar button in a KMultiTabBarWidget.
Definition: tdemultitabbar.h:206
KMultiTabBarButton::setPosition
void setPosition(KMultiTabBar::KMultiTabBarPosition)
this is used internaly, but can be used by the user, if (s)he wants to It the according call of KMult...
Definition: tdemultitabbar.cpp:434
KMultiTabBarButton::setStyle
void setStyle(KMultiTabBar::KMultiTabBarStyle)
this is used internaly, but can be used by the user, if (s)he wants to It the according call of KMult...
Definition: tdemultitabbar.cpp:440
KMultiTabBarButton::clicked
void clicked(int id)
this is emitted if the button is clicked
KMultiTabBarTab
This class represents a tab bar's tab in a KMultiTabBarWidget.
Definition: tdemultitabbar.h:269
KMultiTabBarTab::resize
void resize()
Resized the tab to the needed size.
Definition: tdemultitabbar.h:293
KMultiTabBar
A Widget for horizontal and vertical tabs.
Definition: tdemultitabbar.h:57
KMultiTabBar::KMultiTabBarMode
KMultiTabBarMode
The tab bar's orientation.
Definition: tdemultitabbar.h:63
KMultiTabBar::Horizontal
@ Horizontal
Horizontal orientation (i.e. on top or bottom)
Definition: tdemultitabbar.h:64
KMultiTabBar::KMultiTabBarStyle
KMultiTabBarStyle
The list of available styles for KMultiTabBar.
Definition: tdemultitabbar.h:81
KMultiTabBar::KMultiTabBarPosition
KMultiTabBarPosition
The tab bar's position.
Definition: tdemultitabbar.h:71
KMultiTabBar::Top
@ Top
On top.
Definition: tdemultitabbar.h:74
KMultiTabBar::Left
@ Left
Left hand side.
Definition: tdemultitabbar.h:72
KMultiTabBar::Right
@ Right
Right hand side.
Definition: tdemultitabbar.h:73

tdeutils

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

tdeutils

Skip menu "tdeutils"
  • 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 tdeutils by doxygen 1.9.4
This website is maintained by Timothy Pearson.