8c88c5073c027cc1dbdf9a8e0d9668ce033fbef4
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / ViewBindableProperty.cs
1 /*
2  * Copyright(c) 2019 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 using System.ComponentModel;
19 using Tizen.NUI.Binding;
20
21 namespace Tizen.NUI.BaseComponents
22 {
23     /// <summary>
24     /// View is the base class for all views.
25     /// </summary>
26     /// <since_tizen> 3 </since_tizen>
27     public partial class View
28     {
29         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
30         [EditorBrowsable(EditorBrowsableState.Never)]
31         public static readonly BindableProperty StyleNameProperty = BindableProperty.Create("StyleName", typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
32         {
33             var view = (View)bindable;
34             if (newValue != null)
35             {
36                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.STYLE_NAME, new Tizen.NUI.PropertyValue((string)newValue));
37             }
38         },
39         defaultValueCreator: (bindable) =>
40         {
41             var view = (View)bindable;
42             string temp;
43             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.STYLE_NAME).Get(out temp);
44             return temp;
45         });
46         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
47         [EditorBrowsable(EditorBrowsableState.Never)]
48         public static readonly BindableProperty BackgroundColorProperty = BindableProperty.Create("BackgroundColor", typeof(Color), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
49         {
50             var view = (View)bindable;
51             if (newValue != null)
52             {
53                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((Color)newValue));
54             }
55         },
56         defaultValueCreator: (bindable) =>
57         {
58             var view = (View)bindable;
59             Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
60
61             Tizen.NUI.PropertyMap background = view.Background;
62             int visualType = 0;
63             background.Find(Visual.Property.Type)?.Get(out visualType);
64             if (visualType == (int)Visual.Type.Color)
65             {
66                 background.Find(ColorVisualProperty.MixColor)?.Get(backgroundColor);
67             }
68
69             return backgroundColor;
70         });
71
72         /// <summary> BackgroundImageProperty </summary>
73         [EditorBrowsable(EditorBrowsableState.Never)]
74         public static readonly BindableProperty BackgroundImageProperty = BindableProperty.Create("BackgroundImage", typeof(string), typeof(View), default(string), propertyChanged: (bindable, oldValue, newValue) =>
75         {
76             var view = (View)bindable;
77             if (newValue != null)
78             {
79                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((string)newValue));
80                 view.BackgroundImageSynchronosLoading = view._backgroundImageSynchronosLoading;
81             }
82         },
83         defaultValueCreator: (bindable) =>
84         {
85             var view = (View)bindable;
86             string backgroundImage = "";
87
88             Tizen.NUI.PropertyMap background = view.Background;
89             int visualType = 0;
90             background.Find(Visual.Property.Type)?.Get(out visualType);
91             if (visualType == (int)Visual.Type.Image)
92             {
93                 background.Find(ImageVisualProperty.URL)?.Get(out backgroundImage);
94             }
95
96             return backgroundImage;
97         });
98         /// <summary>BackgroundImageBorderProperty</summary>
99         [EditorBrowsable(EditorBrowsableState.Never)]
100         public static readonly BindableProperty BackgroundImageBorderProperty = BindableProperty.Create(nameof(BackgroundImageBorder), typeof(Rectangle), typeof(View), default(Rectangle), propertyChanged: (bindable, oldValue, newValue) =>
101         {
102             var view = (View)bindable;
103             if (null != newValue)
104             {
105                 view.backgroundImageBorder = (Rectangle)newValue;
106             }
107         },
108         defaultValueCreator: (bindable) =>
109         {
110             var view = (View)bindable;
111             return view.backgroundImageBorder;
112         });
113         /// <summary>
114         /// BackgroundProperty
115         /// </summary>
116         [EditorBrowsable(EditorBrowsableState.Never)]
117         public static readonly BindableProperty BackgroundProperty = BindableProperty.Create("Background", typeof(PropertyMap), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
118         {
119             var view = (View)bindable;
120             if (newValue != null)
121             {
122                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
123             }
124         },
125         defaultValueCreator: (bindable) =>
126         {
127             var view = (View)bindable;
128             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
129             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.BACKGROUND).Get(temp);
130             return temp;
131         });
132         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
133         [EditorBrowsable(EditorBrowsableState.Never)]
134         public static readonly BindableProperty StateProperty = BindableProperty.Create("State", typeof(States), typeof(View), States.Normal, propertyChanged: (bindable, oldValue, newValue) =>
135         {
136             var view = (View)bindable;
137             if (newValue != null)
138             {
139                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.STATE, new Tizen.NUI.PropertyValue((int)newValue));
140             }
141         },
142         defaultValueCreator: (bindable) =>
143         {
144             var view = (View)bindable;
145             int temp = 0;
146             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.STATE).Get(out temp) == false)
147             {
148                 NUILog.Error("State get error!");
149             }
150             switch (temp)
151             {
152                 case 0: return States.Normal;
153                 case 1: return States.Focused;
154                 case 2: return States.Disabled;
155                 default: return States.Normal;
156             }
157         });
158         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
159         [EditorBrowsable(EditorBrowsableState.Never)]
160         public static readonly BindableProperty SubStateProperty = BindableProperty.Create("SubState", typeof(States), typeof(View), States.Normal, propertyChanged: (bindable, oldValue, newValue) =>
161         {
162             var view = (View)bindable;
163             string valueToString = "";
164             if (newValue != null)
165             {
166                 switch ((States)newValue)
167                 {
168                     case States.Normal: { valueToString = "NORMAL"; break; }
169                     case States.Focused: { valueToString = "FOCUSED"; break; }
170                     case States.Disabled: { valueToString = "DISABLED"; break; }
171                     default: { valueToString = "NORMAL"; break; }
172                 }
173                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SUB_STATE, new Tizen.NUI.PropertyValue(valueToString));
174             }
175         },
176         defaultValueCreator: (bindable) =>
177         {
178             var view = (View)bindable;
179             string temp;
180             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SUB_STATE).Get(out temp) == false)
181             {
182                 NUILog.Error("subState get error!");
183             }
184             switch (temp)
185             {
186                 case "NORMAL": return States.Normal;
187                 case "FOCUSED": return States.Focused;
188                 case "DISABLED": return States.Disabled;
189                 default: return States.Normal;
190             }
191         });
192         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
193         [EditorBrowsable(EditorBrowsableState.Never)]
194         public static readonly BindableProperty TooltipProperty = BindableProperty.Create("Tooltip", typeof(PropertyMap), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
195         {
196             var view = (View)bindable;
197             if (newValue != null)
198             {
199                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.TOOLTIP, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
200             }
201         },
202         defaultValueCreator: (bindable) =>
203         {
204             var view = (View)bindable;
205             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
206             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.TOOLTIP).Get(temp);
207             return temp;
208         });
209
210         /// Only for XAML property binding. No need to open as public. (keep as Hidden/InhouseAPI)
211         [EditorBrowsable(EditorBrowsableState.Never)]
212         public static readonly BindableProperty FlexProperty = BindableProperty.Create("Flex", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
213         {
214             var view = (View)bindable;
215             if (newValue != null)
216             {
217                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue((float)newValue));
218             }
219         },
220         defaultValueCreator: (bindable) =>
221         {
222             var view = (View)bindable;
223             float temp = 0.0f;
224             Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX).Get(out temp);
225             return temp;
226         });
227
228         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
229         [EditorBrowsable(EditorBrowsableState.Never)]
230         public static readonly BindableProperty AlignSelfProperty = BindableProperty.Create("AlignSelf", typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
231         {
232             var view = (View)bindable;
233             if (newValue != null)
234             {
235                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.ALIGN_SELF, new Tizen.NUI.PropertyValue((int)newValue));
236             }
237         },
238         defaultValueCreator: (bindable) =>
239         {
240             var view = (View)bindable;
241             int temp = 0;
242             Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.ALIGN_SELF).Get(out temp);
243             return temp;
244         });
245         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
246         [EditorBrowsable(EditorBrowsableState.Never)]
247         public static readonly BindableProperty FlexMarginProperty = BindableProperty.Create("FlexMargin", typeof(Vector4), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
248         {
249             var view = (View)bindable;
250             if (newValue != null)
251             {
252                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX_MARGIN, new Tizen.NUI.PropertyValue((Vector4)newValue));
253             }
254         },
255         defaultValueCreator: (bindable) =>
256         {
257             var view = (View)bindable;
258             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
259             Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX_MARGIN).Get(temp);
260             return temp;
261         });
262         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
263         [EditorBrowsable(EditorBrowsableState.Never)]
264         public static readonly BindableProperty CellIndexProperty = BindableProperty.Create("CellIndex", typeof(Vector2), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
265         {
266             var view = (View)bindable;
267             if (newValue != null)
268             {
269                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_INDEX, new Tizen.NUI.PropertyValue((Vector2)newValue));
270             }
271         },
272         defaultValueCreator: (bindable) =>
273         {
274             var view = (View)bindable;
275             Vector2 temp = new Vector2(0.0f, 0.0f);
276             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_INDEX).Get(temp);
277             return temp;
278         });
279         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
280         [EditorBrowsable(EditorBrowsableState.Never)]
281         public static readonly BindableProperty RowSpanProperty = BindableProperty.Create("RowSpan", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
282         {
283             var view = (View)bindable;
284             if (newValue != null)
285             {
286                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.ROW_SPAN, new Tizen.NUI.PropertyValue((float)newValue));
287             }
288         },
289         defaultValueCreator: (bindable) =>
290         {
291             var view = (View)bindable;
292             float temp = 0.0f;
293             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.ROW_SPAN).Get(out temp);
294             return temp;
295         });
296         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
297         [EditorBrowsable(EditorBrowsableState.Never)]
298         public static readonly BindableProperty ColumnSpanProperty = BindableProperty.Create("ColumnSpan", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
299         {
300             var view = (View)bindable;
301             if (newValue != null)
302             {
303                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.COLUMN_SPAN, new Tizen.NUI.PropertyValue((float)newValue));
304             }
305         },
306         defaultValueCreator: (bindable) =>
307         {
308             var view = (View)bindable;
309             float temp = 0.0f;
310             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.COLUMN_SPAN).Get(out temp);
311             return temp;
312         });
313         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
314         [EditorBrowsable(EditorBrowsableState.Never)]
315         public static readonly BindableProperty CellHorizontalAlignmentProperty = BindableProperty.Create("CellHorizontalAlignment", typeof(HorizontalAlignmentType), typeof(View), HorizontalAlignmentType.Left, propertyChanged: (bindable, oldValue, newValue) =>
316         {
317             var view = (View)bindable;
318             string valueToString = "";
319
320             if (newValue != null)
321             {
322                 switch ((HorizontalAlignmentType)newValue)
323                 {
324                     case Tizen.NUI.HorizontalAlignmentType.Left: { valueToString = "left"; break; }
325                     case Tizen.NUI.HorizontalAlignmentType.Center: { valueToString = "center"; break; }
326                     case Tizen.NUI.HorizontalAlignmentType.Right: { valueToString = "right"; break; }
327                     default: { valueToString = "left"; break; }
328                 }
329                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
330             }
331         },
332         defaultValueCreator: (bindable) =>
333         {
334             var view = (View)bindable;
335             string temp;
336             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT).Get(out temp) == false)
337             {
338                 NUILog.Error("CellHorizontalAlignment get error!");
339             }
340
341             switch (temp)
342             {
343                 case "left": return Tizen.NUI.HorizontalAlignmentType.Left;
344                 case "center": return Tizen.NUI.HorizontalAlignmentType.Center;
345                 case "right": return Tizen.NUI.HorizontalAlignmentType.Right;
346                 default: return Tizen.NUI.HorizontalAlignmentType.Left;
347             }
348         });
349         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
350         [EditorBrowsable(EditorBrowsableState.Never)]
351         public static readonly BindableProperty CellVerticalAlignmentProperty = BindableProperty.Create("CellVerticalAlignment", typeof(VerticalAlignmentType), typeof(View), VerticalAlignmentType.Top, propertyChanged: (bindable, oldValue, newValue) =>
352         {
353             var view = (View)bindable;
354             string valueToString = "";
355
356             if (newValue != null)
357             {
358                 switch ((VerticalAlignmentType)newValue)
359                 {
360                     case Tizen.NUI.VerticalAlignmentType.Top: { valueToString = "top"; break; }
361                     case Tizen.NUI.VerticalAlignmentType.Center: { valueToString = "center"; break; }
362                     case Tizen.NUI.VerticalAlignmentType.Bottom: { valueToString = "bottom"; break; }
363                     default: { valueToString = "top"; break; }
364                 }
365                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
366             }
367         },
368         defaultValueCreator: (bindable) =>
369         {
370             var view = (View)bindable;
371             string temp;
372             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT).Get(out temp);
373             {
374                 NUILog.Error("CellVerticalAlignment get error!");
375             }
376
377             switch (temp)
378             {
379                 case "top": return Tizen.NUI.VerticalAlignmentType.Top;
380                 case "center": return Tizen.NUI.VerticalAlignmentType.Center;
381                 case "bottom": return Tizen.NUI.VerticalAlignmentType.Bottom;
382                 default: return Tizen.NUI.VerticalAlignmentType.Top;
383             }
384         });
385
386         /// <summary>
387         /// "Please DO NOT use! This will be deprecated! Please use 'View Weight' instead of BindableProperty"
388         /// This needs to be hidden as inhouse API until all applications using it have been updated.  Do not make public.
389         /// </summary>
390         [EditorBrowsable(EditorBrowsableState.Never)]
391         public static readonly BindableProperty WeightProperty = BindableProperty.Create("Weight", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
392         {
393             var view = (View)bindable;
394             if (newValue != null)
395             {
396                 view.Weight = (float)newValue;
397             }
398         },
399
400         defaultValueCreator: (bindable) =>
401         {
402             var view = (View)bindable;
403             return view.Weight;
404         });
405
406         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
407         [EditorBrowsable(EditorBrowsableState.Never)]
408         public static readonly BindableProperty LeftFocusableViewProperty = BindableProperty.Create(nameof(View.LeftFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
409         {
410             var view = (View)bindable;
411             if (newValue != null) { view.LeftFocusableViewId = (int)(newValue as View)?.GetId(); }
412             else { view.LeftFocusableViewId = -1; }
413         },
414         defaultValueCreator: (bindable) =>
415         {
416             var view = (View)bindable;
417             if (view.LeftFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.LeftFocusableViewId); }
418             return null;
419         });
420         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
421         [EditorBrowsable(EditorBrowsableState.Never)]
422         public static readonly BindableProperty RightFocusableViewProperty = BindableProperty.Create(nameof(View.RightFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
423         {
424             var view = (View)bindable;
425             if (newValue != null) { view.RightFocusableViewId = (int)(newValue as View)?.GetId(); }
426             else { view.RightFocusableViewId = -1; }
427         },
428         defaultValueCreator: (bindable) =>
429         {
430             var view = (View)bindable;
431             if (view.RightFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.RightFocusableViewId); }
432             return null;
433         });
434         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
435         [EditorBrowsable(EditorBrowsableState.Never)]
436         public static readonly BindableProperty UpFocusableViewProperty = BindableProperty.Create(nameof(View.UpFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
437         {
438             var view = (View)bindable;
439             if (newValue != null) { view.UpFocusableViewId = (int)(newValue as View)?.GetId(); }
440             else { view.UpFocusableViewId = -1; }
441         },
442         defaultValueCreator: (bindable) =>
443         {
444             var view = (View)bindable;
445             if (view.UpFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.UpFocusableViewId); }
446             return null;
447         });
448         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
449         [EditorBrowsable(EditorBrowsableState.Never)]
450         public static readonly BindableProperty DownFocusableViewProperty = BindableProperty.Create(nameof(View.DownFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
451         {
452             var view = (View)bindable;
453             if (newValue != null) { view.DownFocusableViewId = (int)(newValue as View)?.GetId(); }
454             else { view.DownFocusableViewId = -1; }
455         },
456         defaultValueCreator: (bindable) =>
457         {
458             var view = (View)bindable;
459             if (view.DownFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.DownFocusableViewId); }
460             return null;
461         });
462         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
463         [EditorBrowsable(EditorBrowsableState.Never)]
464         public static readonly BindableProperty FocusableProperty = BindableProperty.Create("Focusable", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
465         {
466             var view = (View)bindable;
467             if (newValue != null) { view.SetKeyboardFocusable((bool)newValue); }
468         },
469         defaultValueCreator: (bindable) =>
470         {
471             var view = (View)bindable;
472             return view.IsKeyboardFocusable();
473         });
474         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
475         [EditorBrowsable(EditorBrowsableState.Never)]
476         public static readonly BindableProperty Size2DProperty = BindableProperty.Create("Size2D", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
477         {
478             var view = (View)bindable;
479             if (newValue != null)
480             {
481                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue(new Size((Size2D)newValue)));
482             }
483         },
484         defaultValueCreator: (bindable) =>
485         {
486             var view = (View)bindable;
487             Size temp = new Size(0.0f, 0.0f, 0.0f);
488             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE).Get(temp);
489             Size2D size = new Size2D((int)temp.Width, (int)temp.Height);
490             return size;
491         });
492         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
493         [EditorBrowsable(EditorBrowsableState.Never)]
494         public static readonly BindableProperty OpacityProperty = BindableProperty.Create("Opacity", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
495         {
496             var view = (View)bindable;
497             if (newValue != null)
498             {
499                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.OPACITY, new Tizen.NUI.PropertyValue((float)newValue));
500             }
501         },
502         defaultValueCreator: (bindable) =>
503         {
504             var view = (View)bindable;
505             float temp = 0.0f;
506             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.OPACITY).Get(out temp);
507             return temp;
508         });
509         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
510         [EditorBrowsable(EditorBrowsableState.Never)]
511         public static readonly BindableProperty Position2DProperty = BindableProperty.Create("Position2D", typeof(Position2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
512         {
513             var view = (View)bindable;
514             if (newValue != null)
515             {
516                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position((Position2D)newValue)));
517             }
518         },
519         defaultValueCreator: (bindable) =>
520         {
521             var view = (View)bindable;
522             Position temp = new Position(0.0f, 0.0f, 0.0f);
523             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION).Get(temp);
524             return new Position2D(temp);
525         });
526         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
527         [EditorBrowsable(EditorBrowsableState.Never)]
528         public static readonly BindableProperty PositionUsesPivotPointProperty = BindableProperty.Create("PositionUsesPivotPoint", typeof(bool), typeof(View), true, propertyChanged: (bindable, oldValue, newValue) =>
529         {
530             var view = (View)bindable;
531             if (newValue != null)
532             {
533                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue((bool)newValue));
534             }
535         },
536         defaultValueCreator: (bindable) =>
537         {
538             var view = (View)bindable;
539             bool temp = false;
540             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_USES_ANCHOR_POINT).Get(out temp);
541             return temp;
542         });
543         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
544         [EditorBrowsable(EditorBrowsableState.Never)]
545         public static readonly BindableProperty SiblingOrderProperty = BindableProperty.Create("SiblingOrder", typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
546         {
547             var view = (View)bindable;
548             int value;
549             if (newValue != null)
550             {
551                 value = (int)newValue;
552                 if (value < 0)
553                 {
554                     NUILog.Error("SiblingOrder should be bigger than 0 or equal to 0.");
555                     return;
556                 }
557                 var siblings = view.GetParent()?.Children;
558                 if (siblings != null)
559                 {
560                     int currentOrder = siblings.IndexOf(view);
561                     if (value != currentOrder)
562                     {
563                         if (value == 0) { view.LowerToBottom(); }
564                         else if (value < siblings.Count - 1)
565                         {
566                             if (value > currentOrder) { view.RaiseAbove(siblings[value]); }
567                             else { view.LowerBelow(siblings[value]); }
568                         }
569                         else { view.RaiseToTop(); }
570                     }
571                 }
572             }
573         },
574         defaultValueCreator: (bindable) =>
575         {
576             var view = (View)bindable;
577             var parentChildren = view.GetParent()?.Children;
578             int currentOrder = 0;
579             if (parentChildren != null)
580             {
581                 currentOrder = parentChildren.IndexOf(view);
582
583                 if (currentOrder < 0) { return 0; }
584                 else if (currentOrder < parentChildren.Count) { return currentOrder; }
585             }
586
587             return 0;
588         });
589         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
590         [EditorBrowsable(EditorBrowsableState.Never)]
591         public static readonly BindableProperty ParentOriginProperty = BindableProperty.Create("ParentOrigin", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
592         {
593             var view = (View)bindable;
594             if (newValue != null)
595             {
596                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.PARENT_ORIGIN, new Tizen.NUI.PropertyValue((Position)newValue));
597             }
598         },
599         defaultValueCreator: (bindable) =>
600         {
601             var view = (View)bindable;
602             Position temp = new Position(0.0f, 0.0f, 0.0f);
603             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.PARENT_ORIGIN).Get(temp);
604             return temp;
605         }
606         );
607         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
608         [EditorBrowsable(EditorBrowsableState.Never)]
609         public static readonly BindableProperty PivotPointProperty = BindableProperty.Create("PivotPoint", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
610         {
611             var view = (View)bindable;
612             if (newValue != null)
613             {
614                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue((Position)newValue));
615             }
616         },
617         defaultValueCreator: (bindable) =>
618         {
619             var view = (View)bindable;
620             Position temp = new Position(0.0f, 0.0f, 0.0f);
621             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.ANCHOR_POINT).Get(temp);
622             return temp;
623         });
624         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
625         [EditorBrowsable(EditorBrowsableState.Never)]
626         public static readonly BindableProperty SizeWidthProperty = BindableProperty.Create("SizeWidth", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
627         {
628             var view = (View)bindable;
629             if (newValue != null)
630             {
631                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_WIDTH, new Tizen.NUI.PropertyValue((float)newValue));
632             }
633         },
634         defaultValueCreator: (bindable) =>
635         {
636             var view = (View)bindable;
637             float temp = 0.0f;
638             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_WIDTH).Get(out temp);
639             return temp;
640         });
641         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
642         [EditorBrowsable(EditorBrowsableState.Never)]
643         public static readonly BindableProperty SizeHeightProperty = BindableProperty.Create("SizeHeight", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
644         {
645             var view = (View)bindable;
646             if (newValue != null)
647             {
648                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_HEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
649             }
650         },
651         defaultValueCreator: (bindable) =>
652         {
653             var view = (View)bindable;
654             float temp = 0.0f;
655             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_HEIGHT).Get(out temp);
656             return temp;
657         });
658         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
659         [EditorBrowsable(EditorBrowsableState.Never)]
660         public static readonly BindableProperty PositionProperty = BindableProperty.Create("Position", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
661         {
662             var view = (View)bindable;
663             if (newValue != null)
664             {
665                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue((Position)newValue));
666             }
667         },
668         defaultValueCreator: (bindable) =>
669         {
670             var view = (View)bindable;
671             Position temp = new Position(0.0f, 0.0f, 0.0f);
672             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION).Get(temp);
673             return temp;
674         });
675         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
676         [EditorBrowsable(EditorBrowsableState.Never)]
677         public static readonly BindableProperty PositionXProperty = BindableProperty.Create("PositionX", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
678         {
679             var view = (View)bindable;
680             if (newValue != null)
681             {
682                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_X, new Tizen.NUI.PropertyValue((float)newValue));
683             }
684         },
685         defaultValueCreator: (bindable) =>
686         {
687             var view = (View)bindable;
688             float temp = 0.0f;
689             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_X).Get(out temp);
690             return temp;
691         });
692         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
693         [EditorBrowsable(EditorBrowsableState.Never)]
694         public static readonly BindableProperty PositionYProperty = BindableProperty.Create("PositionY", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
695         {
696             var view = (View)bindable;
697             if (newValue != null)
698             {
699                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_Y, new Tizen.NUI.PropertyValue((float)newValue));
700             }
701         },
702         defaultValueCreator: (bindable) =>
703         {
704             var view = (View)bindable;
705             float temp = 0.0f;
706             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_Y).Get(out temp);
707             return temp;
708         });
709         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
710         [EditorBrowsable(EditorBrowsableState.Never)]
711         public static readonly BindableProperty PositionZProperty = BindableProperty.Create("PositionZ", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
712         {
713             var view = (View)bindable;
714             if (newValue != null)
715             {
716                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_Z, new Tizen.NUI.PropertyValue((float)newValue));
717             }
718         },
719         defaultValueCreator: (bindable) =>
720         {
721             var view = (View)bindable;
722             float temp = 0.0f;
723             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_Z).Get(out temp);
724             return temp;
725         });
726         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
727         [EditorBrowsable(EditorBrowsableState.Never)]
728         public static readonly BindableProperty OrientationProperty = BindableProperty.Create("Orientation", typeof(Rotation), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
729         {
730             var view = (View)bindable;
731             if (newValue != null)
732             {
733                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.ORIENTATION, new Tizen.NUI.PropertyValue((Rotation)newValue));
734             }
735         },
736         defaultValueCreator: (bindable) =>
737         {
738             var view = (View)bindable;
739             Rotation temp = new Rotation();
740             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.ORIENTATION).Get(temp);
741             return temp;
742         });
743         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
744         [EditorBrowsable(EditorBrowsableState.Never)]
745         public static readonly BindableProperty ScaleProperty = BindableProperty.Create("Scale", typeof(Vector3), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
746         {
747             var view = (View)bindable;
748             if (newValue != null)
749             {
750                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE, new Tizen.NUI.PropertyValue((Vector3)newValue));
751             }
752         },
753         defaultValueCreator: (bindable) =>
754         {
755             var view = (View)bindable;
756             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
757             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE).Get(temp);
758             return temp;
759         });
760         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
761         [EditorBrowsable(EditorBrowsableState.Never)]
762         public static readonly BindableProperty ScaleXProperty = BindableProperty.Create("ScaleX", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
763         {
764             var view = (View)bindable;
765             if (newValue != null)
766             {
767                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_X, new Tizen.NUI.PropertyValue((float)newValue));
768             }
769         },
770         defaultValueCreator: (bindable) =>
771         {
772             var view = (View)bindable;
773             float temp = 0.0f;
774             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_X).Get(out temp);
775             return temp;
776         });
777         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
778         [EditorBrowsable(EditorBrowsableState.Never)]
779         public static readonly BindableProperty ScaleYProperty = BindableProperty.Create("ScaleY", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
780         {
781             var view = (View)bindable;
782             if (newValue != null)
783             {
784                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_Y, new Tizen.NUI.PropertyValue((float)newValue));
785             }
786         },
787         defaultValueCreator: (bindable) =>
788         {
789             var view = (View)bindable;
790             float temp = 0.0f;
791             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_Y).Get(out temp);
792             return temp;
793         });
794         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
795         [EditorBrowsable(EditorBrowsableState.Never)]
796         public static readonly BindableProperty ScaleZProperty = BindableProperty.Create("ScaleZ", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
797         {
798             var view = (View)bindable;
799             if (newValue != null)
800             {
801                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_Z, new Tizen.NUI.PropertyValue((float)newValue));
802             }
803         },
804         defaultValueCreator: (bindable) =>
805         {
806             var view = (View)bindable;
807             float temp = 0.0f;
808             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_Z).Get(out temp);
809             return temp;
810         });
811         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
812         [EditorBrowsable(EditorBrowsableState.Never)]
813         public static readonly BindableProperty NameProperty = BindableProperty.Create("Name", typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
814         {
815             var view = (View)bindable;
816             if (newValue != null)
817             {
818                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.NAME, new Tizen.NUI.PropertyValue((string)newValue));
819             }
820         },
821         defaultValueCreator: (bindable) =>
822         {
823             var view = (View)bindable;
824             string temp;
825             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.NAME).Get(out temp);
826             return temp;
827         });
828         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
829         [EditorBrowsable(EditorBrowsableState.Never)]
830         public static readonly BindableProperty SensitiveProperty = BindableProperty.Create("Sensitive", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
831         {
832             var view = (View)bindable;
833             if (newValue != null)
834             {
835                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SENSITIVE, new Tizen.NUI.PropertyValue((bool)newValue));
836             }
837         },
838         defaultValueCreator: (bindable) =>
839         {
840             var view = (View)bindable;
841             bool temp = false;
842             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SENSITIVE).Get(out temp);
843             return temp;
844         });
845         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
846         [EditorBrowsable(EditorBrowsableState.Never)]
847         public static readonly BindableProperty LeaveRequiredProperty = BindableProperty.Create("LeaveRequired", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
848         {
849             var view = (View)bindable;
850             if (newValue != null)
851             {
852                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.LEAVE_REQUIRED, new Tizen.NUI.PropertyValue((bool)newValue));
853             }
854         },
855         defaultValueCreator: (bindable) =>
856         {
857             var view = (View)bindable;
858             bool temp = false;
859             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.LEAVE_REQUIRED).Get(out temp);
860             return temp;
861         });
862         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
863         [EditorBrowsable(EditorBrowsableState.Never)]
864         public static readonly BindableProperty InheritOrientationProperty = BindableProperty.Create("InheritOrientation", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
865         {
866             var view = (View)bindable;
867             if (newValue != null)
868             {
869                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_ORIENTATION, new Tizen.NUI.PropertyValue((bool)newValue));
870             }
871         },
872         defaultValueCreator: (bindable) =>
873         {
874             var view = (View)bindable;
875             bool temp = false;
876             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_ORIENTATION).Get(out temp);
877             return temp;
878         });
879         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
880         [EditorBrowsable(EditorBrowsableState.Never)]
881         public static readonly BindableProperty InheritScaleProperty = BindableProperty.Create("InheritScale", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
882         {
883             var view = (View)bindable;
884             if (newValue != null)
885             {
886                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_SCALE, new Tizen.NUI.PropertyValue((bool)newValue));
887             }
888         },
889         defaultValueCreator: (bindable) =>
890         {
891             var view = (View)bindable;
892             bool temp = false;
893             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_SCALE).Get(out temp);
894             return temp;
895         });
896         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
897         [EditorBrowsable(EditorBrowsableState.Never)]
898         public static readonly BindableProperty DrawModeProperty = BindableProperty.Create("DrawMode", typeof(DrawModeType), typeof(View), DrawModeType.Normal, propertyChanged: (bindable, oldValue, newValue) =>
899         {
900             var view = (View)bindable;
901             if (newValue != null)
902             {
903                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.DRAW_MODE, new Tizen.NUI.PropertyValue((int)newValue));
904             }
905         },
906         defaultValueCreator: (bindable) =>
907         {
908             var view = (View)bindable;
909             string temp;
910             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.DRAW_MODE).Get(out temp) == false)
911             {
912                 NUILog.Error("DrawMode get error!");
913             }
914             switch (temp)
915             {
916                 case "NORMAL": return DrawModeType.Normal;
917                 case "OVERLAY_2D": return DrawModeType.Overlay2D;
918 #pragma warning disable CS0618 // Disable deprecated warning as we do need to use the deprecated API here.
919                 case "STENCIL": return DrawModeType.Stencil;
920 #pragma warning restore CS0618
921                 default: return DrawModeType.Normal;
922             }
923         });
924         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
925         [EditorBrowsable(EditorBrowsableState.Never)]
926         public static readonly BindableProperty SizeModeFactorProperty = BindableProperty.Create("SizeModeFactor", typeof(Vector3), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
927         {
928             var view = (View)bindable;
929             if (newValue != null)
930             {
931                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_MODE_FACTOR, new Tizen.NUI.PropertyValue((Vector3)newValue));
932             }
933         },
934         defaultValueCreator: (bindable) =>
935         {
936             var view = (View)bindable;
937             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
938             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_MODE_FACTOR).Get(temp);
939             return temp;
940         });
941         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
942         [EditorBrowsable(EditorBrowsableState.Never)]
943         public static readonly BindableProperty WidthResizePolicyProperty = BindableProperty.Create("WidthResizePolicy", typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (bindable, oldValue, newValue) =>
944         {
945             var view = (View)bindable;
946             if (newValue != null)
947             {
948                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.WIDTH_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)newValue));
949             }
950         },
951         defaultValueCreator: (bindable) =>
952         {
953             var view = (View)bindable;
954             string temp;
955             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.WIDTH_RESIZE_POLICY).Get(out temp) == false)
956             {
957                 NUILog.Error("WidthResizePolicy get error!");
958             }
959             switch (temp)
960             {
961                 case "FIXED": return ResizePolicyType.Fixed;
962                 case "USE_NATURAL_SIZE": return ResizePolicyType.UseNaturalSize;
963                 case "FILL_TO_PARENT": return ResizePolicyType.FillToParent;
964                 case "SIZE_RELATIVE_TO_PARENT": return ResizePolicyType.SizeRelativeToParent;
965                 case "SIZE_FIXED_OFFSET_FROM_PARENT": return ResizePolicyType.SizeFixedOffsetFromParent;
966                 case "FIT_TO_CHILDREN": return ResizePolicyType.FitToChildren;
967                 case "DIMENSION_DEPENDENCY": return ResizePolicyType.DimensionDependency;
968                 case "USE_ASSIGNED_SIZE": return ResizePolicyType.UseAssignedSize;
969                 default: return ResizePolicyType.Fixed;
970             }
971         });
972         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
973         [EditorBrowsable(EditorBrowsableState.Never)]
974         public static readonly BindableProperty HeightResizePolicyProperty = BindableProperty.Create("HeightResizePolicy", typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (bindable, oldValue, newValue) =>
975         {
976             var view = (View)bindable;
977             if (newValue != null)
978             {
979                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.HEIGHT_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)newValue));
980             }
981         },
982         defaultValueCreator: (bindable) =>
983         {
984             var view = (View)bindable;
985             string temp;
986             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.HEIGHT_RESIZE_POLICY).Get(out temp) == false)
987             {
988                 NUILog.Error("HeightResizePolicy get error!");
989             }
990             switch (temp)
991             {
992                 case "FIXED": return ResizePolicyType.Fixed;
993                 case "USE_NATURAL_SIZE": return ResizePolicyType.UseNaturalSize;
994                 case "FILL_TO_PARENT": return ResizePolicyType.FillToParent;
995                 case "SIZE_RELATIVE_TO_PARENT": return ResizePolicyType.SizeRelativeToParent;
996                 case "SIZE_FIXED_OFFSET_FROM_PARENT": return ResizePolicyType.SizeFixedOffsetFromParent;
997                 case "FIT_TO_CHILDREN": return ResizePolicyType.FitToChildren;
998                 case "DIMENSION_DEPENDENCY": return ResizePolicyType.DimensionDependency;
999                 case "USE_ASSIGNED_SIZE": return ResizePolicyType.UseAssignedSize;
1000                 default: return ResizePolicyType.Fixed;
1001             }
1002         });
1003         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1004         [EditorBrowsable(EditorBrowsableState.Never)]
1005         public static readonly BindableProperty SizeScalePolicyProperty = BindableProperty.Create("SizeScalePolicy", typeof(SizeScalePolicyType), typeof(View), SizeScalePolicyType.UseSizeSet, propertyChanged: (bindable, oldValue, newValue) =>
1006         {
1007             var view = (View)bindable;
1008             string valueToString = "";
1009             if (newValue != null)
1010             {
1011                 switch ((SizeScalePolicyType)newValue)
1012                 {
1013                     case SizeScalePolicyType.UseSizeSet: { valueToString = "USE_SIZE_SET"; break; }
1014                     case SizeScalePolicyType.FitWithAspectRatio: { valueToString = "FIT_WITH_ASPECT_RATIO"; break; }
1015                     case SizeScalePolicyType.FillWithAspectRatio: { valueToString = "FILL_WITH_ASPECT_RATIO"; break; }
1016                     default: { valueToString = "USE_SIZE_SET"; break; }
1017                 }
1018                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_SCALE_POLICY, new Tizen.NUI.PropertyValue(valueToString));
1019             }
1020         },
1021         defaultValueCreator: (bindable) =>
1022         {
1023             var view = (View)bindable;
1024             string temp;
1025             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_SCALE_POLICY).Get(out temp) == false)
1026             {
1027                 NUILog.Error("SizeScalePolicy get error!");
1028             }
1029             switch (temp)
1030             {
1031                 case "USE_SIZE_SET": return SizeScalePolicyType.UseSizeSet;
1032                 case "FIT_WITH_ASPECT_RATIO": return SizeScalePolicyType.FitWithAspectRatio;
1033                 case "FILL_WITH_ASPECT_RATIO": return SizeScalePolicyType.FillWithAspectRatio;
1034                 default: return SizeScalePolicyType.UseSizeSet;
1035             }
1036         });
1037         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1038         [EditorBrowsable(EditorBrowsableState.Never)]
1039         public static readonly BindableProperty WidthForHeightProperty = BindableProperty.Create("WidthForHeight", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1040         {
1041             var view = (View)bindable;
1042             if (newValue != null)
1043             {
1044                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.WIDTH_FOR_HEIGHT, new Tizen.NUI.PropertyValue((bool)newValue));
1045             }
1046         },
1047         defaultValueCreator: (bindable) =>
1048         {
1049             var view = (View)bindable;
1050             bool temp = false;
1051             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.WIDTH_FOR_HEIGHT).Get(out temp);
1052             return temp;
1053         });
1054         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1055         [EditorBrowsable(EditorBrowsableState.Never)]
1056         public static readonly BindableProperty HeightForWidthProperty = BindableProperty.Create("HeightForWidth", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1057         {
1058             var view = (View)bindable;
1059             if (newValue != null)
1060             {
1061                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.HEIGHT_FOR_WIDTH, new Tizen.NUI.PropertyValue((bool)newValue));
1062             }
1063         },
1064         defaultValueCreator: (bindable) =>
1065         {
1066             var view = (View)bindable;
1067             bool temp = false;
1068             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.HEIGHT_FOR_WIDTH).Get(out temp);
1069             return temp;
1070         });
1071         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1072         [EditorBrowsable(EditorBrowsableState.Never)]
1073         public static readonly BindableProperty PaddingProperty = BindableProperty.Create("Padding", typeof(Extents), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1074         {
1075             var view = (View)bindable;
1076             if (newValue != null)
1077             {
1078                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.PADDING, new Tizen.NUI.PropertyValue((Extents)newValue));
1079             }
1080         },
1081         defaultValueCreator: (bindable) =>
1082         {
1083             var view = (View)bindable;
1084             Extents temp = new Extents(0, 0, 0, 0);
1085             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.PADDING).Get(temp);
1086             return temp;
1087         });
1088         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1089         [EditorBrowsable(EditorBrowsableState.Never)]
1090         public static readonly BindableProperty SizeProperty = BindableProperty.Create("Size", typeof(Size), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1091         {
1092             var view = (View)bindable;
1093             if (newValue != null)
1094             {
1095                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue((Size)newValue));
1096             }
1097         },
1098         defaultValueCreator: (bindable) =>
1099         {
1100             var view = (View)bindable;
1101             Size temp = new Size(0, 0, 0);
1102             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE).Get(temp);
1103             return temp;
1104         });
1105         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1106         [EditorBrowsable(EditorBrowsableState.Never)]
1107         public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create("MinimumSize", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1108         {
1109             var view = (View)bindable;
1110             if (newValue != null)
1111             {
1112                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MINIMUM_SIZE, new Tizen.NUI.PropertyValue((Size2D)newValue));
1113             }
1114         },
1115         defaultValueCreator: (bindable) =>
1116         {
1117             var view = (View)bindable;
1118             Size2D temp = new Size2D(0, 0);
1119             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MINIMUM_SIZE).Get(temp);
1120             return temp;
1121         });
1122         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1123         [EditorBrowsable(EditorBrowsableState.Never)]
1124         public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create("MaximumSize", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1125         {
1126             var view = (View)bindable;
1127             if (newValue != null)
1128             {
1129                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MAXIMUM_SIZE, new Tizen.NUI.PropertyValue((Size2D)newValue));
1130             }
1131         },
1132         defaultValueCreator: (bindable) =>
1133         {
1134             var view = (View)bindable;
1135             Size2D temp = new Size2D(0, 0);
1136             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MAXIMUM_SIZE).Get(temp);
1137             return temp;
1138         });
1139         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1140         [EditorBrowsable(EditorBrowsableState.Never)]
1141         public static readonly BindableProperty InheritPositionProperty = BindableProperty.Create("InheritPosition", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1142         {
1143             var view = (View)bindable;
1144             if (newValue != null)
1145             {
1146                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_POSITION, new Tizen.NUI.PropertyValue((bool)newValue));
1147             }
1148         },
1149         defaultValueCreator: (bindable) =>
1150         {
1151             var view = (View)bindable;
1152             bool temp = false;
1153             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_POSITION).Get(out temp);
1154             return temp;
1155         });
1156         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1157         [EditorBrowsable(EditorBrowsableState.Never)]
1158         public static readonly BindableProperty ClippingModeProperty = BindableProperty.Create("ClippingMode", typeof(ClippingModeType), typeof(View), ClippingModeType.Disabled, propertyChanged: (bindable, oldValue, newValue) =>
1159         {
1160             var view = (View)bindable;
1161             if (newValue != null)
1162             {
1163                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.CLIPPING_MODE, new Tizen.NUI.PropertyValue((int)newValue));
1164             }
1165         },
1166         defaultValueCreator: (bindable) =>
1167         {
1168             var view = (View)bindable;
1169             int temp = 0;
1170             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.CLIPPING_MODE).Get(out temp) == false)
1171             {
1172                 NUILog.Error("ClippingMode get error!");
1173             }
1174             return (ClippingModeType)temp;
1175         });
1176         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1177         [EditorBrowsable(EditorBrowsableState.Never)]
1178         public static readonly BindableProperty InheritLayoutDirectionProperty = BindableProperty.Create("InheritLayoutDirection", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1179         {
1180             var view = (View)bindable;
1181             if (newValue != null)
1182             {
1183                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_LAYOUT_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
1184             }
1185         },
1186         defaultValueCreator: (bindable) =>
1187         {
1188             var view = (View)bindable;
1189             bool temp = false;
1190             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_LAYOUT_DIRECTION).Get(out temp);
1191             return temp;
1192         });
1193         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1194         [EditorBrowsable(EditorBrowsableState.Never)]
1195         public static readonly BindableProperty LayoutDirectionProperty = BindableProperty.Create("LayoutDirection", typeof(ViewLayoutDirectionType), typeof(View), ViewLayoutDirectionType.LTR, propertyChanged: (bindable, oldValue, newValue) =>
1196         {
1197             var view = (View)bindable;
1198             if (newValue != null)
1199             {
1200                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.LAYOUT_DIRECTION, new Tizen.NUI.PropertyValue((int)newValue));
1201             }
1202         },
1203         defaultValueCreator: (bindable) =>
1204         {
1205             var view = (View)bindable;
1206             int temp;
1207             if (false == Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.LAYOUT_DIRECTION).Get(out temp))
1208             {
1209                 NUILog.Error("LAYOUT_DIRECTION get error!");
1210             }
1211             return (ViewLayoutDirectionType)temp;
1212         });
1213         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1214         [EditorBrowsable(EditorBrowsableState.Never)]
1215         public static readonly BindableProperty MarginProperty = BindableProperty.Create("Margin", typeof(Extents), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1216         {
1217             var view = (View)bindable;
1218             if (newValue != null)
1219             {
1220                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MARGIN, new Tizen.NUI.PropertyValue((Extents)newValue));
1221             }
1222         },
1223         defaultValueCreator: (bindable) =>
1224         {
1225             var view = (View)bindable;
1226             Extents temp = new Extents(0, 0, 0, 0);
1227             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MARGIN).Get(temp);
1228             return temp;
1229         });
1230         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1231         [EditorBrowsable(EditorBrowsableState.Never)]
1232         public static readonly BindableProperty UpdateSizeHintProperty = BindableProperty.Create("UpdateSizeHint", typeof(Vector2), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1233         {
1234             var view = (View)bindable;
1235             if (newValue != null)
1236             {
1237                 Tizen.NUI.Object.SetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_UPDATE_SIZE_HINT_get(), new Tizen.NUI.PropertyValue((Vector2)newValue));
1238             }
1239         },
1240         defaultValueCreator: (bindable) =>
1241         {
1242             var view = (View)bindable;
1243
1244             Vector2 temp = new Vector2(0.0f, 0.0f);
1245             Tizen.NUI.Object.GetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_UPDATE_SIZE_HINT_get()).Get(temp);
1246             return temp;
1247         });
1248
1249         /// <summary>
1250         /// ImageShadow Property
1251         /// </summary>
1252         [EditorBrowsable(EditorBrowsableState.Never)]
1253         public static readonly BindableProperty ImageShadowProperty = BindableProperty.Create("ImageShadow", typeof(ImageShadow), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1254         {
1255             var view = (View)bindable;
1256             view.imageShadow = (ImageShadow)newValue;
1257             Tizen.NUI.Object.SetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_SHADOW_get(), ImageShadow.ToPropertyValue(view.imageShadow));
1258         },
1259         defaultValueCreator: (bindable) =>
1260         {
1261             return ((View)bindable).imageShadow;
1262         });
1263
1264         /// <summary>
1265         /// Shadow Property
1266         /// </summary>
1267         [EditorBrowsable(EditorBrowsableState.Never)]
1268         public static readonly BindableProperty BoxShadowProperty = BindableProperty.Create("BoxShadow", typeof(Shadow), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1269         {
1270             var view = (View)bindable;
1271             view.boxShadow = (Shadow)newValue;
1272             if (view.imageShadow == null)
1273             {
1274                 Tizen.NUI.Object.SetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_SHADOW_get(), Shadow.ToPropertyValue(view.boxShadow));
1275             }
1276         },
1277         defaultValueCreator: (bindable) =>
1278         {
1279             return ((View)bindable).boxShadow;
1280         });
1281
1282         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1283         [EditorBrowsable(EditorBrowsableState.Never)]
1284         public static readonly BindableProperty XamlStyleProperty = BindableProperty.Create("XamlStyle", typeof(Style), typeof(View), default(Style), propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable)._mergedStyle.Style = (Style)newvalue);
1285     }
1286 }