diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-07-14 13:02:27 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-07-14 13:16:47 +0000 |
commit | bc86a96c56934d98d641844319a905753f56895a (patch) | |
tree | 9ffc1537cc828dd7380dd9a348d1743d177419cf /src/quicktemplates2/qquickstackview_p_p.h | |
parent | acecb06f1890feab9fee20345cd768ae61a8ae35 (diff) |
StackView: allow choosing which transition to run
This is mostly useful for being able to use either push or pop
transition for replace operations, but there doesn't seem to be
any reason to limit the others. So, now it's able to run any of
the push/pop/replace transitions (or none with "immediate") for
any push/pop/replace operation.
[ChangeLog][StackView] Made it possible to choose the visual
transition type for any operation. This allows using for example
push and pop transitions with replace(), which allows implementing
an "infinite" back and forward navigation pattern while keeping
the amount of instantiated items constant.
Change-Id: I93b87cf854c3d6e2f33ef73ef25ffb3456ec27f4
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickstackview_p_p.h')
-rw-r--r-- | src/quicktemplates2/qquickstackview_p_p.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/quicktemplates2/qquickstackview_p_p.h b/src/quicktemplates2/qquickstackview_p_p.h index 7fe7f005..c7691c40 100644 --- a/src/quicktemplates2/qquickstackview_p_p.h +++ b/src/quicktemplates2/qquickstackview_p_p.h @@ -140,10 +140,14 @@ public: struct QQuickStackTransition { - enum Operation { Push, Replace, Pop }; + static QQuickStackTransition popExit(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view); + static QQuickStackTransition popEnter(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view); - static QQuickStackTransition exit(Operation operation, QQuickStackElement *element, QQuickStackView *view); - static QQuickStackTransition enter(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; |