83ad6607a913ca7419575870df82c1e8a45b88e0
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Samples / Tizen.NUI.Samples / Samples / NavigatorSample.cs
1 using Tizen.NUI.BaseComponents;
2 using Tizen.NUI.Components;
3
4 namespace Tizen.NUI.Samples
5 {
6     public class NavigatorSample : IExample
7     {
8         private Navigator navigator;
9         private ContentPage firstPage, secondPage;
10         private Button firstButton, secondButton;
11
12         public void Activate()
13         {
14             Window window = NUIApplication.GetDefaultWindow();
15
16             navigator = new Navigator()
17             {
18                 WidthResizePolicy = ResizePolicyType.FillToParent,
19                 HeightResizePolicy = ResizePolicyType.FillToParent
20             };
21             window.Add(navigator);
22
23             CreateFirstPage();
24         }
25
26         private void CreateFirstPage()
27         {
28             firstButton = new Button()
29             {
30                 Text = "First Page",
31                 WidthResizePolicy = ResizePolicyType.FillToParent,
32                 HeightResizePolicy = ResizePolicyType.FillToParent,
33             };
34             firstButton.Clicked += (object sender, ClickedEventArgs e) =>
35             {
36                 CreateSecondPage();
37             };
38
39             firstPage = new ContentPage()
40             {
41                 Content = firstButton,
42             };
43             firstPage.Appearing += (object sender, PageAppearingEventArgs e) =>
44             {
45                 global::System.Console.WriteLine("First Page is appearing!");
46             };
47             firstPage.Disappearing += (object sender, PageDisappearingEventArgs e) =>
48             {
49                 global::System.Console.WriteLine("First Page is disappearing!");
50             };
51
52             navigator.Push(firstPage);
53         }
54
55         private void CreateSecondPage()
56         {
57             secondButton = new Button()
58             {
59                 Text = "Second Page",
60                 WidthResizePolicy = ResizePolicyType.FillToParent,
61                 HeightResizePolicy = ResizePolicyType.FillToParent,
62             };
63             secondButton.Clicked += (object sender, ClickedEventArgs e) =>
64             {
65                 navigator.Pop();
66             };
67
68             secondPage = new ContentPage()
69             {
70                 Content = secondButton,
71             };
72             secondPage.Appearing += (object sender, PageAppearingEventArgs e) =>
73             {
74                 global::System.Console.WriteLine("Second Page is appearing!");
75             };
76             secondPage.Disappearing += (object sender, PageDisappearingEventArgs e) =>
77             {
78                 global::System.Console.WriteLine("Second Page is disappearing!");
79             };
80
81             navigator.Push(secondPage);
82         }
83
84         public void Deactivate()
85         {
86             if (navigator != null)
87             {
88                 NUIApplication.GetDefaultWindow().Remove(navigator);
89
90                 navigator.Dispose();
91                 navigator = null;
92                 firstButton = null;
93                 firstPage = null;
94                 secondButton = null;
95                 secondPage = null;
96             }
97         }
98     }
99 }