Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-22 09:04:37

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 QPROGRESSBAR_H
0006 #define QPROGRESSBAR_H
0007 
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qframe.h>
0010 
0011 QT_REQUIRE_CONFIG(progressbar);
0012 
0013 QT_BEGIN_NAMESPACE
0014 
0015 class QProgressBarPrivate;
0016 class QStyleOptionProgressBar;
0017 
0018 class Q_WIDGETS_EXPORT QProgressBar : public QWidget
0019 {
0020     Q_OBJECT
0021     Q_PROPERTY(int minimum READ minimum WRITE setMinimum)
0022     Q_PROPERTY(int maximum READ maximum WRITE setMaximum)
0023     Q_PROPERTY(QString text READ text)
0024     Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)
0025     Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment)
0026     Q_PROPERTY(bool textVisible READ isTextVisible WRITE setTextVisible)
0027     Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation)
0028     Q_PROPERTY(bool invertedAppearance READ invertedAppearance WRITE setInvertedAppearance)
0029     Q_PROPERTY(Direction textDirection READ textDirection WRITE setTextDirection)
0030     Q_PROPERTY(QString format READ format WRITE setFormat RESET resetFormat)
0031 
0032 public:
0033     enum Direction { TopToBottom, BottomToTop };
0034     Q_ENUM(Direction)
0035 
0036     explicit QProgressBar(QWidget *parent = nullptr);
0037     ~QProgressBar();
0038 
0039     int minimum() const;
0040     int maximum() const;
0041 
0042     int value() const;
0043 
0044     virtual QString text() const;
0045     void setTextVisible(bool visible);
0046     bool isTextVisible() const;
0047 
0048     Qt::Alignment alignment() const;
0049     void setAlignment(Qt::Alignment alignment);
0050 
0051     QSize sizeHint() const override;
0052     QSize minimumSizeHint() const override;
0053 
0054     Qt::Orientation orientation() const;
0055 
0056     void setInvertedAppearance(bool invert);
0057     bool invertedAppearance() const;
0058     void setTextDirection(QProgressBar::Direction textDirection);
0059     QProgressBar::Direction textDirection() const;
0060 
0061     void setFormat(const QString &format);
0062     void resetFormat();
0063     QString format() const;
0064 
0065 public Q_SLOTS:
0066     void reset();
0067     void setRange(int minimum, int maximum);
0068     void setMinimum(int minimum);
0069     void setMaximum(int maximum);
0070     void setValue(int value);
0071     void setOrientation(Qt::Orientation);
0072 
0073 Q_SIGNALS:
0074     void valueChanged(int value);
0075 
0076 protected:
0077     bool event(QEvent *e) override;
0078     void paintEvent(QPaintEvent *) override;
0079     virtual void initStyleOption(QStyleOptionProgressBar *option) const;
0080 
0081 private:
0082     Q_DECLARE_PRIVATE(QProgressBar)
0083     Q_DISABLE_COPY(QProgressBar)
0084 };
0085 
0086 QT_END_NAMESPACE
0087 
0088 #endif // QPROGRESSBAR_H