aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickstackview_p_p.h
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-07-14 13:02:27 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-07-14 13:16:47 +0000
commitbc86a96c56934d98d641844319a905753f56895a (patch)
tree9ffc1537cc828dd7380dd9a348d1743d177419cf /src/quicktemplates2/qquickstackview_p_p.h
parentacecb06f1890feab9fee20345cd768ae61a8ae35 (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.h10
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;