diff options
Diffstat (limited to 'ElmSharp.Wearable.Test/TC/MoreOptionTest.cs')
-rw-r--r-- | ElmSharp.Wearable.Test/TC/MoreOptionTest.cs | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/ElmSharp.Wearable.Test/TC/MoreOptionTest.cs b/ElmSharp.Wearable.Test/TC/MoreOptionTest.cs new file mode 100644 index 0000000..4c0e2b8 --- /dev/null +++ b/ElmSharp.Wearable.Test/TC/MoreOptionTest.cs @@ -0,0 +1,91 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +using ElmSharp.Wearable; + +namespace ElmSharp.Test.TC +{ + class MoreOptionTest : TestCaseBase + { + public override string TestName => "MoreOptionTest"; + + public override string TestDescription => "Wearable More Option Widget Test"; + + class ColorMoreOptionItem : MoreOptionItem + { + public Color Color; + public ColorMoreOptionItem(Window window, string iconName, Color color) + { + MainText = (iconName.First().ToString().ToUpper() + iconName.Substring(1)).Replace('_', ' '); + SubText = color.ToString(); + Icon = new Image(window); + Icon.Show(); + Icon.Load(Path.Combine(TestRunner.ResourceDir, "icons", iconName+".png")); + Color = color; + } + } + + static Color Deep(Color color) + { + return new Color(color.R / 2, color.G / 2, color.B / 2); + } + + public override void Run(Window window) + { + Conformant conf = new Conformant(window); + conf.Show(); + + MoreOption option = new MoreOption(window) + { + AlignmentX = -1, + AlignmentY = -1, + WeightX = 1, + WeightY = 1, + Direction = MoreOptionDirection.Right + }; + option.Show(); + //option.Move(window.ScreenSize.Width/2, window.ScreenSize.Height/2); + conf.SetContent(option); + + option.Items.Add(new ColorMoreOptionItem(window, "icon_aquamarine_260_me", Color.FromHex("#800000"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_auamarine_260_me", Color.FromHex("#800012"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_azure_215_me", Color.FromHex("#800034"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_beige_330_me", Color.FromHex("#800056"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_blue_45_me", Color.FromHex("#800067"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_brown_90_me", Color.FromHex("#800087"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_cyan_230_me", Color.FromHex("#800023"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_firebrick_95_me", Color.FromHex("#804300"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_gold_75_me", Color.FromHex("#854000"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_green_60_me", Color.FromHex("#800340"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_honeydew_285_me", Color.FromHex("#823000"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_ivory_315_me", Color.FromHex("#806700"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_khaki_360_me", Color.FromHex("#80ab00"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_lime_300_me", Color.FromHex("#800c30"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_maroon_120_me", Color.FromHex("#8fd000"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_me", Color.FromHex("#800000"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_orchid_160_me", Color.FromHex("#8d3000"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_pink_145_me", Color.FromHex("#8002d0"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_purple_200_me", Color.FromHex("#8ff000"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_red_30_me", Color.FromHex("#800fa0"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_snow_75_me", Color.FromHex("#80f200"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_snow_80_me", Color.FromHex("#80d200"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_teal_245_me", Color.FromHex("#80f300"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_violet_180_me", Color.FromHex("#80fb00"))); + option.Items.Add(new ColorMoreOptionItem(window, "icon_yellow_345_me", Color.FromHex("#800b30"))); + + option.Opened += (s, e) => Log.Debug(TestName, "Opened!"); + option.Closed += (s, e) => Log.Debug(TestName, "Closed!"); + option.Selected += (s, e) => Log.Debug(TestName, "Selected! : " + e?.Item?.MainText); + option.Clicked += (s, e) => Log.Debug(TestName, "Clicked! : " + e?.Item?.MainText); + + option.Opened += (s, e) => option.BackgroundColor = Color.Aqua; + option.Closed += (s, e) => option.BackgroundColor = Color.Black; + + option.Selected += (s, e) => option.BackgroundColor = (e?.Item as ColorMoreOptionItem).Color; + option.Clicked += (s, e) => option.BackgroundColor = Deep((e?.Item as ColorMoreOptionItem).Color); + } + } +} |