Merge "[Telephony] Sample App implementation."
[platform/core/csapi/tizenfx.git] / test / ElmSharp.Test / TC / MultibuttonEntryTest1.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 using System;
18 using System.Collections.Generic;
19 using ElmSharp;
20
21 namespace ElmSharp.Test
22 {
23     class MultiButtonEntryTest1 : TestCaseBase
24     {
25         public override string TestName => "MultiButtonEntryTest1";
26         public override string TestDescription => "To test basic operation of MultiButtonEntry";
27
28         public override void Run(Window window)
29         {
30             Background bg = new Background(window);
31             bg.Color = Color.White;
32             bg.Move(0, 0);
33             bg.Resize(window.ScreenSize.Width, window.ScreenSize.Height);
34             bg.Show();
35
36             MultiButtonEntry mbe = new MultiButtonEntry(window)
37             {
38                 IsEditable = true,
39                 IsExpanded = true,
40                 Text = "To: "
41             };
42
43             var test = mbe.Append("test");
44             mbe.Prepend("prepend");
45             mbe.Append("append");
46             mbe.InsertBefore(test, "insertBefore");
47             mbe.InsertAfter(test, "insertAfter");
48
49             mbe.ItemSelected += (s, e) =>
50             {
51                 Console.WriteLine("item selected: " + e.Item.Label);
52                 if (e.Item.Next != null)
53                     Console.WriteLine("next item: " + e.Item.Next);
54                 if (e.Item.Prev != null)
55                     Console.WriteLine("previous item: " + e.Item.Prev);
56             };
57
58             mbe.ItemClicked += (s, e) =>
59             {
60                 Console.WriteLine("item clicked: " + e.Item.Label);
61             };
62
63             mbe.ItemLongPressed += (s, e) =>
64             {
65                 Console.WriteLine("item longpressed: " + e.Item.Label);
66             };
67
68             mbe.ItemAdded += (s, e) =>
69             {
70                 Console.WriteLine("item added: " + e.Item.Label);
71             };
72
73             mbe.ItemDeleted += (s, e) =>
74             {
75                 Console.WriteLine("item deleted: " + e.Item.Label);
76             };
77
78             mbe.AppendFilter((label) =>
79             {
80                 if (label.Contains("a"))
81                 {
82                     Console.WriteLine("appended filter : Item has 'a', It won't be added until 'a' is removed.");
83                     return false;
84                 }
85                 else
86                 {
87                     return true;
88                 }
89             });
90
91             mbe.PrependFilter((label) =>
92             {
93                 if (label.Contains("p"))
94                 {
95                     Console.WriteLine("prepended filter : Item has 'p', It won't be added until 'p' is removed.");
96                     return false;
97                 }
98                 else
99                 {
100                     return true;
101                 }
102             });
103
104             Label label1 = new Label(window)
105             {
106                 Text = "MultiButtonEntry Test",
107                 Color = Color.Blue
108             };
109
110             label1.Resize(600, 100);
111             label1.Move(50, 50);
112             label1.Show();
113
114             mbe.Resize(600, 600);
115             mbe.Move(0, 100);
116             mbe.Show();
117         }
118     }
119 }