2 * Copyright(c) 2021 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.ComponentModel;
20 namespace Tizen.NUI.Components
23 /// PageAppearingEventArgs is a class to record page appearing event arguments which will be sent to user.
25 [EditorBrowsable(EditorBrowsableState.Never)]
26 public class PageAppearingEventArgs : EventArgs
31 /// PageDisappearingEventArgs is a class to record page disappearing event arguments which will be sent to user.
33 [EditorBrowsable(EditorBrowsableState.Never)]
34 public class PageDisappearingEventArgs : EventArgs
39 /// PageAppearedEventArgs is a class to record page appeared event arguments which will be sent to user.
41 [EditorBrowsable(EditorBrowsableState.Never)]
42 public class PageAppearedEventArgs : EventArgs
47 /// PageDisappearedEventArgs is a class to record page disappeared event arguments which will be sent to user.
49 [EditorBrowsable(EditorBrowsableState.Never)]
50 public class PageDisappearedEventArgs : EventArgs
55 /// The Page class is a class which is an element of navigation.
57 /// <since_tizen> 9 </since_tizen>
58 public abstract class Page : Control
60 private const int DefaultTransitionDuration = 500;
62 private Navigator navigator = null;
64 // Default transition is Fade.
65 private TransitionBase appearingTransition = new Fade()
67 TimePeriod = new TimePeriod(DefaultTransitionDuration),
68 AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default),
71 private TransitionBase disappearingTransition = new Fade()
73 TimePeriod = new TimePeriod(DefaultTransitionDuration),
74 AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default),
78 /// Creates a new instance of a Page.
80 /// <since_tizen> 9 </since_tizen>
81 public Page() : base()
86 /// Navigator which has pushed the Page into its stack.
87 /// If this Page has not been pushed into any Navigator, then Navigator is null.
89 /// <since_tizen> 9 </since_tizen>
90 public Navigator Navigator
98 if (navigator == value)
108 /// Transition properties for the transition of Views in this page during this page is pushed to Navigator.
110 [EditorBrowsable(EditorBrowsableState.Never)]
111 public TransitionBase AppearingTransition
115 appearingTransition = value;
119 return appearingTransition;
124 /// Transition properties for the transition of Views in this page during this page is popped from Navigator.
126 [EditorBrowsable(EditorBrowsableState.Never)]
127 public TransitionBase DisappearingTransition
131 disappearingTransition = value;
135 return disappearingTransition;
140 /// An event for the page appearing signal which can be used to subscribe or unsubscribe the event handler provided by the user.
142 [EditorBrowsable(EditorBrowsableState.Never)]
143 public event EventHandler<PageAppearingEventArgs> Appearing;
146 /// An event for the page disappearing signal which can be used to subscribe or unsubscribe the event handler provided by the user.
148 [EditorBrowsable(EditorBrowsableState.Never)]
149 public event EventHandler<PageDisappearingEventArgs> Disappearing;
152 /// An event for the page appeared signal which can be used to subscribe or unsubscribe the event handler provided by the user.
154 [EditorBrowsable(EditorBrowsableState.Never)]
155 public event EventHandler<PageAppearedEventArgs> Appeared;
158 /// An event for the page disappeared signal which can be used to subscribe or unsubscribe the event handler provided by the user.
160 [EditorBrowsable(EditorBrowsableState.Never)]
161 public event EventHandler<PageDisappearedEventArgs> Disappeared;
163 internal void InvokeAppearing()
165 Appearing?.Invoke(this, new PageAppearingEventArgs());
168 internal void InvokeDisappearing()
170 Disappearing?.Invoke(this, new PageDisappearingEventArgs());
173 internal void InvokeAppeared()
175 Appeared?.Invoke(this, new PageAppearedEventArgs());
178 internal void InvokeDisappeared()
180 Disappeared?.Invoke(this, new PageDisappearedEventArgs());