Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-10 09:23:19

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 QSLIDER_H
0006 #define QSLIDER_H
0007 
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 
0010 #include <QtWidgets/qabstractslider.h>
0011 
0012 QT_REQUIRE_CONFIG(slider);
0013 
0014 QT_BEGIN_NAMESPACE
0015 
0016 class QSliderPrivate;
0017 class QStyleOptionSlider;
0018 class Q_WIDGETS_EXPORT QSlider : public QAbstractSlider
0019 {
0020     Q_OBJECT
0021 
0022     Q_PROPERTY(TickPosition tickPosition READ tickPosition WRITE setTickPosition)
0023     Q_PROPERTY(int tickInterval READ tickInterval WRITE setTickInterval)
0024 
0025 public:
0026     enum TickPosition {
0027         NoTicks = 0,
0028         TicksAbove = 1,
0029         TicksLeft = TicksAbove,
0030         TicksBelow = 2,
0031         TicksRight = TicksBelow,
0032         TicksBothSides = 3
0033     };
0034     Q_ENUM(TickPosition)
0035 
0036     explicit QSlider(QWidget *parent = nullptr);
0037     explicit QSlider(Qt::Orientation orientation, QWidget *parent = nullptr);
0038 
0039     ~QSlider();
0040 
0041     QSize sizeHint() const override;
0042     QSize minimumSizeHint() const override;
0043 
0044     void setTickPosition(TickPosition position);
0045     TickPosition tickPosition() const;
0046 
0047     void setTickInterval(int ti);
0048     int tickInterval() const;
0049 
0050     bool event(QEvent *event) override;
0051 
0052 protected:
0053     void paintEvent(QPaintEvent *ev) override;
0054     void mousePressEvent(QMouseEvent *ev) override;
0055     void mouseReleaseEvent(QMouseEvent *ev) override;
0056     void mouseMoveEvent(QMouseEvent *ev) override;
0057     virtual void initStyleOption(QStyleOptionSlider *option) const;
0058 
0059 
0060 private:
0061     friend Q_WIDGETS_EXPORT QStyleOptionSlider qt_qsliderStyleOption(QSlider *slider);
0062 
0063     Q_DISABLE_COPY(QSlider)
0064     Q_DECLARE_PRIVATE(QSlider)
0065 };
0066 
0067 QT_END_NAMESPACE
0068 
0069 #endif // QSLIDER_H