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;
19 private Window _window = null;
20 private float _pointSize = 4.0f;
21 private View _buttons = null;
23 protected override void OnCreate()
31 _window = Window.Instance;
32 _window.BackgroundColor = Color.Black;
33 Tizen.Log.Fatal("NUIWidget", "ApplicationID: " + ApplicationInfo.ApplicationId);
35 _viewManager = new WidgetViewManager(this, ApplicationInfo.ApplicationId);
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;
43 _window.Add(_buttons);
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");
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");
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");
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");
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");
88 Window.Instance.KeyEvent += AppBack;
92 /// This Application will be exited when back key entered.
94 /// <param name="source">Window.Instance</param>
95 /// <param name="e">event</param>
96 private void AppBack(object source, Window.KeyEventArgs e)
98 if (e.Key.State == Key.StateType.Down)
100 Tizen.Log.Info("Key", e.Key.KeyPressedName);
101 if (e.Key.KeyPressedName == "XF86Back")
107 private PropertyMap CreateTextMap(float pointSize, string text)
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"));
117 private bool IsEmulator()
120 var result = Tizen.System.Information.TryGetValue("tizen.org/system/model_name", out value);
121 if (result && value.Equals("Emulator"))
129 private bool OnAddBtnClicked(object source, EventArgs e)
131 if (_widgetView == null)
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);
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"); }
144 if (_viewManager) { Tizen.Log.Error("TCT", "[TestCase][WidgetViewManager][WidgetViewManager] Pass"); }
145 else { Tizen.Log.Error("TCT", "[TestCase][WidgetViewManager][WidgetViewManager] Fail"); }
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"); }
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);
159 _widgetView.Size2D = new Size2D(360, 130);
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"); }
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"); }
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"); }
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"); }
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"); }
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");
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"); }
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");
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"); }
204 Tizen.Log.Fatal("NUIWidget", "Widget view has been created!");
209 private void OnWidgetContentUpdated(object sender, WidgetView.WidgetViewEventArgs e)
211 Tizen.Log.Fatal("NUIWidget", "Widget view content updated triggered");
212 Tizen.Log.Error("TCT", "[TestCase][WidgetContentUpdated][WidgetView] Pass");
214 string updatedContent = e.WidgetView.ContentInfo;
215 Bundle content = Bundle.Decode(updatedContent);
216 string imageIdx = Convert.ToString(content.GetItem("ImageIdx"));
218 Tizen.Log.Fatal("NUIWidget", "Get content string " + imageIdx);
221 private bool OnDeleteBtnClicked(object source, EventArgs e)
223 if (_widgetView != null)
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"); }
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);
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"); }
238 _widgetView.Dispose();
241 Tizen.Log.Fatal("NUIWidget", "Widget view has been removed!");
245 private bool OnResumeBtnClicked(object source, EventArgs e)
247 if (_widgetView != null)
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"); }
255 _widgetView.ActivateFaultedWidget();
257 catch (Exception exception)
259 Tizen.Log.Error("TCT", "[TestCase] Caught Exception" + exception.ToString());
260 Tizen.Log.Error("TCT", "[TestCase][ActivateFaultedWidget][WidgetView] Fail");
262 Tizen.Log.Error("TCT", "[TestCase][ActivateFaultedWidget][WidgetView] Pass");
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"); }
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"); }
272 Tizen.Log.Fatal("NUIWidget", "Widget view has been resumed!");
276 private bool OnPauseBtnClicked(object source, EventArgs e)
278 if (_widgetView != null)
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"); }
284 Tizen.Log.Fatal("NUIWidget", "Widget view has been paused!");
288 private bool OnResizeBtnClicked(object source, EventArgs e)
290 if (_widgetView != null)
292 _widgetView.Size2D = new Size2D(360, 80);
294 Tizen.Log.Fatal("NUIWidget", "Widget view has been resized!");
298 private void AddEventHandler()
300 if (_widgetView != null)
302 _widgetView.WidgetAdded += (src, arg) => {
303 Tizen.Log.Fatal("NUIWidget", "Widget view added triggered");
304 Tizen.Log.Error("TCT", "[TestCase][WidgetAdded][WidgetView] Pass");
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"); }
313 Tizen.Log.Error("TCT", "[TestCase][WidgetViewEventArgs][WidgetView] Fail");
317 _widgetView.WidgetDeleted += (src, arg) => {
318 Tizen.Log.Fatal("NUIWidget", "Widget view deleted triggered");
319 Tizen.Log.Error("TCT", "[TestCase][WidgetDeleted][WidgetView] Pass");
322 _widgetView.WidgetCreationAborted += (src, arg) => {
323 Tizen.Log.Fatal("NUIWidget", "Widget view creation aborted triggered");
327 _widgetView.WidgetUpdatePeriodChanged += (src, arg) => {
328 Tizen.Log.Fatal("NUIWidget", "Widget view update periodChanged triggered");
329 Tizen.Log.Error("TCT", "[TestCase][WidgetUpdatePeriodChanged][WidgetView] Pass");
332 _widgetView.WidgetFaulted += (src, arg) => {
333 Tizen.Log.Fatal("NUIWidget", "Widget view faulted triggered");
334 Tizen.Log.Error("TCT", "[TestCase][WidgetFaulted][WidgetView] Pass");
339 static void Main(string[] args)
341 var app = new Program();