4652bfb13c48c8ad16f381029049f421e1844b2e
[test/tct/csharp/api.git] /
1 using System;
2 using Tizen.NUI;
3 using Tizen.NUI.BaseComponents;
4 using Tizen.NUI.UIComponents;
5 using Tizen.Applications;
6
7 namespace WidgetViewSample
8 {
9     class Program : NUIApplication
10     {
11         private WidgetViewManager _viewManager = null;
12         private WidgetView _widgetView = null;
13         private PushButton _widgetAddBtn = null;
14         private PushButton _widgetDeleteBtn = null;
15         private PushButton _widgetPauseBtn = null;
16         private PushButton _widgetResumeBtn = null;
17         private PushButton _widgetResizeBtn = null;
18
19         private Window _window = null;
20         private float _pointSize = 4.0f;
21         private View _buttons = null;
22
23         protected override void OnCreate()
24         {
25             base.OnCreate();
26             Initialize();
27         }
28
29         void Initialize()
30         {
31             _window = Window.Instance;
32             _window.BackgroundColor = Color.Black;
33             Tizen.Log.Fatal("NUIWidget", "ApplicationID: " + ApplicationInfo.ApplicationId);
34
35             _viewManager = new WidgetViewManager(this, ApplicationInfo.ApplicationId);
36
37             _buttons = new View();
38             _buttons.Size2D = new Size2D(220, 60);
39             _buttons.Position2D = new Position2D(0, 200);
40             _buttons.ParentOrigin = ParentOrigin.TopLeft;
41             _buttons.PivotPoint = PivotPoint.TopLeft;
42
43             _window.Add(_buttons);
44
45             _widgetAddBtn = new PushButton();
46             _widgetAddBtn.Label = CreateTextMap(_pointSize, "Add");
47             _widgetAddBtn.Size2D = new Size2D(80, 30);
48             _widgetAddBtn.Position2D = new Position2D(-60, 0);
49             _widgetAddBtn.Clicked += OnAddBtnClicked;
50             _buttons.Add(_widgetAddBtn);
51             Tizen.Log.Fatal("NUIWidget", "Add button add");
52
53             _widgetDeleteBtn = new PushButton();
54             _widgetDeleteBtn.Label = CreateTextMap(_pointSize, "Delete");
55             _widgetDeleteBtn.Size2D = new Size2D(80, 30);
56             _widgetDeleteBtn.Position2D = new Position2D(-10, 52);
57             _widgetDeleteBtn.Clicked += OnDeleteBtnClicked;
58             _buttons.Add(_widgetDeleteBtn);
59             Tizen.Log.Fatal("NUIWidget", "Add button delete");
60
61             _widgetPauseBtn = new PushButton();
62             _widgetPauseBtn.Label = CreateTextMap(_pointSize, "Pause");
63             _widgetPauseBtn.Size2D = new Size2D(80, 30);
64             _widgetPauseBtn.Position2D = new Position2D(35, 0);
65             _widgetPauseBtn.Focusable = true;
66             _widgetPauseBtn.Clicked += OnPauseBtnClicked;
67             _buttons.Add(_widgetPauseBtn);
68             Tizen.Log.Fatal("NUIWidget", "Add button pause");
69
70             _widgetResumeBtn = new PushButton();
71             _widgetResumeBtn.Label = CreateTextMap(_pointSize, "Resume");
72             _widgetResumeBtn.Size2D = new Size2D(80, 30);
73             _widgetResumeBtn.Position2D = new Position2D(130, 0);
74             _widgetResumeBtn.Focusable = true;
75             _widgetResumeBtn.Clicked += OnResumeBtnClicked;
76             _buttons.Add(_widgetResumeBtn);
77             Tizen.Log.Fatal("NUIWidget", "Add button resume");
78
79             _widgetResizeBtn = new PushButton();
80             _widgetResizeBtn.Label = CreateTextMap(_pointSize, "Resize");
81             _widgetResizeBtn.Size2D = new Size2D(80, 30);
82             _widgetResizeBtn.Position2D = new Position2D(80, 52);
83             _widgetResizeBtn.Focusable = true;
84             _widgetResizeBtn.Clicked += OnResizeBtnClicked;
85             _buttons.Add(_widgetResizeBtn);
86             Tizen.Log.Fatal("NUIWidget", "Add button resume");
87
88             Window.Instance.KeyEvent += AppBack;
89         }
90
91         /// <summary>
92         /// This Application will be exited when back key entered.
93         /// </summary>
94         /// <param name="source">Window.Instance</param>
95         /// <param name="e">event</param>
96         private void AppBack(object source, Window.KeyEventArgs e)
97         {
98             if (e.Key.State == Key.StateType.Down)
99             {
100                 Tizen.Log.Info("Key", e.Key.KeyPressedName);
101                 if (e.Key.KeyPressedName == "XF86Back")
102                 {
103                     this.Exit();
104                 }
105             }
106         }
107         private PropertyMap CreateTextMap(float pointSize, string text)
108         {
109             PropertyMap map = new PropertyMap();
110             map.Insert(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
111             map.Insert((int)TextVisualProperty.Text, new PropertyValue(text));
112             map.Insert((int)TextVisualProperty.PointSize, new PropertyValue(pointSize));
113             map.Insert((int)TextVisualProperty.VerticalAlignment, new PropertyValue("BOTTOM"));
114             return map;
115         }
116
117         private bool IsEmulator()
118         {
119             string value;
120             var result = Tizen.System.Information.TryGetValue("tizen.org/system/model_name", out value);
121             if (result && value.Equals("Emulator"))
122             {
123                 return true;
124             }
125
126             return false;
127         }
128
129         private bool OnAddBtnClicked(object source, EventArgs e)
130         {
131             if (_widgetView == null)
132             {
133                 Tizen.Log.Fatal("NUIWidget", "Widget view will creat!");
134                 Bundle bundle = new Bundle();
135                 bundle.AddItem("ImageIdx", "1");
136                 string content = bundle.Encode();
137                 Tizen.Log.Fatal("NUIWidget", "Will send content string " + content);
138
139                 _widgetView = new WidgetView("test", "test", 100, 100, 0);
140                 if (_widgetView != null) { Tizen.Log.Error("TCT", "[TestCase][WidgetView][WidgetView] Pass"); }
141                 else { Tizen.Log.Error("TCT", "[TestCase][WidgetView][WidgetView] Fail"); }
142                 _widgetView = null;
143
144                 if (_viewManager) { Tizen.Log.Error("TCT", "[TestCase][WidgetViewManager][WidgetViewManager] Pass"); }
145                 else { Tizen.Log.Error("TCT", "[TestCase][WidgetViewManager][WidgetViewManager] Fail"); }
146
147                 _widgetView = _viewManager.AddWidget("org.tizen.example.WidgetApplicationWearableSample", content, 360, 130, 0);
148                 if (_widgetView) { Tizen.Log.Error("TCT", "[TestCase][AddWidget][WidgetViewManager] Pass"); }
149                 else { Tizen.Log.Error("TCT", "[TestCase][AddWidget][WidgetViewManager] Fail"); }
150
151                 _widgetView.WidgetContentUpdated += OnWidgetContentUpdated;
152                 _widgetView.Size2D = new Size2D(360, 130);
153                 _widgetView.ParentOrigin = ParentOrigin.TopLeft;
154                 _widgetView.PivotPoint = PivotPoint.TopLeft;
155                 _widgetView.Position2D = new Position2D(0, 50);
156                 _widgetView.PositionUsesPivotPoint = true;
157                 _window.Add(_widgetView);
158
159                 _widgetView.Size2D = new Size2D(360, 130);
160
161                 Tizen.Log.Fatal("NUIWidget", "widget view WidgetID: " + _widgetView.WidgetID);
162                 if (_widgetView.WidgetID == "org.tizen.example.WidgetApplicationWearableSample") { Tizen.Log.Error("TCT", "[TestCase][WidgetID][WidgetView] Pass"); }
163                 else { Tizen.Log.Error("TCT", "[TestCase][WidgetID][WidgetView] Fail"); }
164
165                 Tizen.Log.Fatal("NUIWidget", "widget view InstanceID: " + _widgetView.InstanceID);
166                 if (_widgetView.InstanceID != "") { Tizen.Log.Error("TCT", "[TestCase][InstanceID][WidgetView] Pass"); }
167                 else { Tizen.Log.Error("TCT", "[TestCase][InstanceID][WidgetView] Fail"); }
168
169                 Tizen.Log.Fatal("NUIWidget", "widget view ContentInfo: " + _widgetView.ContentInfo);
170                 if (_widgetView.ContentInfo != "") { Tizen.Log.Error("TCT", "[TestCase][ContentInfo][WidgetView] Pass"); }
171                 else { Tizen.Log.Error("TCT", "[TestCase][ContentInfo][WidgetView] Fail"); }
172
173                 Tizen.Log.Fatal("NUIWidget", "widget view Title: " + _widgetView.Title);
174                 if (_widgetView.Title == "WidgetApplicationWearableSample") { Tizen.Log.Error("TCT", "[TestCase][Title][WidgetView] Pass"); }
175                 else { Tizen.Log.Error("TCT", "[TestCase][Title][WidgetView] Fail"); }
176
177                 Tizen.Log.Fatal("NUIWidget", "widget view UpdatePeriod: " + _widgetView.UpdatePeriod);
178                 if (_widgetView.UpdatePeriod == 0) { Tizen.Log.Error("TCT", "[TestCase][UpdatePeriod][WidgetView] Pass"); }
179                 else { Tizen.Log.Error("TCT", "[TestCase][UpdatePeriod][WidgetView] Fail"); }
180
181                 Tizen.Log.Fatal("NUIWidget", "widget view LoadingText: " + _widgetView.LoadingText);
182                 if (_widgetView.LoadingText == true) { Tizen.Log.Error("TCT", "[TestCase][LoadingText][WidgetView] Pass"); }
183                 else { Tizen.Log.Error("TCT", "[TestCase][LoadingText][WidgetView] Fail"); }
184                 PropertyMap retryText = new PropertyMap();
185                 retryText.Add("stateText", new PropertyValue("RetryTextTest"));
186                 _widgetView.RetryText = retryText;
187                 Tizen.Log.Fatal("NUIWidget", "widget view set retryText: RetryTextTest");
188
189                 PropertyMap getRetryText = _widgetView.RetryText;
190                 if (getRetryText != null) { Tizen.Log.Error("TCT", "[TestCase][RetryText][WidgetView] Pass"); }
191                 else { Tizen.Log.Error("TCT", "[TestCase][RetryText][WidgetView] Fail"); }
192
193                 PropertyMap effect = new PropertyMap();
194                 retryText.Add("shader", new PropertyValue("ShaderText"));
195                 _widgetView.Effect = effect;
196                 Tizen.Log.Fatal("NUIWidget", "widget view set effect: ShaderText");
197
198                 PropertyMap getEffect = _widgetView.Effect;
199                 if (getEffect != null) { Tizen.Log.Error("TCT", "[TestCase][Effect][WidgetView] Pass"); }
200                 else { Tizen.Log.Error("TCT", "[TestCase][Effect][WidgetView] Fail"); }
201
202                 AddEventHandler();
203             }
204             Tizen.Log.Fatal("NUIWidget", "Widget view has been created!");
205
206             return true;
207         }
208
209         private void OnWidgetContentUpdated(object sender, WidgetView.WidgetViewEventArgs e)
210         {
211             Tizen.Log.Fatal("NUIWidget", "Widget view content updated triggered");
212             Tizen.Log.Error("TCT", "[TestCase][WidgetContentUpdated][WidgetView] Pass");
213
214             string updatedContent = e.WidgetView.ContentInfo;
215             Bundle content = Bundle.Decode(updatedContent);
216             string imageIdx = Convert.ToString(content.GetItem("ImageIdx"));
217
218             Tizen.Log.Fatal("NUIWidget", "Get content string " + imageIdx);
219         }
220
221         private bool OnDeleteBtnClicked(object source, EventArgs e)
222         {
223             if (_widgetView != null)
224             {
225                 bool ret = _widgetView.PermanentDelete;
226                 if (ret == false) { Tizen.Log.Error("TCT", "[TestCase][PermanentDelete][WidgetView] Pass"); }
227                 else { Tizen.Log.Error("TCT", "[TestCase][PermanentDelete][WidgetView] Fail"); }
228
229                 ret = _widgetView.CancelTouchEvent();
230                 if (ret) { Tizen.Log.Error("TCT", "[TestCase][CancelTouchEvent][WidgetView] Pass"); }
231                 else { Tizen.Log.Error("TCT", "[TestCase][CancelTouchEvent][WidgetView] Fail"); }
232                 _window.Remove(_widgetView);
233
234                 ret = _widgetView.TerminateWidget();
235                 if (ret) { Tizen.Log.Error("TCT", "[TestCase][TerminateWidget][WidgetView] Pass"); }
236                 else { Tizen.Log.Error("TCT", "[TestCase][TerminateWidget][WidgetView] Fail"); }
237
238                 _widgetView.Dispose();
239                 _widgetView = null;
240             }
241             Tizen.Log.Fatal("NUIWidget", "Widget view has been removed!");
242             return true;
243         }
244
245         private bool OnResumeBtnClicked(object source, EventArgs e)
246         {
247             if (_widgetView != null)
248             {
249                 bool ret = _widgetView.ResumeWidget();
250                 if (ret) { Tizen.Log.Error("TCT", "[TestCase][ResumeWidget][WidgetView] Pass"); }
251                 else { Tizen.Log.Error("TCT", "[TestCase][ResumeWidget][WidgetView] Fail"); }
252
253                 try
254                 {
255                     _widgetView.ActivateFaultedWidget();
256                 }
257                 catch (Exception exception)
258                 {
259                     Tizen.Log.Error("TCT", "[TestCase] Caught Exception" + exception.ToString());
260                     Tizen.Log.Error("TCT", "[TestCase][ActivateFaultedWidget][WidgetView] Fail");
261                 }
262                 Tizen.Log.Error("TCT", "[TestCase][ActivateFaultedWidget][WidgetView] Pass");
263
264                 ret = _widgetView.Preview;
265                 if (ret) { Tizen.Log.Error("TCT", "[TestCase][Preview][WidgetView] Pass"); }
266                 else { Tizen.Log.Error("TCT", "[TestCase][Preview][WidgetView] Fail"); }
267
268                 ret = _widgetView.WidgetStateFaulted;
269                 if (!ret) { Tizen.Log.Error("TCT", "[TestCase][WidgetStateFaulted][WidgetView] Pass"); }
270                 else { Tizen.Log.Error("TCT", "[TestCase][WidgetStateFaulted][WidgetView] Fail"); }
271             }
272             Tizen.Log.Fatal("NUIWidget", "Widget view has been resumed!");
273             return true;
274         }
275
276         private bool OnPauseBtnClicked(object source, EventArgs e)
277         {
278             if (_widgetView != null)
279             {
280                 bool ret = _widgetView.PauseWidget();
281                 if (ret) { Tizen.Log.Error("TCT", "[TestCase][PauseWidget][WidgetView] Pass"); }
282                 else { Tizen.Log.Error("TCT", "[TestCase][PauseWidget][WidgetView] Fail"); }
283             }
284             Tizen.Log.Fatal("NUIWidget", "Widget view has been paused!");
285             return true;
286         }
287
288         private bool OnResizeBtnClicked(object source, EventArgs e)
289         {
290             if (_widgetView != null)
291             {
292                 _widgetView.Size2D = new Size2D(360, 80);
293             }
294             Tizen.Log.Fatal("NUIWidget", "Widget view has been resized!");
295
296             return true;
297         }
298         private void AddEventHandler()
299         {
300             if (_widgetView != null)
301             {
302                 _widgetView.WidgetAdded += (src, arg) => {
303                     Tizen.Log.Fatal("NUIWidget", "Widget view added triggered");
304                     Tizen.Log.Error("TCT", "[TestCase][WidgetAdded][WidgetView] Pass");
305                     if (arg != null)
306                     {
307                         Tizen.Log.Error("TCT", "[TestCase][WidgetViewEventArgs][WidgetView] Pass");
308                         if (arg.WidgetView != null) { Tizen.Log.Error("TCT", "[TestCase][WidgetViewEventArgs.WidgetView][WidgetView] Pass"); }
309                         else { Tizen.Log.Error("TCT", "[TestCase][WidgetViewEventArgs.WidgetView][WidgetView] Fail"); }
310                     }
311                     else
312                     {
313                         Tizen.Log.Error("TCT", "[TestCase][WidgetViewEventArgs][WidgetView] Fail");
314                     }
315                 };
316
317                 _widgetView.WidgetDeleted += (src, arg) => {
318                     Tizen.Log.Fatal("NUIWidget", "Widget view deleted triggered");
319                     Tizen.Log.Error("TCT", "[TestCase][WidgetDeleted][WidgetView] Pass");
320                 };
321
322                 _widgetView.WidgetCreationAborted += (src, arg) => {
323                     Tizen.Log.Fatal("NUIWidget", "Widget view creation aborted triggered");
324                 };
325
326
327                 _widgetView.WidgetUpdatePeriodChanged += (src, arg) => {
328                     Tizen.Log.Fatal("NUIWidget", "Widget view update periodChanged triggered");
329                     Tizen.Log.Error("TCT", "[TestCase][WidgetUpdatePeriodChanged][WidgetView] Pass");
330                 };
331
332                 _widgetView.WidgetFaulted += (src, arg) => {
333                     Tizen.Log.Fatal("NUIWidget", "Widget view faulted triggered");
334                     Tizen.Log.Error("TCT", "[TestCase][WidgetFaulted][WidgetView] Pass");
335                 };
336             }
337         }
338
339         static void Main(string[] args)
340         {
341             var app = new Program();
342             app.Run(args);
343         }
344     }
345 }