[NUI] Interops for accessibility (#2277)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / ViewBindableProperty.cs
1 /*
2  * Copyright(c) 2019-2021 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         /// <summary>
30         /// StyleNameProperty (DALi json)
31         /// </summary>
32         [EditorBrowsable(EditorBrowsableState.Never)]
33         public static readonly BindableProperty StyleNameProperty = BindableProperty.Create(nameof(StyleName), typeof(string), typeof(View), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
34         {
35             var view = (View)bindable;
36             if (newValue != null)
37             {
38                 string styleName = (string)newValue;
39                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.StyleName, new Tizen.NUI.PropertyValue(styleName));
40
41                 view.styleName = styleName;
42                 view.UpdateStyle();
43                 view.ThemeChangeSensitive = true;
44             }
45         }),
46         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
47         {
48             var view = (View)bindable;
49
50             if (!string.IsNullOrEmpty(view.styleName)) return view.styleName;
51
52             string temp;
53             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.StyleName).Get(out temp);
54             return temp;
55         }));
56
57         /// <summary>
58         /// KeyInputFocusProperty
59         /// </summary>
60         [EditorBrowsable(EditorBrowsableState.Never)]
61         public static readonly BindableProperty KeyInputFocusProperty = BindableProperty.Create(nameof(KeyInputFocus), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
62         {
63             var view = (View)bindable;
64             if (newValue != null)
65             {
66                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.KeyInputFocus, new Tizen.NUI.PropertyValue((bool)newValue));
67             }
68         }),
69         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
70         {
71             var view = (View)bindable;
72             bool temp = false;
73             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.KeyInputFocus).Get(out temp);
74             return temp;
75         }));
76
77         /// <summary>
78         /// BackgroundColorProperty
79         /// </summary>
80         [EditorBrowsable(EditorBrowsableState.Never)]
81         public static readonly BindableProperty BackgroundColorProperty = BindableProperty.Create(nameof(BackgroundColor), typeof(Color), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
82         {
83             var view = (View)bindable;
84             if (newValue != null)
85             {
86                 if (view.backgroundExtraData == null)
87                 {
88                     Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.BACKGROUND, new PropertyValue((Color)newValue));
89                     return;
90                 }
91
92                 PropertyMap map = new PropertyMap();
93
94                 map.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Color))
95                    .Add(ColorVisualProperty.MixColor, new PropertyValue((Color)newValue))
96                    .Add(Visual.Property.CornerRadius, new PropertyValue(view.backgroundExtraData.CornerRadius))
97                    .Add(Visual.Property.CornerRadiusPolicy, new PropertyValue((int)(view.backgroundExtraData.CornerRadiusPolicy)));
98
99                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.BACKGROUND, new PropertyValue(map));
100             }
101         }),
102         defaultValueCreator: (bindable) =>
103         {
104             var view = (View)bindable;
105             Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
106
107             Tizen.NUI.PropertyMap background = view.Background;
108             int visualType = 0;
109             background.Find(Visual.Property.Type)?.Get(out visualType);
110             if (visualType == (int)Visual.Type.Color)
111             {
112                 background.Find(ColorVisualProperty.MixColor)?.Get(backgroundColor);
113             }
114
115             return backgroundColor;
116         });
117
118         /// <summary>
119         /// ColorProperty
120         /// </summary>
121         [EditorBrowsable(EditorBrowsableState.Never)]
122         public static readonly BindableProperty ColorProperty = BindableProperty.Create(nameof(Color), typeof(Color), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
123         {
124             var view = (View)bindable;
125             if (newValue != null)
126             {
127                 view.SetColor((Color)newValue);
128             }
129         },
130         defaultValueCreator: (bindable) =>
131         {
132             var view = (View)bindable;
133             Color color = new Color(0.0f, 0.0f, 0.0f, 0.0f);
134             view.GetProperty(Interop.ActorProperty.ColorGet()).Get(color);
135             return color;
136         });
137
138         /// <summary> BackgroundImageProperty </summary>
139         [EditorBrowsable(EditorBrowsableState.Never)]
140         public static readonly BindableProperty BackgroundImageProperty = BindableProperty.Create(nameof(BackgroundImage), typeof(string), typeof(View), default(string), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
141         {
142             var view = (View)bindable;
143             string url = (string)newValue;
144
145             if (string.IsNullOrEmpty(url))
146             {
147                 // Clear background
148                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.BACKGROUND, new PropertyValue());
149                 return;
150             }
151
152             if (view.backgroundExtraData == null)
153             {
154                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.BACKGROUND, new PropertyValue(url));
155                 view.BackgroundImageSynchronosLoading = view.backgroundImageSynchronosLoading;
156
157                 return;
158             }
159
160             PropertyMap map = new PropertyMap();
161
162             map.Add(ImageVisualProperty.URL, new PropertyValue(url))
163                .Add(Visual.Property.CornerRadius, new PropertyValue(view.backgroundExtraData.CornerRadius))
164                .Add(Visual.Property.CornerRadiusPolicy, new PropertyValue((int)(view.backgroundExtraData.CornerRadiusPolicy)))
165                .Add(ImageVisualProperty.SynchronousLoading, new PropertyValue(view.backgroundImageSynchronosLoading));
166
167             if (view.backgroundExtraData.BackgroundImageBorder != null)
168             {
169                 map.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.NPatch))
170                    .Add(NpatchImageVisualProperty.Border, new PropertyValue(view.backgroundExtraData.BackgroundImageBorder));
171             }
172             else
173             {
174                 map.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Image));
175             }
176
177             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.BACKGROUND, new PropertyValue(map));
178         }),
179         defaultValueCreator: (bindable) =>
180         {
181             var view = (View)bindable;
182             string backgroundImage = "";
183
184             Tizen.NUI.PropertyMap background = view.Background;
185             background.Find(ImageVisualProperty.URL)?.Get(out backgroundImage);
186
187             return backgroundImage;
188         });
189         /// <summary>BackgroundImageBorderProperty</summary>
190         [EditorBrowsable(EditorBrowsableState.Never)]
191         public static readonly BindableProperty BackgroundImageBorderProperty = BindableProperty.Create(nameof(BackgroundImageBorder), typeof(Rectangle), typeof(View), default(Rectangle), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
192         {
193             var view = (View)bindable;
194
195             bool isEmptyValue = Rectangle.IsNullOrZero((Rectangle)newValue);
196
197             var backgroundImageBorder = isEmptyValue ? null : (Rectangle)newValue;
198
199             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).BackgroundImageBorder = backgroundImageBorder;
200
201             if (isEmptyValue)
202             {
203                 return;
204             }
205
206             PropertyMap map = view.Background;
207
208             if (map.Empty())
209             {
210                 return;
211             }
212
213             map[NpatchImageVisualProperty.Border] = new PropertyValue(backgroundImageBorder);
214
215             int visualType = 0;
216
217             map.Find(Visual.Property.Type)?.Get(out visualType);
218
219             if (visualType == (int)Visual.Type.Image)
220             {
221                 map[Visual.Property.Type] = new PropertyValue((int)Visual.Type.NPatch);
222             }
223
224             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.BACKGROUND, new PropertyValue(map));
225
226         }),
227         defaultValueCreator: (bindable) =>
228         {
229             var view = (View)bindable;
230
231             return view.backgroundExtraData?.BackgroundImageBorder;
232         });
233         /// <summary>
234         /// BackgroundProperty
235         /// </summary>
236         [EditorBrowsable(EditorBrowsableState.Never)]
237         public static readonly BindableProperty BackgroundProperty = BindableProperty.Create(nameof(Background), typeof(PropertyMap), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
238         {
239             var view = (View)bindable;
240             if (newValue != null)
241             {
242                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
243
244                 view.backgroundExtraData = null;
245             }
246         }),
247         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
248         {
249             var view = (View)bindable;
250             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
251             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.BACKGROUND).Get(temp);
252             return temp;
253         }));
254
255         /// <summary>
256         /// StateProperty
257         /// </summary>
258         [EditorBrowsable(EditorBrowsableState.Never)]
259         public static readonly BindableProperty StateProperty = BindableProperty.Create(nameof(State), typeof(States), typeof(View), States.Normal, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
260         {
261             var view = (View)bindable;
262             if (newValue != null)
263             {
264                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.STATE, new Tizen.NUI.PropertyValue((int)newValue));
265             }
266         }),
267         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
268         {
269             var view = (View)bindable;
270             int temp = 0;
271             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.STATE).Get(out temp) == false)
272             {
273                 NUILog.Error("State get error!");
274             }
275             switch (temp)
276             {
277                 case 0: return States.Normal;
278                 case 1: return States.Focused;
279                 case 2: return States.Disabled;
280                 default: return States.Normal;
281             }
282         }));
283
284         /// <summary>
285         /// SubStateProperty
286         /// </summary>
287         [EditorBrowsable(EditorBrowsableState.Never)]
288         public static readonly BindableProperty SubStateProperty = BindableProperty.Create(nameof(SubState), typeof(States), typeof(View), States.Normal, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
289         {
290             var view = (View)bindable;
291             string valueToString = "";
292             if (newValue != null)
293             {
294                 valueToString = ((States)newValue).GetDescription();
295                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SubState, new Tizen.NUI.PropertyValue(valueToString));
296             }
297         }),
298         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
299         {
300             var view = (View)bindable;
301             string temp;
302             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SubState).Get(out temp) == false)
303             {
304                 NUILog.Error("subState get error!");
305             }
306             return temp.GetValueByDescription<States>();
307         }));
308
309         /// <summary>
310         /// TooltipProperty
311         /// </summary>
312         [EditorBrowsable(EditorBrowsableState.Never)]
313         public static readonly BindableProperty TooltipProperty = BindableProperty.Create(nameof(Tooltip), typeof(PropertyMap), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
314         {
315             var view = (View)bindable;
316             if (newValue != null)
317             {
318                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.TOOLTIP, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
319             }
320         }),
321         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
322         {
323             var view = (View)bindable;
324             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
325             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.TOOLTIP).Get(temp);
326             return temp;
327         }));
328
329         /// <summary>
330         /// FlexProperty
331         /// </summary>
332         [EditorBrowsable(EditorBrowsableState.Never)]
333         public static readonly BindableProperty FlexProperty = BindableProperty.Create(nameof(Flex), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
334         {
335             var view = (View)bindable;
336             if (newValue != null)
337             {
338                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue((float)newValue));
339             }
340         }),
341         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
342         {
343             var view = (View)bindable;
344             float temp = 0.0f;
345             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FLEX).Get(out temp);
346             return temp;
347         }));
348
349         /// <summary>
350         /// AlignSelfProperty
351         /// </summary>
352         [EditorBrowsable(EditorBrowsableState.Never)]
353         public static readonly BindableProperty AlignSelfProperty = BindableProperty.Create(nameof(AlignSelf), typeof(int), typeof(View), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
354         {
355             var view = (View)bindable;
356             if (newValue != null)
357             {
358                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.AlignSelf, new Tizen.NUI.PropertyValue((int)newValue));
359             }
360         }),
361         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
362         {
363             var view = (View)bindable;
364             int temp = 0;
365             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.AlignSelf).Get(out temp);
366             return temp;
367         }));
368
369         /// <summary>
370         /// FlexMarginProperty
371         /// </summary>
372         [EditorBrowsable(EditorBrowsableState.Never)]
373         public static readonly BindableProperty FlexMarginProperty = BindableProperty.Create(nameof(FlexMargin), typeof(Vector4), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
374         {
375             var view = (View)bindable;
376             if (newValue != null)
377             {
378                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FlexMargin, new Tizen.NUI.PropertyValue((Vector4)newValue));
379             }
380         }),
381         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
382         {
383             var view = (View)bindable;
384             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
385             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FlexMargin).Get(temp);
386             return temp;
387         }));
388
389         /// <summary>
390         /// CellIndexProperty
391         /// </summary>
392         [EditorBrowsable(EditorBrowsableState.Never)]
393         public static readonly BindableProperty CellIndexProperty = BindableProperty.Create(nameof(CellIndex), typeof(Vector2), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
394         {
395             var view = (View)bindable;
396             if (newValue != null)
397             {
398                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellIndex, new Tizen.NUI.PropertyValue((Vector2)newValue));
399             }
400         }),
401         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
402         {
403             var view = (View)bindable;
404             Vector2 temp = new Vector2(0.0f, 0.0f);
405             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellIndex).Get(temp);
406             return temp;
407         }));
408
409         /// <summary>
410         /// RowSpanProperty
411         /// </summary>
412         [EditorBrowsable(EditorBrowsableState.Never)]
413         public static readonly BindableProperty RowSpanProperty = BindableProperty.Create(nameof(RowSpan), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
414         {
415             var view = (View)bindable;
416             if (newValue != null)
417             {
418                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.RowSpan, new Tizen.NUI.PropertyValue((float)newValue));
419             }
420         }),
421         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
422         {
423             var view = (View)bindable;
424             float temp = 0.0f;
425             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.RowSpan).Get(out temp);
426             return temp;
427         }));
428
429         /// <summary>
430         /// ColumnSpanProperty
431         /// </summary>
432         [EditorBrowsable(EditorBrowsableState.Never)]
433         public static readonly BindableProperty ColumnSpanProperty = BindableProperty.Create(nameof(ColumnSpan), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
434         {
435             var view = (View)bindable;
436             if (newValue != null)
437             {
438                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.ColumnSpan, new Tizen.NUI.PropertyValue((float)newValue));
439             }
440         }),
441         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
442         {
443             var view = (View)bindable;
444             float temp = 0.0f;
445             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.ColumnSpan).Get(out temp);
446             return temp;
447         }));
448
449         /// <summary>
450         /// CellHorizontalAlignmentProperty
451         /// </summary>
452         [EditorBrowsable(EditorBrowsableState.Never)]
453         public static readonly BindableProperty CellHorizontalAlignmentProperty = BindableProperty.Create(nameof(CellHorizontalAlignment), typeof(HorizontalAlignmentType), typeof(View), HorizontalAlignmentType.Left, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
454         {
455             var view = (View)bindable;
456             string valueToString = "";
457
458             if (newValue != null)
459             {
460                 valueToString = ((HorizontalAlignmentType)newValue).GetDescription();
461                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellHorizontalAlignment, new Tizen.NUI.PropertyValue(valueToString));
462             }
463         }),
464         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
465         {
466             var view = (View)bindable;
467             string temp;
468             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellHorizontalAlignment).Get(out temp) == false)
469             {
470                 NUILog.Error("CellHorizontalAlignment get error!");
471             }
472
473             return temp.GetValueByDescription<HorizontalAlignmentType>();
474         }));
475
476         /// <summary>
477         /// CellVerticalAlignmentProperty
478         /// </summary>
479         [EditorBrowsable(EditorBrowsableState.Never)]
480         public static readonly BindableProperty CellVerticalAlignmentProperty = BindableProperty.Create(nameof(CellVerticalAlignment), typeof(VerticalAlignmentType), typeof(View), VerticalAlignmentType.Top, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
481         {
482             var view = (View)bindable;
483             string valueToString = "";
484
485             if (newValue != null)
486             {
487                 valueToString = ((VerticalAlignmentType)newValue).GetDescription();
488                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellVerticalAlignment, new Tizen.NUI.PropertyValue(valueToString));
489             }
490         }),
491         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
492         {
493             var view = (View)bindable;
494             string temp;
495             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellVerticalAlignment).Get(out temp);
496             {
497                 NUILog.Error("CellVerticalAlignment get error!");
498             }
499
500             return temp.GetValueByDescription<VerticalAlignmentType>();
501         }));
502
503         /// <summary>
504         /// "Please DO NOT use! This will be deprecated! Please use 'View Weight' instead of BindableProperty"
505         /// This needs to be hidden as inhouse API until all applications using it have been updated.  Do not make public.
506         /// </summary>
507         [EditorBrowsable(EditorBrowsableState.Never)]
508         public static readonly BindableProperty WeightProperty = BindableProperty.Create(nameof(Weight), typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
509         {
510             var view = (View)bindable;
511             if (newValue != null)
512             {
513                 view.Weight = (float)newValue;
514             }
515         },
516
517         defaultValueCreator: (bindable) =>
518         {
519             var view = (View)bindable;
520             return view.Weight;
521         });
522
523         /// <summary>
524         /// LeftFocusableViewProperty
525         /// </summary>
526         [EditorBrowsable(EditorBrowsableState.Never)]
527         public static readonly BindableProperty LeftFocusableViewProperty = BindableProperty.Create(nameof(View.LeftFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
528         {
529             var view = (View)bindable;
530             if (newValue != null) { view.LeftFocusableViewId = (int)(newValue as View)?.GetId(); }
531             else { view.LeftFocusableViewId = -1; }
532         },
533         defaultValueCreator: (bindable) =>
534         {
535             var view = (View)bindable;
536             if (view.LeftFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.LeftFocusableViewId); }
537             return null;
538         });
539
540         /// <summary>
541         /// RightFocusableViewProperty
542         /// </summary>
543         [EditorBrowsable(EditorBrowsableState.Never)]
544         public static readonly BindableProperty RightFocusableViewProperty = BindableProperty.Create(nameof(View.RightFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
545         {
546             var view = (View)bindable;
547             if (newValue != null) { view.RightFocusableViewId = (int)(newValue as View)?.GetId(); }
548             else { view.RightFocusableViewId = -1; }
549         },
550         defaultValueCreator: (bindable) =>
551         {
552             var view = (View)bindable;
553             if (view.RightFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.RightFocusableViewId); }
554             return null;
555         });
556
557         /// <summary>
558         /// UpFocusableViewProperty
559         /// </summary>
560         [EditorBrowsable(EditorBrowsableState.Never)]
561         public static readonly BindableProperty UpFocusableViewProperty = BindableProperty.Create(nameof(View.UpFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
562         {
563             var view = (View)bindable;
564             if (newValue != null) { view.UpFocusableViewId = (int)(newValue as View)?.GetId(); }
565             else { view.UpFocusableViewId = -1; }
566         },
567         defaultValueCreator: (bindable) =>
568         {
569             var view = (View)bindable;
570             if (view.UpFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.UpFocusableViewId); }
571             return null;
572         });
573
574         /// <summary>
575         /// DownFocusableViewProperty
576         /// </summary>
577         [EditorBrowsable(EditorBrowsableState.Never)]
578         public static readonly BindableProperty DownFocusableViewProperty = BindableProperty.Create(nameof(View.DownFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
579         {
580             var view = (View)bindable;
581             if (newValue != null) { view.DownFocusableViewId = (int)(newValue as View)?.GetId(); }
582             else { view.DownFocusableViewId = -1; }
583         },
584         defaultValueCreator: (bindable) =>
585         {
586             var view = (View)bindable;
587             if (view.DownFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.DownFocusableViewId); }
588             return null;
589         });
590
591         /// <summary>
592         /// FocusableProperty
593         /// </summary>
594         [EditorBrowsable(EditorBrowsableState.Never)]
595         public static readonly BindableProperty FocusableProperty = BindableProperty.Create(nameof(Focusable), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
596         {
597             var view = (View)bindable;
598             if (newValue != null) { view.SetKeyboardFocusable((bool)newValue); }
599         },
600         defaultValueCreator: (bindable) =>
601         {
602             var view = (View)bindable;
603             return view.IsKeyboardFocusable();
604         });
605
606         /// <summary>
607         /// Size2DProperty
608         /// </summary>
609         [EditorBrowsable(EditorBrowsableState.Never)]
610         public static readonly BindableProperty Size2DProperty = BindableProperty.Create(nameof(Size2D), typeof(Size2D), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
611         {
612             var view = (View)bindable;
613             if (newValue != null)
614             {
615                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue(new Size((Size2D)newValue)));
616                 view.widthPolicy = ((Size2D)newValue).Width;
617                 view.heightPolicy = ((Size2D)newValue).Height;
618
619                 view.layout?.RequestLayout();
620             }
621         }),
622         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
623         {
624             var view = (View)bindable;
625             Size temp = new Size(0.0f, 0.0f, 0.0f);
626             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SIZE).Get(temp);
627             Size2D size = new Size2D((int)temp.Width, (int)temp.Height);
628             return size;
629         }));
630
631         /// <summary>
632         /// OpacityProperty
633         /// </summary>
634         [EditorBrowsable(EditorBrowsableState.Never)]
635         public static readonly BindableProperty OpacityProperty = BindableProperty.Create(nameof(Opacity), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
636         {
637             var view = (View)bindable;
638
639             if (newValue != null)
640             {
641                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.OPACITY, new Tizen.NUI.PropertyValue((float)newValue));
642             }
643         }),
644         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
645         {
646             var view = (View)bindable;
647             float temp = 0.0f;
648             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.OPACITY).Get(out temp);
649             return temp;
650         }));
651
652         /// <summary>
653         /// Position2DProperty
654         /// </summary>
655         [EditorBrowsable(EditorBrowsableState.Never)]
656         public static readonly BindableProperty Position2DProperty = BindableProperty.Create(nameof(Position2D), typeof(Position2D), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
657         {
658             var view = (View)bindable;
659             if (newValue != null)
660             {
661                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position((Position2D)newValue)));
662             }
663         }),
664         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
665         {
666             var view = (View)bindable;
667             Position temp = new Position(0.0f, 0.0f, 0.0f);
668             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION).Get(temp);
669             return new Position2D(temp);
670         }));
671
672         /// <summary>
673         /// PositionUsesPivotPointProperty
674         /// </summary>
675         [EditorBrowsable(EditorBrowsableState.Never)]
676         public static readonly BindableProperty PositionUsesPivotPointProperty = BindableProperty.Create(nameof(PositionUsesPivotPoint), typeof(bool), typeof(View), true, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
677         {
678             var view = (View)bindable;
679             if (newValue != null)
680             {
681                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionUsesAnchorPoint, new Tizen.NUI.PropertyValue((bool)newValue));
682             }
683         }),
684         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
685         {
686             var view = (View)bindable;
687             bool temp = false;
688             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionUsesAnchorPoint).Get(out temp);
689             return temp;
690         }));
691
692         /// <summary>
693         /// SiblingOrderProperty
694         /// </summary>
695         [EditorBrowsable(EditorBrowsableState.Never)]
696         public static readonly BindableProperty SiblingOrderProperty = BindableProperty.Create(nameof(SiblingOrder), typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
697         {
698             var view = (View)bindable;
699             int value;
700             if (newValue != null)
701             {
702                 value = (int)newValue;
703                 if (value < 0)
704                 {
705                     NUILog.Error("SiblingOrder should be bigger than 0 or equal to 0.");
706                     return;
707                 }
708                 var siblings = view.GetParent()?.Children;
709                 if (siblings != null)
710                 {
711                     int currentOrder = siblings.IndexOf(view);
712                     if (value != currentOrder)
713                     {
714                         if (value == 0) { view.LowerToBottom(); }
715                         else if (value < siblings.Count - 1)
716                         {
717                             if (value > currentOrder) { view.RaiseAbove(siblings[value]); }
718                             else { view.LowerBelow(siblings[value]); }
719                         }
720                         else { view.RaiseToTop(); }
721                     }
722                 }
723             }
724         },
725         defaultValueCreator: (bindable) =>
726         {
727             var view = (View)bindable;
728             var parentChildren = view.GetParent()?.Children;
729             int currentOrder = 0;
730             if (parentChildren != null)
731             {
732                 currentOrder = parentChildren.IndexOf(view);
733
734                 if (currentOrder < 0) { return 0; }
735                 else if (currentOrder < parentChildren.Count) { return currentOrder; }
736             }
737
738             return 0;
739         });
740
741         /// <summary>
742         /// ParentOriginProperty
743         /// </summary>
744         [EditorBrowsable(EditorBrowsableState.Never)]
745         public static readonly BindableProperty ParentOriginProperty = BindableProperty.Create(nameof(ParentOrigin), typeof(Position), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
746         {
747             var view = (View)bindable;
748             if (newValue != null)
749             {
750                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ParentOrigin, new Tizen.NUI.PropertyValue((Position)newValue));
751             }
752         }),
753         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
754         {
755             var view = (View)bindable;
756             Position temp = new Position(0.0f, 0.0f, 0.0f);
757             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ParentOrigin).Get(temp);
758             return temp;
759         })
760         );
761
762         /// <summary>
763         /// PivotPointProperty
764         /// </summary>
765         [EditorBrowsable(EditorBrowsableState.Never)]
766         public static readonly BindableProperty PivotPointProperty = BindableProperty.Create(nameof(PivotPoint), typeof(Position), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
767         {
768             var view = (View)bindable;
769             if (newValue != null)
770             {
771                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AnchorPoint, new Tizen.NUI.PropertyValue((Position)newValue));
772             }
773         }),
774         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
775         {
776             var view = (View)bindable;
777             Position temp = new Position(0.0f, 0.0f, 0.0f);
778             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AnchorPoint).Get(temp);
779             return temp;
780         }));
781
782         /// <summary>
783         /// SizeWidthProperty
784         /// </summary>
785         [EditorBrowsable(EditorBrowsableState.Never)]
786         public static readonly BindableProperty SizeWidthProperty = BindableProperty.Create(nameof(SizeWidth), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
787         {
788             var view = (View)bindable;
789             if (newValue != null)
790             {
791                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeWidth, new Tizen.NUI.PropertyValue((float)newValue));
792                 view.WidthSpecification = (int)System.Math.Ceiling((float)newValue);
793             }
794         }),
795         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
796         {
797             var view = (View)bindable;
798             float temp = 0.0f;
799             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeWidth).Get(out temp);
800             return temp;
801         }));
802
803         /// <summary>
804         /// SizeHeightProperty
805         /// </summary>
806         [EditorBrowsable(EditorBrowsableState.Never)]
807         public static readonly BindableProperty SizeHeightProperty = BindableProperty.Create(nameof(SizeHeight), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
808         {
809             var view = (View)bindable;
810             if (newValue != null)
811             {
812                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeHeight, new Tizen.NUI.PropertyValue((float)newValue));
813                 view.HeightSpecification = (int)System.Math.Ceiling((float)newValue);
814             }
815         }),
816         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
817         {
818             var view = (View)bindable;
819             float temp = 0.0f;
820             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeHeight).Get(out temp);
821             return temp;
822         }));
823
824         /// <summary>
825         /// PositionProperty
826         /// </summary>
827         [EditorBrowsable(EditorBrowsableState.Never)]
828         public static readonly BindableProperty PositionProperty = BindableProperty.Create(nameof(Position), typeof(Position), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
829         {
830             var view = (View)bindable;
831             if (newValue != null)
832             {
833                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue((Position)newValue));
834             }
835         }),
836         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
837         {
838             var view = (View)bindable;
839             Position temp = new Position(0.0f, 0.0f, 0.0f);
840             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION).Get(temp);
841             return temp;
842         }));
843
844         /// <summary>
845         /// PositionXProperty
846         /// </summary>
847         [EditorBrowsable(EditorBrowsableState.Never)]
848         public static readonly BindableProperty PositionXProperty = BindableProperty.Create(nameof(PositionX), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
849         {
850             var view = (View)bindable;
851             if (newValue != null)
852             {
853                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionX, new Tizen.NUI.PropertyValue((float)newValue));
854             }
855         }),
856         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
857         {
858             var view = (View)bindable;
859             float temp = 0.0f;
860             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionX).Get(out temp);
861             return temp;
862         }));
863
864         /// <summary>
865         /// PositionYProperty
866         /// </summary>
867         [EditorBrowsable(EditorBrowsableState.Never)]
868         public static readonly BindableProperty PositionYProperty = BindableProperty.Create(nameof(PositionY), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
869         {
870             var view = (View)bindable;
871             if (newValue != null)
872             {
873                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionY, new Tizen.NUI.PropertyValue((float)newValue));
874             }
875         }),
876         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
877         {
878             var view = (View)bindable;
879             float temp = 0.0f;
880             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionY).Get(out temp);
881             return temp;
882         }));
883
884         /// <summary>
885         /// PositionZProperty
886         /// </summary>
887         [EditorBrowsable(EditorBrowsableState.Never)]
888         public static readonly BindableProperty PositionZProperty = BindableProperty.Create(nameof(PositionZ), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
889         {
890             var view = (View)bindable;
891             if (newValue != null)
892             {
893                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionZ, new Tizen.NUI.PropertyValue((float)newValue));
894             }
895         }),
896         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
897         {
898             var view = (View)bindable;
899             float temp = 0.0f;
900             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionZ).Get(out temp);
901             return temp;
902         }));
903
904         /// <summary>
905         /// OrientationProperty
906         /// </summary>
907         [EditorBrowsable(EditorBrowsableState.Never)]
908         public static readonly BindableProperty OrientationProperty = BindableProperty.Create(nameof(Orientation), typeof(Rotation), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
909         {
910             var view = (View)bindable;
911             if (newValue != null)
912             {
913                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ORIENTATION, new Tizen.NUI.PropertyValue((Rotation)newValue));
914             }
915         }),
916         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
917         {
918             var view = (View)bindable;
919             Rotation temp = new Rotation();
920             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ORIENTATION).Get(temp);
921             return temp;
922         }));
923
924         /// <summary>
925         /// ScaleProperty
926         /// </summary>
927         [EditorBrowsable(EditorBrowsableState.Never)]
928         public static readonly BindableProperty ScaleProperty = BindableProperty.Create(nameof(Scale), typeof(Vector3), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
929         {
930             var view = (View)bindable;
931             if (newValue != null)
932             {
933                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SCALE, new Tizen.NUI.PropertyValue((Vector3)newValue));
934             }
935         }),
936         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
937         {
938             var view = (View)bindable;
939             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
940             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SCALE).Get(temp);
941             return temp;
942         }));
943
944         /// <summary>
945         /// ScaleXProperty
946         /// </summary>
947         [EditorBrowsable(EditorBrowsableState.Never)]
948         public static readonly BindableProperty ScaleXProperty = BindableProperty.Create(nameof(ScaleX), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
949         {
950             var view = (View)bindable;
951             if (newValue != null)
952             {
953                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleX, new Tizen.NUI.PropertyValue((float)newValue));
954             }
955         }),
956         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
957         {
958             var view = (View)bindable;
959             float temp = 0.0f;
960             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleX).Get(out temp);
961             return temp;
962         }));
963
964         /// <summary>
965         /// ScaleYProperty
966         /// </summary>
967         [EditorBrowsable(EditorBrowsableState.Never)]
968         public static readonly BindableProperty ScaleYProperty = BindableProperty.Create(nameof(ScaleY), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
969         {
970             var view = (View)bindable;
971             if (newValue != null)
972             {
973                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleY, new Tizen.NUI.PropertyValue((float)newValue));
974             }
975         }),
976         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
977         {
978             var view = (View)bindable;
979             float temp = 0.0f;
980             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleY).Get(out temp);
981             return temp;
982         }));
983
984         /// <summary>
985         /// ScaleZProperty
986         /// </summary>
987         [EditorBrowsable(EditorBrowsableState.Never)]
988         public static readonly BindableProperty ScaleZProperty = BindableProperty.Create(nameof(ScaleZ), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
989         {
990             var view = (View)bindable;
991             if (newValue != null)
992             {
993                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleZ, new Tizen.NUI.PropertyValue((float)newValue));
994             }
995         }),
996         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
997         {
998             var view = (View)bindable;
999             float temp = 0.0f;
1000             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleZ).Get(out temp);
1001             return temp;
1002         }));
1003
1004         /// <summary>
1005         /// NameProperty
1006         /// </summary>
1007         [EditorBrowsable(EditorBrowsableState.Never)]
1008         public static readonly BindableProperty NameProperty = BindableProperty.Create(nameof(Name), typeof(string), typeof(View), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1009         {
1010             var view = (View)bindable;
1011             if (newValue != null)
1012             {
1013                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.NAME, new Tizen.NUI.PropertyValue((string)newValue));
1014             }
1015         }),
1016         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1017         {
1018             var view = (View)bindable;
1019             string temp;
1020             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.NAME).Get(out temp);
1021             return temp;
1022         }));
1023
1024         /// <summary>
1025         /// SensitiveProperty
1026         /// </summary>
1027         [EditorBrowsable(EditorBrowsableState.Never)]
1028         public static readonly BindableProperty SensitiveProperty = BindableProperty.Create(nameof(Sensitive), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1029         {
1030             var view = (View)bindable;
1031             if (newValue != null)
1032             {
1033                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SENSITIVE, new Tizen.NUI.PropertyValue((bool)newValue));
1034             }
1035         }),
1036         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1037         {
1038             var view = (View)bindable;
1039             bool temp = false;
1040             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SENSITIVE).Get(out temp);
1041             return temp;
1042         }));
1043
1044         /// <summary>
1045         /// LeaveRequiredProperty
1046         /// </summary>
1047         [EditorBrowsable(EditorBrowsableState.Never)]
1048         public static readonly BindableProperty LeaveRequiredProperty = BindableProperty.Create(nameof(LeaveRequired), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1049         {
1050             var view = (View)bindable;
1051             if (newValue != null)
1052             {
1053                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LeaveRequired, new Tizen.NUI.PropertyValue((bool)newValue));
1054             }
1055         }),
1056         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1057         {
1058             var view = (View)bindable;
1059             bool temp = false;
1060             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LeaveRequired).Get(out temp);
1061             return temp;
1062         }));
1063
1064         /// <summary>
1065         /// InheritOrientationProperty
1066         /// </summary>
1067         [EditorBrowsable(EditorBrowsableState.Never)]
1068         public static readonly BindableProperty InheritOrientationProperty = BindableProperty.Create(nameof(InheritOrientation), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1069         {
1070             var view = (View)bindable;
1071             if (newValue != null)
1072             {
1073                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritOrientation, new Tizen.NUI.PropertyValue((bool)newValue));
1074             }
1075         }),
1076         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1077         {
1078             var view = (View)bindable;
1079             bool temp = false;
1080             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritOrientation).Get(out temp);
1081             return temp;
1082         }));
1083
1084         /// <summary>
1085         /// InheritScaleProperty
1086         /// </summary>
1087         [EditorBrowsable(EditorBrowsableState.Never)]
1088         public static readonly BindableProperty InheritScaleProperty = BindableProperty.Create(nameof(InheritScale), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1089         {
1090             var view = (View)bindable;
1091             if (newValue != null)
1092             {
1093                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritScale, new Tizen.NUI.PropertyValue((bool)newValue));
1094             }
1095         }),
1096         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1097         {
1098             var view = (View)bindable;
1099             bool temp = false;
1100             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritScale).Get(out temp);
1101             return temp;
1102         }));
1103
1104         /// <summary>
1105         /// DrawModeProperty
1106         /// </summary>
1107         [EditorBrowsable(EditorBrowsableState.Never)]
1108         public static readonly BindableProperty DrawModeProperty = BindableProperty.Create(nameof(DrawMode), typeof(DrawModeType), typeof(View), DrawModeType.Normal, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1109         {
1110             var view = (View)bindable;
1111             if (newValue != null)
1112             {
1113                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DrawMode, new Tizen.NUI.PropertyValue((int)newValue));
1114             }
1115         }),
1116         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1117         {
1118             var view = (View)bindable;
1119             int temp;
1120             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DrawMode).Get(out temp) == false)
1121             {
1122                 NUILog.Error("DrawMode get error!");
1123             }
1124             return (DrawModeType)temp;
1125         }));
1126
1127         /// <summary>
1128         /// SizeModeFactorProperty
1129         /// </summary>
1130         [EditorBrowsable(EditorBrowsableState.Never)]
1131         public static readonly BindableProperty SizeModeFactorProperty = BindableProperty.Create(nameof(SizeModeFactor), typeof(Vector3), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1132         {
1133             var view = (View)bindable;
1134             if (newValue != null)
1135             {
1136                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeModeFactor, new Tizen.NUI.PropertyValue((Vector3)newValue));
1137             }
1138         }),
1139         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1140         {
1141             var view = (View)bindable;
1142             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
1143             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeModeFactor).Get(temp);
1144             return temp;
1145         }));
1146
1147         /// <summary>
1148         /// WidthResizePolicyProperty
1149         /// </summary>
1150         [EditorBrowsable(EditorBrowsableState.Never)]
1151         public static readonly BindableProperty WidthResizePolicyProperty = BindableProperty.Create(nameof(WidthResizePolicy), typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1152         {
1153             var view = (View)bindable;
1154             if (newValue != null)
1155             {
1156                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthResizePolicy, new Tizen.NUI.PropertyValue((int)newValue));
1157                 // Match ResizePolicy to new Layouting.
1158                 // Parent relative policies can not be mapped at this point as parent size unknown.
1159                 switch ((ResizePolicyType)newValue)
1160                 {
1161                     case ResizePolicyType.UseNaturalSize:
1162                         {
1163                             view.WidthSpecification = LayoutParamPolicies.WrapContent;
1164                             break;
1165                         }
1166                     case ResizePolicyType.FillToParent:
1167                         {
1168                             view.WidthSpecification = LayoutParamPolicies.MatchParent;
1169                             break;
1170                         }
1171                     case ResizePolicyType.FitToChildren:
1172                         {
1173                             view.WidthSpecification = LayoutParamPolicies.WrapContent;
1174                             break;
1175                         }
1176                     default:
1177                         break;
1178                 }
1179             }
1180         }),
1181         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1182         {
1183             var view = (View)bindable;
1184             string temp;
1185             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthResizePolicy).Get(out temp) == false)
1186             {
1187                 NUILog.Error("WidthResizePolicy get error!");
1188             }
1189             return temp.GetValueByDescription<ResizePolicyType>();
1190         }));
1191
1192         /// <summary>
1193         /// HeightResizePolicyProperty
1194         /// </summary>
1195         [EditorBrowsable(EditorBrowsableState.Never)]
1196         public static readonly BindableProperty HeightResizePolicyProperty = BindableProperty.Create(nameof(HeightResizePolicy), typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1197         {
1198             var view = (View)bindable;
1199             if (newValue != null)
1200             {
1201                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightResizePolicy, new Tizen.NUI.PropertyValue((int)newValue));
1202                 // Match ResizePolicy to new Layouting.
1203                 // Parent relative policies can not be mapped at this point as parent size unknown.
1204                 switch ((ResizePolicyType)newValue)
1205                 {
1206                     case ResizePolicyType.UseNaturalSize:
1207                         {
1208                             view.HeightSpecification = LayoutParamPolicies.WrapContent;
1209                             break;
1210                         }
1211                     case ResizePolicyType.FillToParent:
1212                         {
1213                             view.HeightSpecification = LayoutParamPolicies.MatchParent;
1214                             break;
1215                         }
1216                     case ResizePolicyType.FitToChildren:
1217                         {
1218                             view.HeightSpecification = LayoutParamPolicies.WrapContent;
1219                             break;
1220                         }
1221                     default:
1222                         break;
1223                 }
1224             }
1225         }),
1226         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1227         {
1228             var view = (View)bindable;
1229             string temp;
1230             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightResizePolicy).Get(out temp) == false)
1231             {
1232                 NUILog.Error("HeightResizePolicy get error!");
1233             }
1234             return temp.GetValueByDescription<ResizePolicyType>();
1235         }));
1236
1237         /// <summary>
1238         /// SizeScalePolicyProperty
1239         /// </summary>
1240         [EditorBrowsable(EditorBrowsableState.Never)]
1241         public static readonly BindableProperty SizeScalePolicyProperty = BindableProperty.Create(nameof(SizeScalePolicy), typeof(SizeScalePolicyType), typeof(View), SizeScalePolicyType.UseSizeSet, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1242         {
1243             var view = (View)bindable;
1244             string valueToString = "";
1245             if (newValue != null)
1246             {
1247                 valueToString = ((SizeScalePolicyType)newValue).GetDescription();
1248                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeScalePolicy, new Tizen.NUI.PropertyValue(valueToString));
1249             }
1250         }),
1251         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1252         {
1253             var view = (View)bindable;
1254             int temp;
1255             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeScalePolicy).Get(out temp) == false)
1256             {
1257                 NUILog.Error("SizeScalePolicy get error!");
1258             }
1259             return (SizeScalePolicyType)temp;
1260         }));
1261
1262         /// <summary>
1263         /// WidthForHeightProperty
1264         /// </summary>
1265         [EditorBrowsable(EditorBrowsableState.Never)]
1266         public static readonly BindableProperty WidthForHeightProperty = BindableProperty.Create(nameof(WidthForHeight), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1267         {
1268             var view = (View)bindable;
1269             if (newValue != null)
1270             {
1271                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthForHeight, new Tizen.NUI.PropertyValue((bool)newValue));
1272             }
1273         }),
1274         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1275         {
1276             var view = (View)bindable;
1277             bool temp = false;
1278             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthForHeight).Get(out temp);
1279             return temp;
1280         }));
1281
1282         /// <summary>
1283         /// HeightForWidthProperty
1284         /// </summary>
1285         [EditorBrowsable(EditorBrowsableState.Never)]
1286         public static readonly BindableProperty HeightForWidthProperty = BindableProperty.Create(nameof(HeightForWidth), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1287         {
1288             var view = (View)bindable;
1289             if (newValue != null)
1290             {
1291                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightForWidth, new Tizen.NUI.PropertyValue((bool)newValue));
1292             }
1293         }),
1294         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1295         {
1296             var view = (View)bindable;
1297             bool temp = false;
1298             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightForWidth).Get(out temp);
1299             return temp;
1300         }));
1301
1302         /// <summary>
1303         /// PaddingProperty
1304         /// </summary>
1305         [EditorBrowsable(EditorBrowsableState.Never)]
1306         public static readonly BindableProperty PaddingProperty = BindableProperty.Create(nameof(Padding), typeof(Extents), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1307         {
1308             var view = (View)bindable;
1309             if (newValue != null)
1310             {
1311                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PADDING, new Tizen.NUI.PropertyValue((Extents)newValue));
1312             }
1313         }),
1314         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1315         {
1316             var view = (View)bindable;
1317             Extents temp = new Extents(0, 0, 0, 0);
1318             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PADDING).Get(temp);
1319             return temp;
1320         }));
1321
1322         /// <summary>
1323         /// SizeProperty
1324         /// </summary>
1325         [EditorBrowsable(EditorBrowsableState.Never)]
1326         public static readonly BindableProperty SizeProperty = BindableProperty.Create(nameof(Size), typeof(Size), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1327         {
1328             var view = (View)bindable;
1329             if (newValue != null)
1330             {
1331                 Size size = (Size)newValue;
1332                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue(size));
1333                 // Set Specification so when layouts measure this View it matches the value set here.
1334                 // All Views are currently Layouts.
1335                 view.WidthSpecification = (int)System.Math.Ceiling(size.Width);
1336                 view.HeightSpecification = (int)System.Math.Ceiling(size.Height);
1337             }
1338         }),
1339         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1340         {
1341             var view = (View)bindable;
1342             Size temp = new Size(0, 0, 0);
1343             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SIZE).Get(temp);
1344             return temp;
1345         }));
1346
1347         /// <summary>
1348         /// MinimumSizeProperty
1349         /// </summary>
1350         [EditorBrowsable(EditorBrowsableState.Never)]
1351         public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create(nameof(MinimumSize), typeof(Size2D), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1352         {
1353             var view = (View)bindable;
1354             Size2D temp = newValue as Size2D;
1355             if (temp != null)
1356             {
1357                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MinimumSize, new Tizen.NUI.PropertyValue(temp));
1358             }
1359             else
1360             {
1361                 Tizen.Log.Fatal("NUI", $"[ERROR] can't set MinimumSizeProperty!");
1362             }
1363         }),
1364         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1365         {
1366             var view = (View)bindable;
1367             Size2D temp = new Size2D(0, 0);
1368             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MinimumSize).Get(temp);
1369             return temp;
1370         }));
1371
1372         /// <summary>
1373         /// MaximumSizeProperty
1374         /// </summary>
1375         [EditorBrowsable(EditorBrowsableState.Never)]
1376         public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create(nameof(MaximumSize), typeof(Size2D), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1377         {
1378             var view = (View)bindable;
1379             Size2D temp = newValue as Size2D;
1380             if (temp != null)
1381             {
1382                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MaximumSize, new Tizen.NUI.PropertyValue(temp));
1383             }
1384             else
1385             {
1386                 Tizen.Log.Fatal("NUI", $"[ERROR] can't set MaximumSizeProperty!");
1387             }
1388         }),
1389         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1390         {
1391             var view = (View)bindable;
1392             Size2D temp = new Size2D(0, 0);
1393             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MaximumSize).Get(temp);
1394             return temp;
1395         }));
1396
1397         /// <summary>
1398         /// InheritPositionProperty
1399         /// </summary>
1400         [EditorBrowsable(EditorBrowsableState.Never)]
1401         public static readonly BindableProperty InheritPositionProperty = BindableProperty.Create(nameof(InheritPosition), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1402         {
1403             var view = (View)bindable;
1404             if (newValue != null)
1405             {
1406                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritPosition, new Tizen.NUI.PropertyValue((bool)newValue));
1407             }
1408         }),
1409         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1410         {
1411             var view = (View)bindable;
1412             bool temp = false;
1413             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritPosition).Get(out temp);
1414             return temp;
1415         }));
1416
1417         /// <summary>
1418         /// ClippingModeProperty
1419         /// </summary>
1420         [EditorBrowsable(EditorBrowsableState.Never)]
1421         public static readonly BindableProperty ClippingModeProperty = BindableProperty.Create(nameof(ClippingMode), typeof(ClippingModeType), typeof(View), ClippingModeType.Disabled, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1422         {
1423             var view = (View)bindable;
1424             if (newValue != null)
1425             {
1426                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ClippingMode, new Tizen.NUI.PropertyValue((int)newValue));
1427             }
1428         }),
1429         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1430         {
1431             var view = (View)bindable;
1432             int temp = 0;
1433             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ClippingMode).Get(out temp) == false)
1434             {
1435                 NUILog.Error("ClippingMode get error!");
1436             }
1437             return (ClippingModeType)temp;
1438         }));
1439
1440         /// <summary>
1441         /// InheritLayoutDirectionProperty
1442         /// </summary>
1443         [EditorBrowsable(EditorBrowsableState.Never)]
1444         public static readonly BindableProperty InheritLayoutDirectionProperty = BindableProperty.Create(nameof(InheritLayoutDirection), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1445         {
1446             var view = (View)bindable;
1447             if (newValue != null)
1448             {
1449                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritLayoutDirection, new Tizen.NUI.PropertyValue((bool)newValue));
1450             }
1451         }),
1452         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1453         {
1454             var view = (View)bindable;
1455             bool temp = false;
1456             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritLayoutDirection).Get(out temp);
1457             return temp;
1458         }));
1459
1460         /// <summary>
1461         /// LayoutDirectionProperty
1462         /// </summary>
1463         [EditorBrowsable(EditorBrowsableState.Never)]
1464         public static readonly BindableProperty LayoutDirectionProperty = BindableProperty.Create(nameof(LayoutDirection), typeof(ViewLayoutDirectionType), typeof(View), ViewLayoutDirectionType.LTR, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1465         {
1466             var view = (View)bindable;
1467             if (newValue != null)
1468             {
1469                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LayoutDirection, new Tizen.NUI.PropertyValue((int)newValue));
1470             }
1471         }),
1472         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1473         {
1474             var view = (View)bindable;
1475             int temp;
1476             if (false == Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LayoutDirection).Get(out temp))
1477             {
1478                 NUILog.Error("LAYOUT_DIRECTION get error!");
1479             }
1480             return (ViewLayoutDirectionType)temp;
1481         }));
1482
1483         /// <summary>
1484         /// MarginProperty
1485         /// </summary>
1486         [EditorBrowsable(EditorBrowsableState.Never)]
1487         public static readonly BindableProperty MarginProperty = BindableProperty.Create(nameof(Margin), typeof(Extents), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1488         {
1489             var view = (View)bindable;
1490             if (newValue != null)
1491             {
1492                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MARGIN, new Tizen.NUI.PropertyValue((Extents)newValue));
1493             }
1494         }),
1495         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1496         {
1497             var view = (View)bindable;
1498             Extents temp = new Extents(0, 0, 0, 0);
1499             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MARGIN).Get(temp);
1500             return temp;
1501         }));
1502
1503         /// <summary>
1504         /// UpdateSizeHintProperty
1505         /// </summary>
1506         [EditorBrowsable(EditorBrowsableState.Never)]
1507         public static readonly BindableProperty UpdateSizeHintProperty = BindableProperty.Create(nameof(UpdateSizeHint), typeof(Vector2), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1508         {
1509             var view = (View)bindable;
1510             if (newValue != null)
1511             {
1512                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, Interop.ViewProperty.UpdateSizeHintGet(), new Tizen.NUI.PropertyValue((Vector2)newValue));
1513             }
1514         }),
1515         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1516         {
1517             var view = (View)bindable;
1518
1519             Vector2 temp = new Vector2(0.0f, 0.0f);
1520             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, Interop.ViewProperty.UpdateSizeHintGet()).Get(temp);
1521             return temp;
1522         }));
1523
1524         /// <summary>
1525         /// ImageShadow Property
1526         /// </summary>
1527         [EditorBrowsable(EditorBrowsableState.Never)]
1528         public static readonly BindableProperty ImageShadowProperty = BindableProperty.Create(nameof(ImageShadow), typeof(ImageShadow), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1529         {
1530             var shadow = (ImageShadow)newValue;
1531             var view = (View)bindable;
1532             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW, shadow == null ? new PropertyValue() : shadow.ToPropertyValue(view));
1533         }),
1534         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1535         {
1536             var view = (View)bindable;
1537
1538             PropertyMap map = new PropertyMap();
1539             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW).Get(map);
1540
1541             var shadow = new ImageShadow(map);
1542             return shadow.IsEmpty() ? null : shadow;
1543         }));
1544
1545         /// <summary>
1546         /// Shadow Property
1547         /// </summary>
1548         [EditorBrowsable(EditorBrowsableState.Never)]
1549         public static readonly BindableProperty BoxShadowProperty = BindableProperty.Create(nameof(BoxShadow), typeof(Shadow), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1550         {
1551             var shadow = (Shadow)newValue;
1552             var view = (View)bindable;
1553             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW, shadow == null ? new PropertyValue() : shadow.ToPropertyValue(view));
1554         }),
1555         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1556         {
1557             var view = (View)bindable;
1558
1559             PropertyMap map = new PropertyMap();
1560             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW).Get(map);
1561
1562             var shadow = new Shadow(map);
1563             return shadow.IsEmpty() ? null : shadow;
1564         }));
1565
1566         /// <summary>
1567         /// CornerRadius Property
1568         /// </summary>
1569         [EditorBrowsable(EditorBrowsableState.Never)]
1570         public static readonly BindableProperty CornerRadiusProperty = BindableProperty.Create(nameof(CornerRadius), typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
1571         {
1572             var view = (View)bindable;
1573             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).CornerRadius = (float)newValue;
1574             view.ApplyCornerRadius();
1575         },
1576         defaultValueCreator: (bindable) =>
1577         {
1578             var view = (View)bindable;
1579             return view.backgroundExtraData == null ? 0 : view.backgroundExtraData.CornerRadius;
1580         });
1581
1582         /// <summary>
1583         /// CornerRadiusPolicy Property
1584         /// </summary>
1585         [EditorBrowsable(EditorBrowsableState.Never)]
1586         public static readonly BindableProperty CornerRadiusPolicyProperty = BindableProperty.Create(nameof(CornerRadiusPolicy), typeof(VisualTransformPolicyType), typeof(View), VisualTransformPolicyType.Absolute, propertyChanged: (bindable, oldValue, newValue) =>
1587         {
1588             var view = (View)bindable;
1589             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).CornerRadiusPolicy = (VisualTransformPolicyType)newValue;
1590             if (view.backgroundExtraData.CornerRadius != 0)
1591             {
1592                 view.ApplyCornerRadius();
1593             }
1594         },
1595         defaultValueCreator: (bindable) =>
1596         {
1597             var view = (View)bindable;
1598             return view.backgroundExtraData == null ? VisualTransformPolicyType.Absolute : view.backgroundExtraData.CornerRadiusPolicy;
1599         });
1600
1601         /// <summary>
1602         /// EnableControlState property
1603         /// </summary>
1604         [EditorBrowsable(EditorBrowsableState.Never)]
1605         public static readonly BindableProperty EnableControlStateProperty = BindableProperty.Create(nameof(EnableControlState), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1606         {
1607             var view = (View)bindable;
1608             bool prev = view.enableControlState;
1609             view.enableControlState = (bool)newValue;
1610
1611             if (prev != view.enableControlState)
1612             {
1613                 if (prev)
1614                 {
1615                     view.TouchEvent -= view.EmptyOnTouch;
1616                 }
1617                 else
1618                 {
1619                     view.TouchEvent += view.EmptyOnTouch;
1620                 }
1621             }
1622         },
1623         defaultValueCreator: (bindable) =>
1624         {
1625             return ((View)bindable).enableControlState;
1626         });
1627
1628         /// <summary>
1629         /// ThemeChangeSensitive property
1630         /// </summary>
1631         [EditorBrowsable(EditorBrowsableState.Never)]
1632         public static readonly BindableProperty ThemeChangeSensitiveProperty = BindableProperty.Create(nameof(ThemeChangeSensitive), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1633         {
1634             var view = (View)bindable;
1635
1636             if (view.themeChangeSensitive == (bool)newValue) return;
1637
1638             view.themeChangeSensitive = (bool)newValue;
1639
1640             if (view.themeChangeSensitive)
1641             {
1642                 ThemeManager.ThemeChangedInternal.Add(view.OnThemeChanged);
1643             }
1644             else
1645             {
1646                 ThemeManager.ThemeChangedInternal.Remove(view.OnThemeChanged);
1647             }
1648         },
1649         defaultValueCreator: (bindable) =>
1650         {
1651             return ((View)bindable).themeChangeSensitive;
1652         });
1653
1654         /// <summary>
1655         /// AccessibilityNameProperty
1656         /// </summary>
1657         [EditorBrowsable(EditorBrowsableState.Never)]
1658         public static readonly BindableProperty AccessibilityNameProperty = BindableProperty.Create(nameof(AccessibilityName), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
1659         {
1660             var view = (View)bindable;
1661             if (newValue != null)
1662             {
1663                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityName, new Tizen.NUI.PropertyValue((string)newValue));
1664             }
1665         },
1666         defaultValueCreator: (bindable) =>
1667         {
1668             var view = (View)bindable;
1669
1670             string temp;
1671             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityName).Get(out temp);
1672             return temp;
1673         });
1674
1675         /// <summary>
1676         /// AccessibilityDescriptionProperty
1677         /// </summary>
1678         [EditorBrowsable(EditorBrowsableState.Never)]
1679         public static readonly BindableProperty AccessibilityDescriptionProperty = BindableProperty.Create(nameof(AccessibilityDescription), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
1680         {
1681             var view = (View)bindable;
1682             if (newValue != null)
1683             {
1684                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityDescription, new Tizen.NUI.PropertyValue((string)newValue));
1685             }
1686         },
1687         defaultValueCreator: (bindable) =>
1688         {
1689             var view = (View)bindable;
1690
1691             string temp;
1692             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityDescription).Get(out temp);
1693             return temp;
1694         });
1695
1696         /// <summary>
1697         /// AccessibilityTranslationDomainProperty
1698         /// </summary>
1699         [EditorBrowsable(EditorBrowsableState.Never)]
1700         public static readonly BindableProperty AccessibilityTranslationDomainProperty = BindableProperty.Create(nameof(AccessibilityTranslationDomain), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
1701         {
1702             var view = (View)bindable;
1703             if (newValue != null)
1704             {
1705                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityTranslationDomain, new Tizen.NUI.PropertyValue((string)newValue));
1706             }
1707         },
1708         defaultValueCreator: (bindable) =>
1709         {
1710             var view = (View)bindable;
1711
1712             string temp;
1713             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityTranslationDomain).Get(out temp);
1714             return temp;
1715         });
1716
1717         /// <summary>
1718         /// AccessibilityRoleProperty
1719         /// </summary>
1720         [EditorBrowsable(EditorBrowsableState.Never)]
1721         public static readonly BindableProperty AccessibilityRoleProperty = BindableProperty.Create(nameof(AccessibilityRole), typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
1722         {
1723             var view = (View)bindable;
1724             if (newValue != null)
1725             {
1726                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityRole, new Tizen.NUI.PropertyValue((int)newValue));
1727             }
1728         },
1729         defaultValueCreator: (bindable) =>
1730         {
1731             var view = (View)bindable;
1732
1733             int temp = 0;
1734             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityRole).Get(out temp);
1735             return temp;
1736         });
1737
1738         /// <summary>
1739         /// AccessibilityHighlightableProperty
1740         /// </summary>
1741         [EditorBrowsable(EditorBrowsableState.Never)]
1742         public static readonly BindableProperty AccessibilityHighlightableProperty = BindableProperty.Create(nameof(AccessibilityHighlightable), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1743         {
1744             var view = (View)bindable;
1745             if (newValue != null)
1746             {
1747                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityHighlightable, new Tizen.NUI.PropertyValue((bool)newValue));
1748             }
1749         },
1750         defaultValueCreator: (bindable) =>
1751         {
1752             var view = (View)bindable;
1753             bool temp = false;
1754             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityHighlightable).Get(out temp);
1755             return temp;
1756         });
1757
1758         /// <summary>
1759         /// AccessibilityAnimatedProperty
1760         /// </summary>
1761         [EditorBrowsable(EditorBrowsableState.Never)]
1762         public static readonly BindableProperty AccessibilityAnimatedProperty = BindableProperty.Create(nameof(AccessibilityAnimated), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1763         {
1764             var view = (View)bindable;
1765             if (newValue != null)
1766             {
1767                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityAnimated, new Tizen.NUI.PropertyValue((bool)newValue));
1768             }
1769         },
1770         defaultValueCreator: (bindable) =>
1771         {
1772             var view = (View)bindable;
1773             bool temp = false;
1774             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityAnimated).Get(out temp);
1775             return temp;
1776         });
1777
1778         #region Selectors
1779         internal static readonly BindableProperty BackgroundImageSelectorProperty = BindableProperty.Create("BackgroundImageSelector", typeof(Selector<string>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1780         {
1781             var view = (View)bindable;
1782             view.SelectorData.BackgroundImage.Update(view, (Selector<string>)newValue, true);
1783             if (newValue != null) view.SelectorData.BackgroundColor.Reset(view);
1784         },
1785         defaultValueCreator: (bindable) =>
1786         {
1787             var view = (View)bindable;
1788             return view.SelectorData.BackgroundImage.Get(view);
1789         });
1790
1791         internal static readonly BindableProperty BackgroundColorSelectorProperty = BindableProperty.Create("BackgroundColorSelector", typeof(Selector<Color>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1792         {
1793             var view = (View)bindable;
1794             view.SelectorData.BackgroundColor.Update(view, (Selector<Color>)newValue, true);
1795             if (newValue != null) view.SelectorData.BackgroundImage.Reset(view);
1796         },
1797         defaultValueCreator: (bindable) =>
1798         {
1799             var view = (View)bindable;
1800             return view.SelectorData.BackgroundColor.Get(view);
1801         });
1802
1803         internal static readonly BindableProperty BackgroundImageBorderSelectorProperty = BindableProperty.Create("BackgroundImageBorderSelector", typeof(Selector<Rectangle>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1804         {
1805             var view = (View)bindable;
1806             view.SelectorData.BackgroundImageBorder.Update(view, (Selector<Rectangle>)newValue, true);
1807         },
1808         defaultValueCreator: (bindable) =>
1809         {
1810             var view = (View)bindable;
1811             return view.SelectorData.BackgroundImageBorder.Get(view);
1812         });
1813
1814         internal static readonly BindableProperty ColorSelectorProperty = BindableProperty.Create("ColorSelector", typeof(Selector<Color>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1815         {
1816             var view = (View)bindable;
1817             view.SelectorData.Color.Update(view, (Selector<Color>)newValue, true);
1818         },
1819         defaultValueCreator: (bindable) =>
1820         {
1821             var view = (View)bindable;
1822             return view.SelectorData.Color.Get(view);
1823         });
1824
1825         internal static readonly BindableProperty OpacitySelectorProperty = BindableProperty.Create("OpacitySelector", typeof(Selector<float?>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1826         {
1827             var view = (View)bindable;
1828             view.SelectorData.Opacity.Update(view, (Selector<float?>)newValue, true);
1829         },
1830         defaultValueCreator: (bindable) =>
1831         {
1832             var view = (View)bindable;
1833             return view.SelectorData.Opacity.Get(view);
1834         });
1835
1836         /// <summary>
1837         /// ImageShadow Selector Property for binding to ViewStyle
1838         /// </summary>
1839         [EditorBrowsable(EditorBrowsableState.Never)]
1840         public static readonly BindableProperty ImageShadowSelectorProperty = BindableProperty.Create("ImageShadowSelector", typeof(Selector<ImageShadow>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1841         {
1842             var view = (View)bindable;
1843             view.SelectorData.ImageShadow.Update(view, (Selector<ImageShadow>)newValue, true);
1844             if (newValue != null) view.SelectorData.BoxShadow.Reset(view);
1845         },
1846         defaultValueCreator: (bindable) =>
1847         {
1848             var view = (View)bindable;
1849             return view.SelectorData.ImageShadow.Get(view);
1850         });
1851
1852         /// <summary>
1853         /// BoxShadow Selector Property for binding to ViewStyle
1854         /// </summary>
1855         [EditorBrowsable(EditorBrowsableState.Never)]
1856         public static readonly BindableProperty BoxShadowSelectorProperty = BindableProperty.Create("BoxShadowSelector", typeof(Selector<Shadow>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1857         {
1858             var view = (View)bindable;
1859             view.SelectorData.BoxShadow.Update(view, (Selector<Shadow>)newValue, true);
1860             if (newValue != null) view.SelectorData.ImageShadow.Reset(view);
1861         },
1862         defaultValueCreator: (bindable) =>
1863         {
1864             var view = (View)bindable;
1865             return view.SelectorData.BoxShadow.Get(view);
1866         });
1867         #endregion
1868     }
1869 }