1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QQUICKDELAYBUTTON_P_H
5#define QQUICKDELAYBUTTON_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
19
20QT_BEGIN_NAMESPACE
21
22class QQuickTransition;
23class QQuickDelayButtonPrivate;
24
25class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickDelayButton : public QQuickAbstractButton
26{
27 Q_OBJECT
28 Q_PROPERTY(int delay READ delay WRITE setDelay NOTIFY delayChanged FINAL)
29 Q_PROPERTY(qreal progress READ progress WRITE setProgress NOTIFY progressChanged FINAL)
30 Q_PROPERTY(QQuickTransition *transition READ transition WRITE setTransition NOTIFY transitionChanged FINAL)
31 QML_NAMED_ELEMENT(DelayButton)
32 QML_ADDED_IN_VERSION(2, 2)
33
34public:
35 explicit QQuickDelayButton(QQuickItem *parent = nullptr);
36
37 int delay() const;
38 void setDelay(int delay);
39
40 qreal progress() const;
41 void setProgress(qreal progress);
42
43 QQuickTransition *transition() const;
44 void setTransition(QQuickTransition *transition);
45
46Q_SIGNALS:
47 void activated();
48 void delayChanged();
49 void progressChanged();
50 void transitionChanged();
51
52protected:
53 void buttonChange(ButtonChange change) override;
54 void nextCheckState() override;
55
56 QFont defaultFont() const override;
57
58private:
59 Q_DISABLE_COPY(QQuickDelayButton)
60 Q_DECLARE_PRIVATE(QQuickDelayButton)
61};
62
63QT_END_NAMESPACE
64
65QML_DECLARE_TYPE(QQuickDelayButton)
66
67#endif // QQUICKDELAYBUTTON_P_H
68

source code of qtdeclarative/src/quicktemplates/qquickdelaybutton_p.h