25#ifndef _TDEMultitabbar_h_
26#define _TDEMultitabbar_h_
28#include <tqscrollview.h>
34#include <tqpushbutton.h>
36#include <tdelibs_export.h>
42class KMultiTabBarPrivate;
43class KMultiTabBarTabPrivate;
44class KMultiTabBarButtonPrivate;
45class KMultiTabBarInternal;
95 KMultiTabBar(KMultiTabBarMode bm,TQWidget *parent=0,
const char *name=0);
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;
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();
186 void showActiveTabTexts(
bool show=
true);
189 virtual void fontChange(
const TQFont& );
190 void updateSeparator();
192 class KMultiTabBarInternal *m_internal;
194 TQFrame *m_btnTabSep;
195 TQPtrList<KMultiTabBarButton> m_buttons;
196 KMultiTabBarPosition m_position;
197 KMultiTabBarPrivate *d;
205class TDEUTILS_EXPORT KMultiTabBarButton:
public TQPushButton
210 KMultiTabBarButton(
const TQPixmap& pic,
const TQString&, TQPopupMenu *popup,
213 KMultiTabBarButton(
const TQString&, TQPopupMenu *popup,
218 virtual ~KMultiTabBarButton();
240 void setText(
const TQString &);
242 TQSize sizeHint()
const;
248 virtual void hideEvent(
class TQHideEvent*);
249 virtual void showEvent(
class TQShowEvent*);
252 KMultiTabBarButtonPrivate *d;
260 virtual void slotClicked();
268class TDEUTILS_EXPORT KMultiTabBarTab:
public KMultiTabBarButton
273 KMultiTabBarTab(
const TQPixmap& pic,
const TQString&,
int id,TQWidget *parent,
278 virtual ~KMultiTabBarTab();
293 void resize(){ setSize( neededSize() ); }
295 bool m_showActiveTabText;
297 KMultiTabBarTabPrivate *d;
299 friend class KMultiTabBarInternal;
303 virtual void drawButton(TQPainter *);
304 virtual void drawButtonLabel(TQPainter *);
305 void drawButtonStyled(TQPainter *);
306 void drawButtonClassic(TQPainter *);
308 virtual void slotClicked();
312 virtual void setIcon(
const TQString&);
313 virtual void setIcon(
const TQPixmap&);
This class represents a tab bar's tab in a KMultiTabBarWidget.
void showActiveTabText(bool show)
choose if the text should always be displayed this is only used in classic mode if at all
void resize()
Resized the tab to the needed size.
void setState(bool state)
set the active state of the tab
A Widget for horizontal and vertical tabs.
KMultiTabBarMode
The tab bar's orientation.
@ Horizontal
Horizontal orientation (i.e. on top or bottom).
@ Vertical
Vertical orientation (i.e. on the left or right hand side).
KMultiTabBar(KMultiTabBarMode bm, TQWidget *parent=0, const char *name=0)
Constructor.
KMultiTabBarStyle
The list of available styles for KMultiTabBar.
@ KDEV3
KDevelop 3 like (always show the text).
@ KDEV3ICON
KDevelop 3 like with icons.
@ VSNET
Visual Studio .Net like (only show the text of active tabs).
@ KONQSBC
Konqueror's classic sidebar style (unthemed) (currently disabled).
KMultiTabBarPosition
The tab bar's position.