ee788e102619182d1406624b86a2b62a909b61a2
[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.Debug("TCT", "[TestCase][WidgetView][WidgetView] Pass"); }
141                 else { Tizen.Log.Debug("TCT", "[TestCase][WidgetView][WidgetView] Fail"); }
142                 _widgetView = null;
143
144                 if (_viewManager) { Tizen.Log.Debug("TCT", "[TestCase][WidgetViewManager][WidgetViewManager] Pass"); }
145                 else { Tizen.Log.Debug("TCT", "[TestCase][WidgetViewManager][WidgetViewManager] Fail"); }
146
147                 _widgetView = _viewManager.AddWidget("org.tizen.example.WidgetApplicationWearableSample", content, 360, 130, 0);
148                 if (_widgetView) { Tizen.Log.Debug("TCT", "[TestCase][AddWidget][WidgetViewManager] Pass"); }
149                 else { Tizen.Log.Debug("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.Debug("TCT", "[TestCase][WidgetID][WidgetView] Pass"); }
163                 else { Tizen.Log.Debug("TCT", "[TestCase][WidgetID][WidgetView] Fail"); }
164
165                 Tizen.Log.Fatal("NUIWidget", "widget view InstanceID: " + _widgetView.InstanceID);
166                 if (_widgetView.InstanceID != "") { Tizen.Log.Debug("TCT", "[TestCase][InstanceID][WidgetView] Pass"); }
167                 else { Tizen.Log.Debug("TCT", "[TestCase][InstanceID][WidgetView] Fail"); }
168
169                 Tizen.Log.Fatal("NUIWidget", "widget view ContentInfo: " + _widgetView.ContentInfo);
170                 if (_widgetView.ContentInfo != "") { Tizen.Log.Debug("TCT", "[TestCase][ContentInfo][WidgetView] Pass"); }
171                 else { Tizen.Log.Debug("TCT", "[TestCase][ContentInfo][WidgetView] Fail"); }
172
173                 Tizen.Log.Fatal("NUIWidget", "widget view Title: " + _widgetView.Title);
174                 if (_widgetView.Title == "WidgetApplicationWearableSample") { Tizen.Log.Debug("TCT", "[TestCase][Title][WidgetView] Pass"); }
175                 else { Tizen.Log.Debug("TCT", "[TestCase][Title][WidgetView] Fail"); }
176
177                 Tizen.Log.Fatal("NUIWidget", "widget view UpdatePeriod: " + _widgetView.UpdatePeriod);
178                 if (_widgetView.UpdatePeriod == 0) { Tizen.Log.Debug("TCT", "[TestCase][UpdatePeriod][WidgetView] Pass"); }
179                 else { Tizen.Log.Debug("TCT", "[TestCase][UpdatePeriod][WidgetView] Fail"); }
180
181                 Tizen.Log.Fatal("NUIWidget", "widget view LoadingText: " + _widgetView.LoadingText);
182                 if (_widgetView.LoadingText == true) { Tizen.Log.Debug("TCT", "[TestCase][LoadingText][WidgetView] Pass"); }
183                 else { Tizen.Log.Debug("TCT", "[TestCase][LoadingText][WidgetView] Fail"); }
184
185                 AddEventHandler();
186             }
187             Tizen.Log.Fatal("NUIWidget", "Widget view has been created!");
188
189             return true;
190         }
191
192         private void OnWidgetContentUpdated(object sender, WidgetView.WidgetViewEventArgs e)
193         {
194             Tizen.Log.Fatal("NUIWidget", "Widget view content updated triggered");
195             string updatedContent = e.WidgetView.ContentInfo;
196             Bundle content = Bundle.Decode(updatedContent);
197             string imageIdx = Convert.ToString(content.GetItem("ImageIdx"));
198
199             Tizen.Log.Fatal("NUIWidget", "Get content string " + imageIdx);
200         }
201
202         private bool OnDeleteBtnClicked(object source, EventArgs e)
203         {
204             if (_widgetView != null)
205             {
206                 bool ret = _widgetView.PermanentDelete;
207                 if (ret == false) { Tizen.Log.Debug("TCT", "[TestCase][PermanentDelete][WidgetView] Pass"); }
208                 else { Tizen.Log.Debug("TCT", "[TestCase][PermanentDelete][WidgetView] Fail"); }
209
210                 ret = _widgetView.CancelTouchEvent();
211                 if (ret) { Tizen.Log.Debug("TCT", "[TestCase][CancelTouchEvent][WidgetView] Pass"); }
212                 else { Tizen.Log.Debug("TCT", "[TestCase][CancelTouchEvent][WidgetView] Fail"); }
213                 _window.Remove(_widgetView);
214
215                 ret = _widgetView.TerminateWidget();
216                 if (ret) { Tizen.Log.Debug("TCT", "[TestCase][TerminateWidget][WidgetView] Pass"); }
217                 else { Tizen.Log.Debug("TCT", "[TestCase][TerminateWidget][WidgetView] Fail"); }
218
219                 _widgetView.Dispose();
220                 _widgetView = null;
221             }
222             Tizen.Log.Fatal("NUIWidget", "Widget view has been removed!");
223             return true;
224         }
225
226         private bool OnResumeBtnClicked(object source, EventArgs e)
227         {
228             if (_widgetView != null)
229             {
230                 bool ret = _widgetView.ResumeWidget();
231                 if (ret) { Tizen.Log.Debug("TCT", "[TestCase][ResumeWidget][WidgetView] Pass"); }
232                 else { Tizen.Log.Debug("TCT", "[TestCase][ResumeWidget][WidgetView] Fail"); }
233
234                 try
235                 {
236                     _widgetView.ActivateFaultedWidget();
237                 }
238                 catch (Exception exception)
239                 {
240                     Tizen.Log.Error("TCT", "[TestCase] Caught Exception" + exception.ToString());
241                     Tizen.Log.Error("TCT", "[TestCase][ActivateFaultedWidget][WidgetView] Fail");
242                 }
243                 Tizen.Log.Debug("TCT", "[TestCase][ActivateFaultedWidget][WidgetView] Pass");
244
245                 ret = _widgetView.Preview;
246                 if (ret) { Tizen.Log.Debug("TCT", "[TestCase][Preview][WidgetView] Pass"); }
247                 else { Tizen.Log.Debug("TCT", "[TestCase][Preview][WidgetView] Fail"); }
248
249                 ret = _widgetView.WidgetStateFaulted;
250                 if (!ret) { Tizen.Log.Debug("TCT", "[TestCase][WidgetStateFaulted][WidgetView] Pass"); }
251                 else { Tizen.Log.Debug("TCT", "[TestCase][WidgetStateFaulted][WidgetView] Fail"); }
252             }
253             Tizen.Log.Fatal("NUIWidget", "Widget view has been resumed!");
254             return true;
255         }
256
257         private bool OnPauseBtnClicked(object source, EventArgs e)
258         {
259             if (_widgetView != null)
260             {
261                 bool ret = _widgetView.PauseWidget();
262                 if (ret) { Tizen.Log.Debug("TCT", "[TestCase][PauseWidget][WidgetView] Pass"); }
263                 else { Tizen.Log.Debug("TCT", "[TestCase][PauseWidget][WidgetView] Fail"); }
264             }
265             Tizen.Log.Fatal("NUIWidget", "Widget view has been paused!");
266             return true;
267         }\r
268 \r
269         private bool OnResizeBtnClicked(object source, EventArgs e)
270         {
271             if (_widgetView != null)
272             {
273                 _widgetView.Size2D = new Size2D(360, 80);
274             }
275             Tizen.Log.Fatal("NUIWidget", "Widget view has been resized!");
276
277             return true;
278         }
279         private void AddEventHandler()
280         {
281             if (_widgetView != null)
282             {
283                 _widgetView.WidgetAdded += (src, arg) => {
284                     Tizen.Log.Fatal("NUIWidget", "Widget view added triggered");
285                     Tizen.Log.Debug("TCT", "[TestCase][WidgetAdded][WidgetView] Pass");
286                     if (arg != null)
287                     {
288                         Tizen.Log.Debug("TCT", "[TestCase][WidgetViewEventArgs][WidgetView] Pass");
289                         if (arg.WidgetView != null) { Tizen.Log.Debug("TCT", "[TestCase][WidgetViewEventArgs.WidgetView][WidgetView] Pass"); }
290                         else { Tizen.Log.Debug("TCT", "[TestCase][WidgetViewEventArgs.WidgetView][WidgetView] Fail"); }
291                     }
292                     else
293                     {
294                         Tizen.Log.Debug("TCT", "[TestCase][WidgetViewEventArgs][WidgetView] Fail");
295                     }
296                 };
297
298                 _widgetView.WidgetDeleted += (src, arg) => {
299                     Tizen.Log.Fatal("NUIWidget", "Widget view deleted triggered");
300                     Tizen.Log.Debug("TCT", "[TestCase][WidgetDeleted][WidgetView] Pass");
301                 };
302
303                 _widgetView.WidgetCreationAborted += (src, arg) => {
304                     Tizen.Log.Fatal("NUIWidget", "Widget view creation aborted triggered");
305                 };
306
307
308                 _widgetView.WidgetUpdatePeriodChanged += (src, arg) => {
309                     Tizen.Log.Fatal("NUIWidget", "Widget view update periodChanged triggered");
310                     Tizen.Log.Debug("TCT", "[TestCase][WidgetUpdatePeriodChanged][WidgetView] Pass");
311                 };
312
313                 _widgetView.WidgetFaulted += (src, arg) => {
314                     Tizen.Log.Fatal("NUIWidget", "Widget view faulted triggered");
315                     Tizen.Log.Debug("TCT", "[TestCase][WidgetFaulted][WidgetView] Pass");
316                 };
317             }
318         }
319
320         static void Main(string[] args)
321         {
322             var app = new Program();
323             app.Run(args);
324         }
325     }
326 }