diff options
Diffstat (limited to 'src/quicktemplates2/qquickstackview_p_p.h')
-rw-r--r-- | src/quicktemplates2/qquickstackview_p_p.h | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/src/quicktemplates2/qquickstackview_p_p.h b/src/quicktemplates2/qquickstackview_p_p.h index 6abaaad6..5b3b1445 100644 --- a/src/quicktemplates2/qquickstackview_p_p.h +++ b/src/quicktemplates2/qquickstackview_p_p.h @@ -58,7 +58,7 @@ QT_BEGIN_NAMESPACE class QQmlContext; class QQmlComponent; -class QQmlIncubator; +struct QQuickStackTransition; class QQuickStackElement : public QQuickItemViewTransitionableItem, public QQuickItemChangeListener { @@ -93,7 +93,6 @@ public: bool heightValid; QQmlContext *context; QQmlComponent *component; - QQmlIncubator *incubator; QQuickStackView *view; QPointer<QQuickItem> originalParent; QQuickStackView::Status status; @@ -125,9 +124,7 @@ public: bool replaceElements(QQuickStackElement *element, const QList<QQuickStackElement *> &elements); void ensureTransitioner(); - void popTransition(QQuickStackElement *enter, QQuickStackElement *exit, const QRectF &viewBounds, bool immediate); - void pushTransition(QQuickStackElement *enter, QQuickStackElement *exit, const QRectF &viewBounds, bool immediate); - void replaceTransition(QQuickStackElement *enter, QQuickStackElement *exit, const QRectF &viewBounds, bool immediate); + void startTransition(const QQuickStackTransition &first, const QQuickStackTransition &second, bool immediate); void completeTransition(QQuickStackElement *element, QQuickTransition *transition, QQuickStackView::Status status); void viewItemTransitionFinished(QQuickItemViewTransitionableItem *item) override; @@ -141,6 +138,25 @@ public: QQuickItemViewTransitioner *transitioner; }; +struct QQuickStackTransition +{ + static QQuickStackTransition popExit(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view); + static QQuickStackTransition popEnter(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view); + + static QQuickStackTransition pushExit(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view); + static QQuickStackTransition pushEnter(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view); + + static QQuickStackTransition replaceExit(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view); + static QQuickStackTransition replaceEnter(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view); + + bool target; + QQuickStackView::Status status; + QQuickItemViewTransitioner::TransitionType type; + QRectF viewBounds; + QQuickStackElement *element; + QQuickTransition *transition; +}; + class QQuickStackAttachedPrivate : public QObjectPrivate, public QQuickItemChangeListener { Q_DECLARE_PUBLIC(QQuickStackAttached) |