File indexing completed on 2025-02-16 13:11:45
0001 /* 0002 SPDX-FileCopyrightText: 2003 Joseph Wenninger <jowenn@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef K_MULTI_TAB_BAR_P_H 0008 #define K_MULTI_TAB_BAR_P_H 0009 #include <QScrollArea> 0010 #include <QVBoxLayout> 0011 #include <kmultitabbar.h> 0012 0013 class KMultiTabBarInternal : public QFrame 0014 { 0015 Q_OBJECT 0016 public: 0017 KMultiTabBarInternal(QWidget *parent, KMultiTabBar::KMultiTabBarPosition pos); 0018 ~KMultiTabBarInternal() override; 0019 int appendTab(const QIcon &, int = -1, const QString & = QString()); 0020 int appendTab(const QPixmap &, int = -1, const QString & = QString()); 0021 KMultiTabBarTab *tab(int) const; 0022 void removeTab(int); 0023 void setPosition(enum KMultiTabBar::KMultiTabBarPosition pos); 0024 void setStyle(enum KMultiTabBar::KMultiTabBarStyle style); 0025 void showActiveTabTexts(bool show); 0026 QList<KMultiTabBarTab *> *tabs() 0027 { 0028 return &m_tabs; 0029 } 0030 0031 private: 0032 friend class KMultiTabBar; 0033 QBoxLayout *mainLayout; 0034 QList<KMultiTabBarTab *> m_tabs; 0035 enum KMultiTabBar::KMultiTabBarPosition m_position; 0036 enum KMultiTabBar::KMultiTabBarStyle m_style; 0037 0038 protected: 0039 /** 0040 * [contentsM|m]ousePressEvent are reimplemented from QScrollView 0041 * in order to ignore all mouseEvents on the viewport, so that the 0042 * parent can handle them. 0043 */ 0044 virtual void contentsMousePressEvent(QMouseEvent *); 0045 void mousePressEvent(QMouseEvent *) override; 0046 }; 0047 0048 #endif