3 using Tizen.NUI.BaseComponents;
4 using Tizen.NUI.UIComponents;
5 using Tizen.Applications;
7 namespace WidgetViewSample
9 class Program : NUIApplication
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 private PushButton _widgetExitBtn = null;
20 private Window _window = null;
21 private float _pointSize = 4.0f;
22 private View _buttons = null;
24 protected override void OnCreate()
32 _window = Window.Instance;
33 _window.BackgroundColor = Color.Black;
34 Tizen.Log.Fatal("NUIWidget", "ApplicationID: " + ApplicationInfo.ApplicationId);
36 _viewManager = new WidgetViewManager(this, ApplicationInfo.ApplicationId);
38 _buttons = new View();
39 _buttons.Size2D = new Size2D(220, 60);
40 _buttons.Position2D = new Position2D(0, 200);
41 _buttons.ParentOrigin = ParentOrigin.TopLeft;
42 _buttons.PivotPoint = PivotPoint.TopLeft;
44 _window.Add(_buttons);
46 _widgetAddBtn = new PushButton();
47 _widgetAddBtn.Label = CreateTextMap(_pointSize, "Add");
48 _widgetAddBtn.Size2D = new Size2D(80, 30);
49 _widgetAddBtn.Position2D = new Position2D(-60, 0);
50 _widgetAddBtn.Clicked += OnAddBtnClicked;
51 _buttons.Add(_widgetAddBtn);
52 Tizen.Log.Fatal("NUIWidget", "Add button add");
54 _widgetDeleteBtn = new PushButton();
55 _widgetDeleteBtn.Label = CreateTextMap(_pointSize, "Delete");
56 _widgetDeleteBtn.Size2D = new Size2D(80, 30);
57 _widgetDeleteBtn.Position2D = new Position2D(-40, 52);
58 _widgetDeleteBtn.Clicked += OnDeleteBtnClicked;
59 _buttons.Add(_widgetDeleteBtn);
60 Tizen.Log.Fatal("NUIWidget", "Add button delete");
62 _widgetPauseBtn = new PushButton();
63 _widgetPauseBtn.Label = CreateTextMap(_pointSize, "Pause");
64 _widgetPauseBtn.Size2D = new Size2D(80, 30);
65 _widgetPauseBtn.Position2D = new Position2D(35, 0);
66 _widgetPauseBtn.Focusable = true;
67 _widgetPauseBtn.Clicked += OnPauseBtnClicked;
68 _buttons.Add(_widgetPauseBtn);
69 Tizen.Log.Fatal("NUIWidget", "Add button pause");
71 _widgetResumeBtn = new PushButton();
72 _widgetResumeBtn.Label = CreateTextMap(_pointSize, "Resume");
73 _widgetResumeBtn.Size2D = new Size2D(80, 30);
74 _widgetResumeBtn.Position2D = new Position2D(130, 0);
75 _widgetResumeBtn.Focusable = true;
76 _widgetResumeBtn.Clicked += OnResumeBtnClicked;
77 _buttons.Add(_widgetResumeBtn);
78 Tizen.Log.Fatal("NUIWidget", "Add button resume");
80 _widgetResizeBtn = new PushButton();
81 _widgetResizeBtn.Label = CreateTextMap(_pointSize, "Resize");
82 _widgetResizeBtn.Size2D = new Size2D(80, 30);
83 _widgetResizeBtn.Position2D = new Position2D(50, 52);
84 _widgetResizeBtn.Focusable = true;
85 _widgetResizeBtn.Clicked += OnResizeBtnClicked;
86 _buttons.Add(_widgetResizeBtn);
87 Tizen.Log.Fatal("NUIWidget", "Add button resume");
89 _widgetExitBtn = new PushButton();
90 _widgetExitBtn.Label = CreateTextMap(_pointSize, "Exit");
91 _widgetExitBtn.Size2D = new Size2D(80, 30);
92 _widgetExitBtn.Position2D = new Position2D(140, 52);
93 _widgetExitBtn.Focusable = true;
94 _widgetExitBtn.Clicked += OnExitBtnClicked;
95 _buttons.Add(_widgetExitBtn);
97 Window.Instance.KeyEvent += AppBack;
100 public override void Exit()
102 _widgetExitBtn.Clicked -= OnExitBtnClicked;
103 Window.Instance.KeyEvent -= AppBack;
108 /// This Application will be exited when back key entered.
110 /// <param name="source">Window.Instance</param>
111 /// <param name="e">event</param>
112 private void AppBack(object source, Window.KeyEventArgs e)
114 if (e.Key.State == Key.StateType.Down)
116 Tizen.Log.Info("Key", e.Key.KeyPressedName);
117 if (e.Key.KeyPressedName == "XF86Back")
123 private PropertyMap CreateTextMap(float pointSize, string text)
125 PropertyMap map = new PropertyMap();
126 map.Insert(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
127 map.Insert((int)TextVisualProperty.Text, new PropertyValue(text));
128 map.Insert((int)TextVisualProperty.PointSize, new PropertyValue(pointSize));
129 map.Insert((int)TextVisualProperty.VerticalAlignment, new PropertyValue("BOTTOM"));
133 private bool IsEmulator()
136 var result = Tizen.System.Information.TryGetValue("tizen.org/system/model_name", out value);
137 if (result && value.Equals("Emulator"))
145 private bool OnAddBtnClicked(object source, EventArgs e)
147 if (_widgetView == null)
149 Tizen.Log.Fatal("NUIWidget", "Widget view will creat!");
150 Bundle bundle = new Bundle();
151 bundle.AddItem("ImageIdx", "1");
152 string content = bundle.Encode();
153 Tizen.Log.Fatal("NUIWidget", "Will send content string " + content);
155 _widgetView = new WidgetView("test", "test", 100, 100, 0);
156 if (_widgetView != null) { Tizen.Log.Error("TCT", "[TestCase][WidgetView][WidgetView] Pass"); }
157 else { Tizen.Log.Error("TCT", "[TestCase][WidgetView][WidgetView] Fail"); }
160 if (_viewManager) { Tizen.Log.Error("TCT", "[TestCase][WidgetViewManager][WidgetViewManager] Pass"); }
161 else { Tizen.Log.Error("TCT", "[TestCase][WidgetViewManager][WidgetViewManager] Fail"); }
163 _widgetView = _viewManager.AddWidget("org.tizen.example.WidgetApplicationWearableSample", content, 360, 130, 0);
164 if (_widgetView) { Tizen.Log.Error("TCT", "[TestCase][AddWidget][WidgetViewManager] Pass"); }
165 else { Tizen.Log.Error("TCT", "[TestCase][AddWidget][WidgetViewManager] Fail"); }
167 _widgetView.WidgetContentUpdated += OnWidgetContentUpdated;
168 _widgetView.Size2D = new Size2D(360, 130);
169 _widgetView.ParentOrigin = ParentOrigin.TopLeft;
170 _widgetView.PivotPoint = PivotPoint.TopLeft;
171 _widgetView.Position2D = new Position2D(0, 50);
172 _widgetView.PositionUsesPivotPoint = true;
173 _window.Add(_widgetView);
175 _widgetView.Size2D = new Size2D(360, 130);
177 Tizen.Log.Fatal("NUIWidget", "widget view WidgetID: " + _widgetView.WidgetID);
178 if (_widgetView.WidgetID == "org.tizen.example.WidgetApplicationWearableSample") { Tizen.Log.Error("TCT", "[TestCase][WidgetID][WidgetView] Pass"); }
179 else { Tizen.Log.Error("TCT", "[TestCase][WidgetID][WidgetView] Fail"); }
181 Tizen.Log.Fatal("NUIWidget", "widget view InstanceID: " + _widgetView.InstanceID);
182 if (_widgetView.InstanceID != "") { Tizen.Log.Error("TCT", "[TestCase][InstanceID][WidgetView] Pass"); }
183 else { Tizen.Log.Error("TCT", "[TestCase][InstanceID][WidgetView] Fail"); }
185 Tizen.Log.Fatal("NUIWidget", "widget view ContentInfo: " + _widgetView.ContentInfo);
186 if (_widgetView.ContentInfo != "") { Tizen.Log.Error("TCT", "[TestCase][ContentInfo][WidgetView] Pass"); }
187 else { Tizen.Log.Error("TCT", "[TestCase][ContentInfo][WidgetView] Fail"); }
189 Tizen.Log.Fatal("NUIWidget", "widget view Title: " + _widgetView.Title);
190 if (_widgetView.Title == "WidgetApplicationWearableSample") { Tizen.Log.Error("TCT", "[TestCase][Title][WidgetView] Pass"); }
191 else { Tizen.Log.Error("TCT", "[TestCase][Title][WidgetView] Fail"); }
193 Tizen.Log.Fatal("NUIWidget", "widget view UpdatePeriod: " + _widgetView.UpdatePeriod);
194 if (_widgetView.UpdatePeriod == 0) { Tizen.Log.Error("TCT", "[TestCase][UpdatePeriod][WidgetView] Pass"); }
195 else { Tizen.Log.Error("TCT", "[TestCase][UpdatePeriod][WidgetView] Fail"); }
197 Tizen.Log.Fatal("NUIWidget", "widget view LoadingText: " + _widgetView.LoadingText);
198 if (_widgetView.LoadingText == true) { Tizen.Log.Error("TCT", "[TestCase][LoadingText][WidgetView] Pass"); }
199 else { Tizen.Log.Error("TCT", "[TestCase][LoadingText][WidgetView] Fail"); }
200 PropertyMap retryText = new PropertyMap();
201 retryText.Add("stateText", new PropertyValue("RetryTextTest"));
202 _widgetView.RetryText = retryText;
203 Tizen.Log.Fatal("NUIWidget", "widget view set retryText: RetryTextTest");
205 PropertyMap getRetryText = _widgetView.RetryText;
206 if (getRetryText != null) { Tizen.Log.Error("TCT", "[TestCase][RetryText][WidgetView] Pass"); }
207 else { Tizen.Log.Error("TCT", "[TestCase][RetryText][WidgetView] Fail"); }
209 PropertyMap effect = new PropertyMap();
210 retryText.Add("shader", new PropertyValue("ShaderText"));
211 _widgetView.Effect = effect;
212 Tizen.Log.Fatal("NUIWidget", "widget view set effect: ShaderText");
214 PropertyMap getEffect = _widgetView.Effect;
215 if (getEffect != null) { Tizen.Log.Error("TCT", "[TestCase][Effect][WidgetView] Pass"); }
216 else { Tizen.Log.Error("TCT", "[TestCase][Effect][WidgetView] Fail"); }
220 Tizen.Log.Fatal("NUIWidget", "Widget view has been created!");
225 private void OnWidgetContentUpdated(object sender, WidgetView.WidgetViewEventArgs e)
227 Tizen.Log.Fatal("NUIWidget", "Widget view content updated triggered");
228 Tizen.Log.Error("TCT", "[TestCase][WidgetContentUpdated][WidgetView] Pass");
230 string updatedContent = e.WidgetView.ContentInfo;
231 Bundle content = Bundle.Decode(updatedContent);
232 string imageIdx = Convert.ToString(content.GetItem("ImageIdx"));
234 Tizen.Log.Fatal("NUIWidget", "Get content string " + imageIdx);
237 private bool OnDeleteBtnClicked(object source, EventArgs e)
239 if (_widgetView != null)
241 bool ret = _widgetView.PermanentDelete;
242 if (ret == false) { Tizen.Log.Error("TCT", "[TestCase][PermanentDelete][WidgetView] Pass"); }
243 else { Tizen.Log.Error("TCT", "[TestCase][PermanentDelete][WidgetView] Fail"); }
245 ret = _widgetView.CancelTouchEvent();
246 if (ret) { Tizen.Log.Error("TCT", "[TestCase][CancelTouchEvent][WidgetView] Pass"); }
247 else { Tizen.Log.Error("TCT", "[TestCase][CancelTouchEvent][WidgetView] Fail"); }
248 _window.Remove(_widgetView);
250 ret = _widgetView.TerminateWidget();
251 if (ret) { Tizen.Log.Error("TCT", "[TestCase][TerminateWidget][WidgetView] Pass"); }
252 else { Tizen.Log.Error("TCT", "[TestCase][TerminateWidget][WidgetView] Fail"); }
254 _widgetView.Dispose();
257 Tizen.Log.Fatal("NUIWidget", "Widget view has been removed!");
261 private bool OnResumeBtnClicked(object source, EventArgs e)
263 if (_widgetView != null)
265 bool ret = _widgetView.ResumeWidget();
266 if (ret) { Tizen.Log.Error("TCT", "[TestCase][ResumeWidget][WidgetView] Pass"); }
267 else { Tizen.Log.Error("TCT", "[TestCase][ResumeWidget][WidgetView] Fail"); }
271 _widgetView.ActivateFaultedWidget();
273 catch (Exception exception)
275 Tizen.Log.Error("TCT", "[TestCase] Caught Exception" + exception.ToString());
276 Tizen.Log.Error("TCT", "[TestCase][ActivateFaultedWidget][WidgetView] Fail");
278 Tizen.Log.Error("TCT", "[TestCase][ActivateFaultedWidget][WidgetView] Pass");
280 ret = _widgetView.Preview;
281 if (ret) { Tizen.Log.Error("TCT", "[TestCase][Preview][WidgetView] Pass"); }
282 else { Tizen.Log.Error("TCT", "[TestCase][Preview][WidgetView] Fail"); }
284 ret = _widgetView.WidgetStateFaulted;
285 if (!ret) { Tizen.Log.Error("TCT", "[TestCase][WidgetStateFaulted][WidgetView] Pass"); }
286 else { Tizen.Log.Error("TCT", "[TestCase][WidgetStateFaulted][WidgetView] Fail"); }
288 Tizen.Log.Fatal("NUIWidget", "Widget view has been resumed!");
292 private bool OnPauseBtnClicked(object source, EventArgs e)
294 if (_widgetView != null)
296 bool ret = _widgetView.PauseWidget();
297 if (ret) { Tizen.Log.Error("TCT", "[TestCase][PauseWidget][WidgetView] Pass"); }
298 else { Tizen.Log.Error("TCT", "[TestCase][PauseWidget][WidgetView] Fail"); }
300 Tizen.Log.Fatal("NUIWidget", "Widget view has been paused!");
304 private bool OnResizeBtnClicked(object source, EventArgs e)
306 if (_widgetView != null)
308 _widgetView.Size2D = new Size2D(360, 80);
310 Tizen.Log.Fatal("NUIWidget", "Widget view has been resized!");
315 private bool OnExitBtnClicked(object source, EventArgs e)
320 private void AddEventHandler()
322 if (_widgetView != null)
324 _widgetView.WidgetAdded += (src, arg) => {
325 Tizen.Log.Fatal("NUIWidget", "Widget view added triggered");
326 Tizen.Log.Error("TCT", "[TestCase][WidgetAdded][WidgetView] Pass");
329 Tizen.Log.Error("TCT", "[TestCase][WidgetViewEventArgs][WidgetView] Pass");
330 if (arg.WidgetView != null) { Tizen.Log.Error("TCT", "[TestCase][WidgetViewEventArgs.WidgetView][WidgetView] Pass"); }
331 else { Tizen.Log.Error("TCT", "[TestCase][WidgetViewEventArgs.WidgetView][WidgetView] Fail"); }
335 Tizen.Log.Error("TCT", "[TestCase][WidgetViewEventArgs][WidgetView] Fail");
339 _widgetView.WidgetDeleted += (src, arg) => {
340 Tizen.Log.Fatal("NUIWidget", "Widget view deleted triggered");
341 Tizen.Log.Error("TCT", "[TestCase][WidgetDeleted][WidgetView] Pass");
344 _widgetView.WidgetCreationAborted += (src, arg) => {
345 Tizen.Log.Fatal("NUIWidget", "Widget view creation aborted triggered");
349 _widgetView.WidgetUpdatePeriodChanged += (src, arg) => {
350 Tizen.Log.Fatal("NUIWidget", "Widget view update periodChanged triggered");
351 Tizen.Log.Error("TCT", "[TestCase][WidgetUpdatePeriodChanged][WidgetView] Pass");
354 _widgetView.WidgetFaulted += (src, arg) => {
355 Tizen.Log.Fatal("NUIWidget", "Widget view faulted triggered");
356 Tizen.Log.Error("TCT", "[TestCase][WidgetFaulted][WidgetView] Pass");
361 static void Main(string[] args)
363 var app = new Program();