Release 10.0.0.16997
[platform/core/csapi/tizenfx.git] / test / NUITestSample / NUITestSample / examples / AtspiTest.cs
1
2
3 using Tizen.NUI;
4 using Tizen.NUI.BaseComponents;
5 using tlog = Tizen.Log;
6
7 namespace Tizen.TV.NUI.Example
8 {
9     public class AtspiTest : IExample
10     {
11         View view;
12         const string tag = "NUITEST";
13
14         public void Activate()
15         {
16             Window.Instance.KeyEvent += OnKeyEvent;
17             Window.Instance.BackgroundColor = Color.Green;
18
19             guide = new TextLabel();
20             guide.Position = new Position(100, 100, 0);
21             guide.MultiLine = true;
22             guide.PointSize = 30.0f;
23             guide.Text = "dali-atspi test\n" +
24                             "Return Key: stop Say().\n" +
25                             "Up Key: Say() script3. discardable=false.\n" +
26                             "Right Key: Say() script1.\n" +
27                             "Down Key: Say() repeat infinitely.\n" +
28                             "Left Key: Say() script2.";
29
30             Window.Instance.GetDefaultLayer().Add(guide);
31
32             view = new View();
33             view.Size2D = new Size2D(100, 100);
34             view.Position2D = new Position2D(700, 700);
35             view.BackgroundColor = Color.Red;
36             Window.Instance.GetDefaultLayer().Add(view);
37
38             view.KeyEvent += OnKeyPressed;
39             view.Focusable = true;
40             FocusManager.Instance.SetCurrentFocusView(view);
41
42             //var accessbilityStatus = NDalicPINVOKE.accessibility_get_status(View.getCPtr(view));
43             //Tizen.Log.Fatal("NUITEST", $"accessbilityStatus={accessbilityStatus}");
44         }
45
46         public void OnKeyEvent(object sender, Window.KeyEventArgs e)
47         {
48         }
49
50         private TextLabel guide;
51
52         string testScript1 = "¾È³çÇϼ¼¿ä. ´Þ¸® ¿¡ÀÌƼ¿¡½ºÇǾÆÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. ¼ýÀÚÀÏÅ°¸¦ ´©¸£¸é ÆÛÁîÀÌ°í ¼ýÀÚÀÌÅ°¸¦ ´©¸£¸é ¸®ÁÜÀÔ´Ï´Ù. " +
53             "Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved PROPRIETARY / CONFIDENTIAL " +
54             "This software is the confidential and proprietary information of SAMSUNG ELECTRONICS(Confidential Information). " +
55             "You shall not disclose such Confidential Information and shall use it only in accordance with the terms of the license agreement " +
56             "you entered into with SAMSUNG ELECTRONICS.SAMSUNG make no representations or warranties about the suitability of the software, " +
57             "either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, " +
58             "or non-infringement.SAMSUNG shall not be liable for any damages suffered by licensee as a result of using, modifying or distributing " +
59             "this software or its derivatives.";
60
61         const string testScript2 = "ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 1 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 2 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 3 " +
62             "ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 4 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 5 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 6 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 7 " +
63             "ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 8 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 9 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 10 " +
64             "ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 11 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 12 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 13 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 14 " +
65             "ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 15 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 16 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 17 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 18 " +
66             "ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 19 ÀÌ°Ç ¼¼ÀÌ Å×½ºÆ® ÀÔ´Ï´Ù. This is Say test 20";
67
68         const string testScript3 = "Say another test 1 Say another test 2 Say another test 3 Say another test 4 Say another test 5";
69
70         bool repeatFlag = false;
71         private bool OnKeyPressed(object source, View.KeyEventArgs e)
72         {
73             if (e.Key.State == Key.StateType.Down)
74             {
75                 tlog.Fatal(tag, $"KeyPressedName={e.Key.KeyPressedName}");
76                 //var accessbilityStatus = NDalicPINVOKE.accessibility_get_status(View.getCPtr(view));
77                 if (e.Key.KeyPressedName == "Return")
78                 {
79                     Accessibility.Instance.SayFinished -= Instance_SayFinished;
80                     Accessibility.Instance.Say("", true);
81                     repeatFlag = false;
82                 }
83                 else if (e.Key.KeyPressedName == "Right")
84                 {
85                     Accessibility.Instance.Say(testScript1, true);
86                 }
87                 else if (e.Key.KeyPressedName == "Left")
88                 {
89                     Accessibility.Instance.Say(testScript2, true);
90                 }
91                 else if (e.Key.KeyPressedName == "Up")
92                 {
93                     Accessibility.Instance.Say(testScript3, true);
94                 }
95                 else if (e.Key.KeyPressedName == "Down")
96                 {
97                     repeatFlag = true;
98                     Accessibility.Instance.SayFinished += Instance_SayFinished;
99                     Accessibility.Instance.Say("my name is say api !!!", true);
100                 }
101                 else if (e.Key.KeyPressedName == "1")
102                 {
103                     Accessibility.Instance.PauseResume(true);
104                 }
105                 else if (e.Key.KeyPressedName == "2")
106                 {
107                     Accessibility.Instance.PauseResume(false);
108                 }
109             }
110             return false;
111         }
112
113         private void Instance_SayFinished(object sender, Accessibility.SayFinishedEventArgs e)
114         {
115             tlog.Fatal(tag, $"Instance_SayFinished()! State={e.State}");
116             if (e.State == Accessibility.SayFinishedState.Stopped)
117             {
118                 Accessibility.Instance.Say("ÀÌ°Ç Äݹé Å×½ºÆ® ÀÔ´Ï´Ù. this is callback test!  ÄݹéÀ» »©·Á¸é È®ÀÎÅ°¸¦ ´©¸£¼¼¿ä. to remove callback please push Return key", true);
119             }
120         }
121
122         public void Deactivate()
123         {
124         }
125     }
126 }