Line data Source code
1 : import 'package:flutter/widgets.dart';
2 : import 'package:get/src/routes/bindings_interface.dart';
3 : import 'transitions_type.dart';
4 :
5 : class GetRoute {
6 : final Widget page;
7 : final String name;
8 : final bool popGesture;
9 : final Map<String, String> parameter;
10 : final String title;
11 : final Transition transition;
12 : final Curve curve;
13 : final Alignment alignment;
14 : final bool maintainState;
15 : final GetPageBuilder route;
16 : final bool opaque;
17 : final Bindings binding;
18 : final List<Bindings> bindings;
19 : final Widget customTransition;
20 : final Duration transitionDuration;
21 : final bool fullscreenDialog;
22 : final RouteSettings settings;
23 :
24 1 : const GetRoute({
25 : @required this.page,
26 : this.title,
27 : this.name,
28 : this.settings,
29 : this.maintainState = true,
30 : this.curve = Curves.linear,
31 : this.alignment,
32 : this.route,
33 : this.parameter,
34 : this.opaque = true,
35 : this.transitionDuration = const Duration(milliseconds: 400),
36 : this.popGesture,
37 : this.binding,
38 : this.bindings,
39 : this.transition,
40 : this.customTransition,
41 : this.fullscreenDialog = false,
42 1 : }) : assert(page != null),
43 1 : assert(maintainState != null),
44 1 : assert(fullscreenDialog != null);
45 : }
46 :
47 : class GetPage {
48 : final String name;
49 : final GetPageBuilder page;
50 : final bool popGesture;
51 : final Map<String, String> parameter;
52 : final String title;
53 : final Transition transition;
54 : final Curve curve;
55 : final Alignment alignment;
56 : final bool maintainState;
57 : final bool opaque;
58 : final Bindings binding;
59 : final List<Bindings> bindings;
60 : final Widget customTransition;
61 : final Duration transitionDuration;
62 : final bool fullscreenDialog;
63 : final RouteSettings settings;
64 :
65 1 : const GetPage({
66 : @required this.name,
67 : @required this.page,
68 : this.title,
69 : this.settings,
70 : this.maintainState = true,
71 : this.curve = Curves.linear,
72 : this.alignment,
73 : this.parameter,
74 : this.opaque = true,
75 : this.transitionDuration = const Duration(milliseconds: 400),
76 : this.popGesture,
77 : this.binding,
78 : this.bindings,
79 : this.transition,
80 : this.customTransition,
81 : this.fullscreenDialog = false,
82 0 : }) : assert(page != null),
83 0 : assert(name != null),
84 0 : assert(maintainState != null),
85 0 : assert(fullscreenDialog != null);
86 : }
87 :
|