diff options
author | Seungkeun Lee <sngn.lee@samsung.com> | 2016-11-29 13:32:35 +0900 |
---|---|---|
committer | Kangho Hur <kangho.hur@samsung.com> | 2016-12-13 10:37:50 +0900 |
commit | e31d4d977df743249eb3fb986672a0f5eb3ee252 (patch) | |
tree | df68622245cc7d555ff5c69801b100bdfc6fcdfd /ElmSharp.Test | |
parent | 5b3b8dedcde3b1cfe858ce23e8a04240c8247f9b (diff) | |
download | elm-sharp-e31d4d977df743249eb3fb986672a0f5eb3ee252.tar.gz elm-sharp-e31d4d977df743249eb3fb986672a0f5eb3ee252.tar.bz2 elm-sharp-e31d4d977df743249eb3fb986672a0f5eb3ee252.zip |
Add recycle cache feature in genlist
Change-Id: I9da339419dbfadb81ae991f9c97f59d6f1f8ba3a
Diffstat (limited to 'ElmSharp.Test')
-rw-r--r-- | ElmSharp.Test/ElmSharp.Test.csproj | 3 | ||||
-rw-r--r-- | ElmSharp.Test/TC/GenListTest8.cs | 111 |
2 files changed, 113 insertions, 1 deletions
diff --git a/ElmSharp.Test/ElmSharp.Test.csproj b/ElmSharp.Test/ElmSharp.Test.csproj index b019daa..a532bdc 100644 --- a/ElmSharp.Test/ElmSharp.Test.csproj +++ b/ElmSharp.Test/ElmSharp.Test.csproj @@ -64,6 +64,7 @@ <Compile Include="TC\GenListTest4.cs" /> <Compile Include="TC\GenListTest6.cs" /> <Compile Include="TC\TableTest1.cs" /> + <Compile Include="TC\GenListTest8.cs" /> <Compile Include="TC\PerformanceTest.cs" /> <Compile Include="TC\GenListTest5.cs" /> <Compile Include="TC\IconTest1.cs" /> @@ -182,4 +183,4 @@ </FlavorProperties> </VisualStudio> </ProjectExtensions> -</Project>
\ No newline at end of file +</Project> diff --git a/ElmSharp.Test/TC/GenListTest8.cs b/ElmSharp.Test/TC/GenListTest8.cs new file mode 100644 index 0000000..6316235 --- /dev/null +++ b/ElmSharp.Test/TC/GenListTest8.cs @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using ElmSharp; +using System.Collections.Generic; + +namespace ElmSharp.Test +{ + class GenListTest8 : TestCaseBase + { + + Dictionary<EvasObject, Button> _cacheMap = new Dictionary<EvasObject, Button>(); + public override string TestName => "GenListTest8"; + public override string TestDescription => "To test group operation of GenList"; + + public override void Run(Window window) + { + Background bg = new Background(window) + { + Color = Color.White, + AlignmentX = -1, + AlignmentY = -1, + WeightX = 1, + WeightY = 1 + }; + bg.Show(); + bg.Lower(); + + window.AddResizeObject(bg); + Conformant conformant = new Conformant(window); + conformant.Show(); + Box box = new Box(window) + { + AlignmentX = -1, + AlignmentY = -1, + WeightX = 1, + WeightY = 1 + }; + Check check = new Check(window); + check.Show(); + check.IsChecked = true; + check.Text = "Reuse?"; + + GenList list = new GenList(window) + { + Homogeneous = false, + AlignmentX = -1, + AlignmentY = -1, + WeightX = 1, + WeightY = 1 + }; + + GenItemClass fullyCustomizeClass = new GenItemClass("full") + { + GetContentHandler = (obj, part) => + { + Console.WriteLine("{0} part create requested", part); + var btn = new Button(window) + { + AlignmentX = -1, + WeightX = 1, + Text = (string)obj + }; + return btn; + }, + ReusableContentHandler = (object data, string part, EvasObject old) => + { + Console.WriteLine("{0} part reuse requested", part); + if (!check.IsChecked) + { + return null; + } + var btn = old as Button; + btn.Text = (string)data; + return old; + } + }; + + for (int i = 0; i < 100; i++) + { + list.Append(fullyCustomizeClass, string.Format("{0} Item", i), GenListItemType.Normal); + } + + list.Show(); + list.ItemSelected += List_ItemSelected; ; + box.Show(); + box.PackEnd(check); + box.PackEnd(list); + conformant.SetContent(box); + } + + private void List_ItemSelected(object sender, GenListItemEventArgs e) + { + Console.WriteLine("{0} Item was selected", (string)(e.Item.Data)); + } + } +} |