1/****************************************************************************
2**
3** Copyright (C) 2017 The Qt Company Ltd.
4** Contact: http://www.qt.io/licensing/
5**
6** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL3$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see http://www.qt.io/terms-conditions. For further
15** information use the contact form at http://www.qt.io/contact-us.
16**
17** GNU Lesser General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU Lesser
19** General Public License version 3 as published by the Free Software
20** Foundation and appearing in the file LICENSE.LGPLv3 included in the
21** packaging of this file. Please review the following information to
22** ensure the GNU Lesser General Public License version 3 requirements
23** will be met: https://www.gnu.org/licenses/lgpl.html.
24**
25** GNU General Public License Usage
26** Alternatively, this file may be used under the terms of the GNU
27** General Public License version 2.0 or later as published by the Free
28** Software Foundation and appearing in the file LICENSE.GPL included in
29** the packaging of this file. Please review the following information to
30** ensure the GNU General Public License version 2.0 requirements will be
31** met: http://www.gnu.org/licenses/gpl-2.0.html.
32**
33** $QT_END_LICENSE$
34**
35****************************************************************************/
36
37#ifndef QQUICKSWIPE_P_H
38#define QQUICKSWIPE_P_H
39
40//
41// W A R N I N G
42// -------------
43//
44// This file is not part of the Qt API. It exists purely as an
45// implementation detail. This header file may change from version to
46// version without notice, or even be removed.
47//
48// We mean it.
49//
50
51#include <QtCore/qobject.h>
52#include <QtQuickTemplates2/private/qtquicktemplates2global_p.h>
53#include <QtQuickTemplates2/private/qquickswipedelegate_p.h>
54
55QT_BEGIN_NAMESPACE
56
57class QQmlComponent;
58class QQuickItem;
59class QQuickTransition;
60class QQuickSwipePrivate;
61
62class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSwipe : public QObject
63{
64 Q_OBJECT
65 Q_PROPERTY(qreal position READ position WRITE setPosition NOTIFY positionChanged FINAL)
66 Q_PROPERTY(bool complete READ isComplete NOTIFY completeChanged FINAL)
67 Q_PROPERTY(QQmlComponent *left READ left WRITE setLeft NOTIFY leftChanged FINAL)
68 Q_PROPERTY(QQmlComponent *behind READ behind WRITE setBehind NOTIFY behindChanged FINAL)
69 Q_PROPERTY(QQmlComponent *right READ right WRITE setRight NOTIFY rightChanged FINAL)
70 Q_PROPERTY(QQuickItem *leftItem READ leftItem NOTIFY leftItemChanged FINAL)
71 Q_PROPERTY(QQuickItem *behindItem READ behindItem NOTIFY behindItemChanged FINAL)
72 Q_PROPERTY(QQuickItem *rightItem READ rightItem NOTIFY rightItemChanged FINAL)
73 // 2.2 (Qt 5.9)
74 Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged FINAL) // REVISION 2
75 Q_PROPERTY(QQuickTransition *transition READ transition WRITE setTransition NOTIFY transitionChanged FINAL) // REVISION 2
76
77public:
78 explicit QQuickSwipe(QQuickSwipeDelegate *control);
79
80 qreal position() const;
81 void setPosition(qreal position);
82
83 bool isComplete() const;
84 void setComplete(bool complete);
85
86 QQmlComponent *left() const;
87 void setLeft(QQmlComponent *left);
88
89 QQmlComponent *behind() const;
90 void setBehind(QQmlComponent *behind);
91
92 QQmlComponent *right() const;
93 void setRight(QQmlComponent *right);
94
95 QQuickItem *leftItem() const;
96 void setLeftItem(QQuickItem *item);
97
98 QQuickItem *behindItem() const;
99 void setBehindItem(QQuickItem *item);
100
101 QQuickItem *rightItem() const;
102 void setRightItem(QQuickItem *item);
103
104 // 2.1 (Qt 5.8)
105 Q_REVISION(1) Q_INVOKABLE void close();
106
107 // 2.2 (Qt 5.9)
108 bool isEnabled() const;
109 void setEnabled(bool enabled);
110
111 QQuickTransition *transition() const;
112 void setTransition(QQuickTransition *transition);
113
114 Q_REVISION(2) Q_INVOKABLE void open(QQuickSwipeDelegate::Side side);
115
116Q_SIGNALS:
117 void positionChanged();
118 void completeChanged();
119 void leftChanged();
120 void behindChanged();
121 void rightChanged();
122 void leftItemChanged();
123 void behindItemChanged();
124 void rightItemChanged();
125 // 2.1 (Qt 5.8)
126 /*Q_REVISION(1)*/ void completed();
127 // 2.2 (Qt 5.9)
128 /*Q_REVISION(2)*/ void opened();
129 /*Q_REVISION(2)*/ void closed();
130 /*Q_REVISION(2)*/ void enabledChanged();
131 /*Q_REVISION(2)*/ void transitionChanged();
132
133private:
134 Q_DISABLE_COPY(QQuickSwipe)
135 Q_DECLARE_PRIVATE(QQuickSwipe)
136};
137
138QT_END_NAMESPACE
139
140#endif // QQUICKSWIPE_P_H
141

source code of qtquickcontrols2/src/quicktemplates2/qquickswipe_p.h