• 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 
38 class TQPixmap;
39 class TQPainter;
40 class TQFrame;
41 
42 class KMultiTabBarPrivate;
43 class KMultiTabBarTabPrivate;
44 class KMultiTabBarButtonPrivate;
45 class KMultiTabBarInternal;
46 
56 class TDEUTILS_EXPORT KMultiTabBar: public TQWidget
57 {
58  Q_OBJECT
59 public:
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);
187 protected:
188  friend class KMultiTabBarButton;
189  virtual void fontChange( const TQFont& );
190  void updateSeparator();
191 private:
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 
205 class TDEUTILS_EXPORT KMultiTabBarButton: public TQPushButton
206 {
207  Q_OBJECT
208 public:
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 
225 public slots:
230  void setPosition(KMultiTabBar::KMultiTabBarPosition);
235  void setStyle(KMultiTabBar::KMultiTabBarStyle);
236 
240  void setText(const TQString &);
241 
242  TQSize sizeHint() const;
243 
244 protected:
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*);
250 private:
251  int m_id;
252  KMultiTabBarButtonPrivate *d;
253 signals:
258  void clicked(int id);
259 protected slots:
260  virtual void slotClicked();
261 };
262 
268 class TDEUTILS_EXPORT KMultiTabBarTab: public KMultiTabBarButton
269 {
270  Q_OBJECT
271 public:
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() ); }
294 private:
295  bool m_showActiveTabText;
296  int m_expandedSize;
297  KMultiTabBarTabPrivate *d;
298 protected:
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 *);
307 protected slots:
308  virtual void slotClicked();
309  void setTabsPosition(KMultiTabBar::KMultiTabBarPosition);
310 
311 public slots:
312  virtual void setIcon(const TQString&);
313  virtual void setIcon(const TQPixmap&);
314 };
315 
316 #endif
KMultiTabBar::Right
Right hand side.
Definition: tdemultitabbar.h:73
KMultiTabBarTab
This class represents a tab bar's tab in a KMultiTabBarWidget.
Definition: tdemultitabbar.h:268
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
KMultiTabBar::KMultiTabBarPosition
KMultiTabBarPosition
The tab bar's position.
Definition: tdemultitabbar.h:71
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
KMultiTabBar::Left
Left hand side.
Definition: tdemultitabbar.h:72
KMultiTabBar
A Widget for horizontal and vertical tabs.
Definition: tdemultitabbar.h:56
KMultiTabBar::KMultiTabBarMode
KMultiTabBarMode
The tab bar's orientation.
Definition: tdemultitabbar.h:63
KMultiTabBar::KMultiTabBarStyle
KMultiTabBarStyle
The list of available styles for KMultiTabBar.
Definition: tdemultitabbar.h:81
KMultiTabBar::Horizontal
Horizontal orientation (i.e. on top or bottom)
Definition: tdemultitabbar.h:64
KMultiTabBarTab::resize
void resize()
Resized the tab to the needed size.
Definition: tdemultitabbar.h:293
KMultiTabBarButton
This class represents a tab bar button in a KMultiTabBarWidget.
Definition: tdemultitabbar.h:205
KMultiTabBar::Top
On top.
Definition: tdemultitabbar.h:74

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
  •     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 tdeutils by doxygen 1.8.8
This website is maintained by Timothy Pearson.