• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

KDEUI

  • sources
  • kde-4.12
  • kdelibs
  • kdeui
  • widgets
kmultitabbar.h
Go to the documentation of this file.
1 /***************************************************************************
2  kmultitabbar.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 _KMultitabbar_h_
26 #define _KMultitabbar_h_
27 
28 #include <QtGui/QLayout>
29 #include <QtCore/QString>
30 #include <QtCore/QList>
31 #include <QtGui/QPushButton>
32 
33 #include <kdeui_export.h>
34 
35 class QPixmap;
36 class QPainter;
37 class QMenu;
38 class QStyleOptionToolButton;
39 
40 class KMultiTabBarPrivate;
41 class KMultiTabBarTabPrivate;
42 class KMultiTabBarButtonPrivate;
43 class KMultiTabBarInternal;
44 
57 class KDEUI_EXPORT KMultiTabBar: public QWidget
58 {
59  Q_OBJECT
60  Q_ENUMS(KMultiTabBarPosition KMultiTabBarStyle)
61  Q_PROPERTY(KMultiTabBarPosition position READ position WRITE setPosition)
62  Q_PROPERTY(KMultiTabBarStyle tabStyle READ tabStyle WRITE setStyle)
63 public:
64  enum KMultiTabBarPosition { Left, Right, Top, Bottom };
65 
71  enum KMultiTabBarStyle{VSNET=0, KDEV3ICON=2,STYLELAST=0xffff};
72 
73  explicit KMultiTabBar(KMultiTabBarPosition pos, QWidget *parent=0 );
74  virtual ~KMultiTabBar();
75 
85  int appendButton(const QPixmap &pic,int id=-1,QMenu* popup=0,const QString& not_used_yet=QString());
89  void removeButton(int id);
96  int appendTab(const QPixmap &pic,int id=-1,const QString& text=QString());
100  void removeTab(int id);
106  void setTab(int id ,bool state);
110  bool isTabRaised(int id) const;
114  class KMultiTabBarButton *button(int id) const;
115 
119  class KMultiTabBarTab *tab(int id) const;
120 
125  void setPosition(KMultiTabBarPosition pos);
126 
131  KMultiTabBarPosition position() const;
132 
136  void setStyle(KMultiTabBarStyle style);
137 
142  KMultiTabBarStyle tabStyle() const;
143 
144 protected:
145  friend class KMultiTabBarButton;
146  virtual void fontChange( const QFont& );
147  void updateSeparator();
148 private:
149  KMultiTabBarPrivate * const d;
150 };
151 
155 class KDEUI_EXPORT KMultiTabBarButton: public QPushButton
156 {
157  Q_OBJECT
158 public:
159  int id() const;
160  virtual ~KMultiTabBarButton();
161 
162 public Q_SLOTS:
163  void setText(const QString &text);
164 
165 Q_SIGNALS:
170  void clicked(int id);
171 protected Q_SLOTS:
172  virtual void slotClicked();
173 
174 protected:
175  virtual void hideEvent( class QHideEvent*);
176  virtual void showEvent( class QShowEvent*);
177  virtual void paintEvent( class QPaintEvent*);
178 
181  KMultiTabBarButton(const QPixmap& pic, const QString&, int id, QWidget *parent);
182 private:
183  friend class KMultiTabBar;
184 
185  int m_id;
186  KMultiTabBarButtonPrivate * const d;
187 };
188 
192 class KDEUI_EXPORT KMultiTabBarTab: public KMultiTabBarButton
193 {
194  Q_OBJECT
195 public:
196  virtual ~KMultiTabBarTab();
197  virtual QSize sizeHint() const;
198  virtual QSize minimumSizeHint() const;
199 
200 public Q_SLOTS:
205  void setPosition(KMultiTabBar::KMultiTabBarPosition);
206 
211  void setStyle(KMultiTabBar::KMultiTabBarStyle);
212 
217  void setState(bool state);
218 
219  void setIcon(const QString&);
220  void setIcon(const QPixmap&);
221 protected:
222  virtual void paintEvent(QPaintEvent *);
223 private:
224  KMultiTabBar::KMultiTabBarPosition m_position;
225  KMultiTabBar::KMultiTabBarStyle m_style;
226 
227  void computeMargins (int* hMargin, int* vMargin) const;
228  QSize computeSizeHint(bool withText) const;
229  bool shouldDrawText() const;
230  bool isVertical() const;
231  QPixmap iconPixmap() const;
232 
233  void initStyleOption(QStyleOptionToolButton* opt) const;
234 
235  friend class KMultiTabBarInternal;
239  KMultiTabBarTab(const QPixmap& pic, const QString&, int id, QWidget *parent,
240  KMultiTabBar::KMultiTabBarPosition pos, KMultiTabBar::KMultiTabBarStyle style);
241  KMultiTabBarTabPrivate * const d;
242 };
243 
244 #endif
245 // kate: indent-width 4; replace-tabs on; tab-width 4; space-indent on;
KMultiTabBar::KMultiTabBarPosition
KMultiTabBarPosition
Definition: kmultitabbar.h:64
QWidget
QPushButton
KMultiTabBarButton::paintEvent
virtual void paintEvent(class QPaintEvent *)
Definition: kmultitabbar.cpp:188
KMultiTabBar::Top
Definition: kmultitabbar.h:64
QString
KMultiTabBarTab::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: kmultitabbar.cpp:219
KMultiTabBarTab
Use KMultiTabBar::appendTab to append a tab, which creates a KMultiTabBarTab instance.
Definition: kmultitabbar.h:192
KMultiTabBar
A Widget for horizontal and vertical tabs.
Definition: kmultitabbar.h:57
QMenu
QFont
KMultiTabBarTab::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: kmultitabbar.cpp:225
KMultiTabBar::KMultiTabBarStyle
KMultiTabBarStyle
The list of available styles for KMultiTabBar.
Definition: kmultitabbar.h:71
kdeui_export.h
QSize
KMultiTabBarButton
Use KMultiTabBar::appendButton to append a button, which creates a KMultiTabBarButton instance...
Definition: kmultitabbar.h:155
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:49:15 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDEUI

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

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal