2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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.
20 namespace ElmSharp.Test
22 public class GenGridTest2 : TestCaseBase
24 public override string TestName => "GenGridTest2";
25 public override string TestDescription => "To test basic operation of GenGrid";
27 public override void Run(Window window)
29 Conformant conformant = new Conformant(window);
31 GenGrid grid = new GenGrid(window)
39 ItemWidth = window.ScreenSize.Width / 3,
40 ItemHeight = window.ScreenSize.Width / 3,
43 GenItemClass defaultClass = new GenItemClass("default")
45 GetTextHandler = (obj, part) =>
47 Color item = (Color)obj;
48 return String.Format("#{0:X}{1:X}{2:X}", item.R, item.G, item.B);
50 GetContentHandler = (obj, part) =>
52 Color item = (Color)obj;
53 if (part == "elm.swallow.icon")
55 var colorbox = new Rectangle(window)
66 GenGridItem firstitem = null;
67 GenGridItem lastitem = null;
69 var rnd = new Random();
70 for (int i = 0; i < 102; i++)
72 int r = rnd.Next(255);
73 int g = rnd.Next(255);
74 int b = rnd.Next(255);
75 Color color = Color.FromRgb(r, g, b);
76 var item = grid.Append(defaultClass, color);
83 Box box = new Box(window)
91 conformant.SetContent(box);
95 Button first = new Button(window)
101 Button last = new Button(window)
107 first.Clicked += (s, e) =>
109 grid.ScrollTo(firstitem, ScrollToPosition.In, true);
111 last.Clicked += (s, e) =>
113 grid.ScrollTo(lastitem, ScrollToPosition.In, true);
120 grid.ItemActivated += Grid_ItemActivated;
121 grid.ItemSelected += Grid_ItemSelected;
122 grid.ItemUnselected += Grid_ItemUnselected;
123 grid.ItemRealized += Grid_ItemRealized;
124 grid.ItemUnrealized += Grid_ItemUnrealized;
125 grid.ItemPressed += Grid_ItemPressed;
126 grid.ItemReleased += Grid_ItemReleased;
127 grid.ItemLongPressed += Grid_ItemLongPressed;
128 grid.ItemDoubleClicked += Grid_ItemDoubleClicked;
131 private void Grid_ItemDoubleClicked(object sender, GenGridItemEventArgs e)
133 Color color = (Color)e.Item.Data;
134 Console.WriteLine("#{0:X}{1:X}{2:X} is Double clicked", color.R, color.G, color.B);
137 private void Grid_ItemLongPressed(object sender, GenGridItemEventArgs e)
139 Color color = (Color)e.Item.Data;
140 Console.WriteLine("#{0:X}{1:X}{2:X} is LongPressed", color.R, color.G, color.B);
143 private void Grid_ItemReleased(object sender, GenGridItemEventArgs e)
145 Color color = (Color)e.Item.Data;
146 Console.WriteLine("#{0:X}{1:X}{2:X} is Released", color.R, color.G, color.B);
149 private void Grid_ItemPressed(object sender, GenGridItemEventArgs e)
151 Color color = (Color)e.Item.Data;
152 Console.WriteLine("#{0:X}{1:X}{2:X} is Pressed", color.R, color.G, color.B);
155 private void Grid_ItemUnselected(object sender, GenGridItemEventArgs e)
157 Color color = (Color)e.Item.Data;
158 Console.WriteLine("#{0:X}{1:X}{2:X} is Unselected", color.R, color.G, color.B);
161 private void Grid_ItemRealized(object sender, GenGridItemEventArgs e)
163 Color color = (Color)e.Item.Data;
164 Console.WriteLine("#{0:X}{1:X}{2:X} is Realized", color.R, color.G, color.B);
167 private void Grid_ItemUnrealized(object sender, GenGridItemEventArgs e)
169 Color color = (Color)e.Item.Data;
170 Console.WriteLine("#{0:X}{1:X}{2:X} is Unrealized", color.R, color.G, color.B);
173 private void Grid_ItemSelected(object sender, GenGridItemEventArgs e)
175 Color color = (Color)e.Item.Data;
176 Console.WriteLine("#{0:X}{1:X}{2:X} is Selected", color.R, color.G, color.B);
179 private void Grid_ItemActivated(object sender, GenGridItemEventArgs e)
181 Color color = (Color)e.Item.Data;
182 Console.WriteLine("#{0:X}{1:X}{2:X} is Activated", color.R, color.G, color.B);