1 /* 2 SPDX-FileCopyrightText: 2003 Joseph Wenninger <jowenn@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #ifndef K_MULTI_TAB_BAR_P_H 8 #define K_MULTI_TAB_BAR_P_H 9 #include <QScrollArea> 10 #include <QVBoxLayout> 11 #include <kmultitabbar.h> 12 13 class KMultiTabBarInternal : public QFrame 14 { 15 Q_OBJECT 16 public: 17 KMultiTabBarInternal(QWidget *parent, KMultiTabBar::KMultiTabBarPosition pos); 18 ~KMultiTabBarInternal() override; 19 int appendTab(const QIcon &, int = -1, const QString & = QString()); 20 int appendTab(const QPixmap &, int = -1, const QString & = QString()); 21 KMultiTabBarTab *tab(int) const; 22 void removeTab(int); 23 void setPosition(enum KMultiTabBar::KMultiTabBarPosition pos); 24 void setStyle(enum KMultiTabBar::KMultiTabBarStyle style); 25 void showActiveTabTexts(bool show); tabs()26 QList<KMultiTabBarTab *> *tabs() 27 { 28 return &m_tabs; 29 } 30 31 private: 32 friend class KMultiTabBar; 33 QBoxLayout *mainLayout; 34 QList<KMultiTabBarTab *> m_tabs; 35 enum KMultiTabBar::KMultiTabBarPosition m_position; 36 enum KMultiTabBar::KMultiTabBarStyle m_style; 37 38 protected: 39 /** 40 * [contentsM|m]ousePressEvent are reimplemented from QScrollView 41 * in order to ignore all mouseEvents on the viewport, so that the 42 * parent can handle them. 43 */ 44 virtual void contentsMousePressEvent(QMouseEvent *); 45 void mousePressEvent(QMouseEvent *) override; 46 }; 47 48 #endif 49