Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-16 09:23:47

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
0004 
0005 #ifndef QSCROLLBAR_H
0006 #define QSCROLLBAR_H
0007 
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qwidget.h>
0010 
0011 #include <QtWidgets/qabstractslider.h>
0012 
0013 QT_REQUIRE_CONFIG(scrollbar);
0014 
0015 QT_BEGIN_NAMESPACE
0016 
0017 class QScrollBarPrivate;
0018 class QStyleOptionSlider;
0019 
0020 class Q_WIDGETS_EXPORT QScrollBar : public QAbstractSlider
0021 {
0022     Q_OBJECT
0023 public:
0024     explicit QScrollBar(QWidget *parent = nullptr);
0025     explicit QScrollBar(Qt::Orientation, QWidget *parent = nullptr);
0026     ~QScrollBar();
0027 
0028     QSize sizeHint() const override;
0029     bool event(QEvent *event) override;
0030 
0031 #ifndef QT_NO_CONTEXTMENU
0032     QMenu *createStandardContextMenu(QPoint position);
0033 #endif
0034 
0035 protected:
0036 #if QT_CONFIG(wheelevent)
0037     void wheelEvent(QWheelEvent *) override;
0038 #endif
0039     void paintEvent(QPaintEvent *) override;
0040     void mousePressEvent(QMouseEvent *) override;
0041     void mouseReleaseEvent(QMouseEvent *) override;
0042     void mouseMoveEvent(QMouseEvent *) override;
0043     void hideEvent(QHideEvent*) override;
0044     void sliderChange(SliderChange change) override;
0045 #ifndef QT_NO_CONTEXTMENU
0046     void contextMenuEvent(QContextMenuEvent *) override;
0047 #endif
0048     virtual void initStyleOption(QStyleOptionSlider *option) const;
0049 
0050 
0051 private:
0052     friend class QAbstractScrollAreaPrivate;
0053     friend Q_WIDGETS_EXPORT QStyleOptionSlider qt_qscrollbarStyleOption(QScrollBar *scrollBar);
0054 
0055     Q_DISABLE_COPY(QScrollBar)
0056     Q_DECLARE_PRIVATE(QScrollBar)
0057 #if QT_CONFIG(itemviews)
0058     friend class QTableView;
0059     friend class QTreeViewPrivate;
0060     friend class QCommonListViewBase;
0061     friend class QListModeViewBase;
0062     friend class QAbstractItemView;
0063 #endif
0064 };
0065 
0066 QT_END_NAMESPACE
0067 
0068 #endif // QSCROLLBAR_H