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