e98d4d6d536ffe2d0f9b15e54c96f2629e28cc2f
[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 = _viewManager.AddWidget("org.tizen.example.WidgetApplicationWearableSample", content, 360, 130, 0);
140                 _widgetView.WidgetContentUpdated += OnWidgetContentUpdated;
141                 _widgetView.Size2D = new Size2D(360, 130);
142                 _widgetView.ParentOrigin = ParentOrigin.TopLeft;
143                 _widgetView.PivotPoint = PivotPoint.TopLeft;
144                 _widgetView.Position2D = new Position2D(0, 50);
145                 _widgetView.PositionUsesPivotPoint = true;
146                 _window.Add(_widgetView);
147
148                 _widgetView.Size2D = new Size2D(360, 130);
149
150                 Tizen.Log.Fatal("NUIWidget", "widget view WidgetID: " + _widgetView.WidgetID);
151                 Tizen.Log.Fatal("NUIWidget", "widget view InstanceID: " + _widgetView.InstanceID);
152                 Tizen.Log.Fatal("NUIWidget", "widget view ContentInfo: " + _widgetView.ContentInfo);
153                 Tizen.Log.Fatal("NUIWidget", "widget view Title: " + _widgetView.Title);
154                 Tizen.Log.Fatal("NUIWidget", "widget view UpdatePeriod: " + _widgetView.UpdatePeriod);
155
156                 AddEventHandler();
157             }
158             Tizen.Log.Fatal("NUIWidget", "Widget view has been created!");
159
160             return true;
161         }
162
163         private void OnWidgetContentUpdated(object sender, WidgetView.WidgetViewEventArgs e)
164         {
165             Tizen.Log.Fatal("NUIWidget", "Widget view content updated triggered");
166             string updatedContent = e.WidgetView.ContentInfo;
167             Bundle content = Bundle.Decode(updatedContent);
168             string imageIdx = Convert.ToString(content.GetItem("ImageIdx"));
169
170             Tizen.Log.Fatal("NUIWidget", "Get content string " + imageIdx);
171         }
172
173         private bool OnDeleteBtnClicked(object source, EventArgs e)
174         {
175             if (_widgetView != null)
176             {
177                 Tizen.Log.Fatal("NUIWidget", "Widget view will delete!");
178                 _window.Remove(_widgetView);
179                 Tizen.Log.Fatal("NUIWidget", "Widget view will delete111111111!");
180                 _widgetView.TerminateWidget();
181                 Tizen.Log.Fatal("NUIWidget", "Widget view will delete22222222222!");
182
183                 _widgetView.Dispose();
184                 _widgetView = null;
185             }
186             Tizen.Log.Fatal("NUIWidget", "Widget view has been removed!");
187             return true;
188         }
189
190         private bool OnResumeBtnClicked(object source, EventArgs e)
191         {
192             if (_widgetView != null)
193             {
194                 _widgetView.ResumeWidget();
195             }
196             Tizen.Log.Fatal("NUIWidget", "Widget view has been resumed!");
197
198             return true;
199         }
200
201         private bool OnPauseBtnClicked(object source, EventArgs e)
202         {
203             if (_widgetView != null)
204             {
205                 _widgetView.PauseWidget();
206             }
207             Tizen.Log.Fatal("NUIWidget", "Widget view has been paused!");
208             return true;
209         }\r
210 \r
211         private bool OnResizeBtnClicked(object source, EventArgs e)
212         {
213             if (_widgetView != null)
214             {
215                 _widgetView.Size2D = new Size2D(360, 80);
216             }
217             Tizen.Log.Fatal("NUIWidget", "Widget view has been resized!");
218
219             return true;
220         }
221         private void AddEventHandler()
222         {
223             if (_widgetView != null)
224             {
225                 _widgetView.WidgetAdded += (src, arg) => {
226                     Tizen.Log.Fatal("NUIWidget", "Widget view added triggered");
227                 };
228
229                 _widgetView.WidgetDeleted += (src, arg) => {
230                     Tizen.Log.Fatal("NUIWidget", "Widget view deleted triggered");
231                 };
232
233                 _widgetView.WidgetCreationAborted += (src, arg) => {
234                     Tizen.Log.Fatal("NUIWidget", "Widget view creation aborted triggered");
235                 };
236
237
238                 _widgetView.WidgetUpdatePeriodChanged += (src, arg) => {
239                     Tizen.Log.Fatal("NUIWidget", "Widget view update periodChanged triggered");
240                 };
241
242                 _widgetView.WidgetFaulted += (src, arg) => {
243                     Tizen.Log.Fatal("NUIWidget", "Widget view faulted triggered");
244                 };
245             }
246         }
247
248         static void Main(string[] args)
249         {
250             var app = new Program();
251             app.Run(args);
252         }
253     }
254 }