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