Make Menu APIs public
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Samples / Tizen.NUI.Samples / Samples / MenuSample.cs
1 using Tizen.NUI.BaseComponents;
2 using Tizen.NUI.Components;
3
4 namespace Tizen.NUI.Samples
5 {
6     public class MenuSample : IExample
7     {
8         public void Activate()
9         {
10             var window = NUIApplication.GetDefaultWindow();
11             var navigator = window.GetDefaultNavigator();
12
13             var pageContent = new Button()
14             {
15                 Text = "Page Content",
16                 CornerRadius = 0,
17                 WidthSpecification = LayoutParamPolicies.MatchParent,
18                 HeightSpecification = LayoutParamPolicies.MatchParent,
19             };
20
21             var moreButton = new Button()
22             {
23                 Text = "More",
24             };
25
26             var appBar = new AppBar()
27             {
28                 AutoNavigationContent = false,
29                 Title = "Title",
30                 Actions = new View[] { moreButton, },
31             };
32
33             var page = new ContentPage()
34             {
35                 AppBar = appBar,
36                 Content = pageContent,
37             };
38             navigator.Push(page);
39
40             var menuItem = new MenuItem() { Text = "Menu" };
41             var menuItem2 = new MenuItem() { Text = "Menu2" };
42             var menuItem3 = new MenuItem() { Text = "Menu3" };
43             var menuItem4 = new MenuItem() { Text = "Menu4" };
44
45             moreButton.Clicked += (object sender, ClickedEventArgs args) =>
46             {
47                 var menu = new Menu()
48                 {
49                     Anchor = moreButton,
50                     HorizontalPositionToAnchor = Menu.RelativePosition.Center,
51                     VerticalPositionToAnchor = Menu.RelativePosition.End,
52                     Items = new MenuItem[] { menuItem, menuItem2, menuItem3, menuItem4 },
53                 };
54                 menu.Post();
55             };
56         }
57
58         public void Deactivate()
59         {
60             var window = NUIApplication.GetDefaultWindow();
61             var navigator = window.GetDefaultNavigator();
62             var newPageCount = window.GetDefaultNavigator().NavigationPages.Count;
63
64             for (int i = 0; i < newPageCount; i++)
65             {
66                 navigator.Pop();
67             }
68         }
69     }
70 }