Revert "Revert "[NUI] Rebase DevelNUI (#2507)" (#2508)"
[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                 view.widthPolicy = ((Size2D)newValue).Width;
615                 view.heightPolicy = ((Size2D)newValue).Height;
616
617                 view.layout?.RequestLayout();
618             }
619         }),
620         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
621         {
622             var view = (View)bindable;
623             Size temp = new Size(0.0f, 0.0f, 0.0f);
624             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SIZE).Get(temp);
625             Size2D size = new Size2D((int)temp.Width, (int)temp.Height);
626             return size;
627         }));
628
629         /// <summary>
630         /// OpacityProperty
631         /// </summary>
632         [EditorBrowsable(EditorBrowsableState.Never)]
633         public static readonly BindableProperty OpacityProperty = BindableProperty.Create(nameof(Opacity), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
634         {
635             var view = (View)bindable;
636
637             if (newValue != null)
638             {
639                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.OPACITY, new Tizen.NUI.PropertyValue((float)newValue));
640             }
641         }),
642         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
643         {
644             var view = (View)bindable;
645             float temp = 0.0f;
646             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.OPACITY).Get(out temp);
647             return temp;
648         }));
649
650         /// <summary>
651         /// Position2DProperty
652         /// </summary>
653         [EditorBrowsable(EditorBrowsableState.Never)]
654         public static readonly BindableProperty Position2DProperty = BindableProperty.Create(nameof(Position2D), typeof(Position2D), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
655         {
656             var view = (View)bindable;
657             if (newValue != null)
658             {
659                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position((Position2D)newValue)));
660             }
661         }),
662         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
663         {
664             var view = (View)bindable;
665             Position temp = new Position(0.0f, 0.0f, 0.0f);
666             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION).Get(temp);
667             return new Position2D(temp);
668         }));
669
670         /// <summary>
671         /// PositionUsesPivotPointProperty
672         /// </summary>
673         [EditorBrowsable(EditorBrowsableState.Never)]
674         public static readonly BindableProperty PositionUsesPivotPointProperty = BindableProperty.Create(nameof(PositionUsesPivotPoint), typeof(bool), typeof(View), true, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
675         {
676             var view = (View)bindable;
677             if (newValue != null)
678             {
679                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionUsesAnchorPoint, new Tizen.NUI.PropertyValue((bool)newValue));
680             }
681         }),
682         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
683         {
684             var view = (View)bindable;
685             bool temp = false;
686             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionUsesAnchorPoint).Get(out temp);
687             return temp;
688         }));
689
690         /// <summary>
691         /// SiblingOrderProperty
692         /// </summary>
693         [EditorBrowsable(EditorBrowsableState.Never)]
694         public static readonly BindableProperty SiblingOrderProperty = BindableProperty.Create(nameof(SiblingOrder), typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
695         {
696             var view = (View)bindable;
697             int value;
698             if (newValue != null)
699             {
700                 value = (int)newValue;
701                 if (value < 0)
702                 {
703                     NUILog.Error("SiblingOrder should be bigger than 0 or equal to 0.");
704                     return;
705                 }
706                 var siblings = view.GetParent()?.Children;
707                 if (siblings != null)
708                 {
709                     int currentOrder = siblings.IndexOf(view);
710                     if (value != currentOrder)
711                     {
712                         if (value == 0) { view.LowerToBottom(); }
713                         else if (value < siblings.Count - 1)
714                         {
715                             if (value > currentOrder) { view.RaiseAbove(siblings[value]); }
716                             else { view.LowerBelow(siblings[value]); }
717                         }
718                         else { view.RaiseToTop(); }
719                     }
720                 }
721             }
722         },
723         defaultValueCreator: (bindable) =>
724         {
725             var view = (View)bindable;
726             var parentChildren = view.GetParent()?.Children;
727             int currentOrder = 0;
728             if (parentChildren != null)
729             {
730                 currentOrder = parentChildren.IndexOf(view);
731
732                 if (currentOrder < 0) { return 0; }
733                 else if (currentOrder < parentChildren.Count) { return currentOrder; }
734             }
735
736             return 0;
737         });
738
739         /// <summary>
740         /// ParentOriginProperty
741         /// </summary>
742         [EditorBrowsable(EditorBrowsableState.Never)]
743         public static readonly BindableProperty ParentOriginProperty = BindableProperty.Create(nameof(ParentOrigin), typeof(Position), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
744         {
745             var view = (View)bindable;
746             if (newValue != null)
747             {
748                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ParentOrigin, new Tizen.NUI.PropertyValue((Position)newValue));
749             }
750         }),
751         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
752         {
753             var view = (View)bindable;
754             Position temp = new Position(0.0f, 0.0f, 0.0f);
755             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ParentOrigin).Get(temp);
756             return temp;
757         })
758         );
759
760         /// <summary>
761         /// PivotPointProperty
762         /// </summary>
763         [EditorBrowsable(EditorBrowsableState.Never)]
764         public static readonly BindableProperty PivotPointProperty = BindableProperty.Create(nameof(PivotPoint), typeof(Position), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
765         {
766             var view = (View)bindable;
767             if (newValue != null)
768             {
769                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AnchorPoint, new Tizen.NUI.PropertyValue((Position)newValue));
770             }
771         }),
772         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
773         {
774             var view = (View)bindable;
775             Position temp = new Position(0.0f, 0.0f, 0.0f);
776             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AnchorPoint).Get(temp);
777             return temp;
778         }));
779
780         /// <summary>
781         /// SizeWidthProperty
782         /// </summary>
783         [EditorBrowsable(EditorBrowsableState.Never)]
784         public static readonly BindableProperty SizeWidthProperty = BindableProperty.Create(nameof(SizeWidth), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
785         {
786             var view = (View)bindable;
787             if (newValue != null)
788             {
789                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeWidth, new Tizen.NUI.PropertyValue((float)newValue));
790                 view.WidthSpecification = (int)System.Math.Ceiling((float)newValue);
791             }
792         }),
793         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
794         {
795             var view = (View)bindable;
796             float temp = 0.0f;
797             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeWidth).Get(out temp);
798             return temp;
799         }));
800
801         /// <summary>
802         /// SizeHeightProperty
803         /// </summary>
804         [EditorBrowsable(EditorBrowsableState.Never)]
805         public static readonly BindableProperty SizeHeightProperty = BindableProperty.Create(nameof(SizeHeight), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
806         {
807             var view = (View)bindable;
808             if (newValue != null)
809             {
810                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeHeight, new Tizen.NUI.PropertyValue((float)newValue));
811                 view.HeightSpecification = (int)System.Math.Ceiling((float)newValue);
812             }
813         }),
814         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
815         {
816             var view = (View)bindable;
817             float temp = 0.0f;
818             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeHeight).Get(out temp);
819             return temp;
820         }));
821
822         /// <summary>
823         /// PositionProperty
824         /// </summary>
825         [EditorBrowsable(EditorBrowsableState.Never)]
826         public static readonly BindableProperty PositionProperty = BindableProperty.Create(nameof(Position), typeof(Position), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
827         {
828             var view = (View)bindable;
829             if (newValue != null)
830             {
831                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue((Position)newValue));
832             }
833         }),
834         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
835         {
836             var view = (View)bindable;
837             Position temp = new Position(0.0f, 0.0f, 0.0f);
838             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION).Get(temp);
839             return temp;
840         }));
841
842         /// <summary>
843         /// PositionXProperty
844         /// </summary>
845         [EditorBrowsable(EditorBrowsableState.Never)]
846         public static readonly BindableProperty PositionXProperty = BindableProperty.Create(nameof(PositionX), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
847         {
848             var view = (View)bindable;
849             if (newValue != null)
850             {
851                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionX, new Tizen.NUI.PropertyValue((float)newValue));
852             }
853         }),
854         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
855         {
856             var view = (View)bindable;
857             float temp = 0.0f;
858             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionX).Get(out temp);
859             return temp;
860         }));
861
862         /// <summary>
863         /// PositionYProperty
864         /// </summary>
865         [EditorBrowsable(EditorBrowsableState.Never)]
866         public static readonly BindableProperty PositionYProperty = BindableProperty.Create(nameof(PositionY), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
867         {
868             var view = (View)bindable;
869             if (newValue != null)
870             {
871                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionY, new Tizen.NUI.PropertyValue((float)newValue));
872             }
873         }),
874         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
875         {
876             var view = (View)bindable;
877             float temp = 0.0f;
878             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionY).Get(out temp);
879             return temp;
880         }));
881
882         /// <summary>
883         /// PositionZProperty
884         /// </summary>
885         [EditorBrowsable(EditorBrowsableState.Never)]
886         public static readonly BindableProperty PositionZProperty = BindableProperty.Create(nameof(PositionZ), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
887         {
888             var view = (View)bindable;
889             if (newValue != null)
890             {
891                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionZ, new Tizen.NUI.PropertyValue((float)newValue));
892             }
893         }),
894         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
895         {
896             var view = (View)bindable;
897             float temp = 0.0f;
898             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionZ).Get(out temp);
899             return temp;
900         }));
901
902         /// <summary>
903         /// OrientationProperty
904         /// </summary>
905         [EditorBrowsable(EditorBrowsableState.Never)]
906         public static readonly BindableProperty OrientationProperty = BindableProperty.Create(nameof(Orientation), typeof(Rotation), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
907         {
908             var view = (View)bindable;
909             if (newValue != null)
910             {
911                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ORIENTATION, new Tizen.NUI.PropertyValue((Rotation)newValue));
912             }
913         }),
914         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
915         {
916             var view = (View)bindable;
917             Rotation temp = new Rotation();
918             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ORIENTATION).Get(temp);
919             return temp;
920         }));
921
922         /// <summary>
923         /// ScaleProperty
924         /// </summary>
925         [EditorBrowsable(EditorBrowsableState.Never)]
926         public static readonly BindableProperty ScaleProperty = BindableProperty.Create(nameof(Scale), typeof(Vector3), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
927         {
928             var view = (View)bindable;
929             if (newValue != null)
930             {
931                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SCALE, new Tizen.NUI.PropertyValue((Vector3)newValue));
932             }
933         }),
934         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
935         {
936             var view = (View)bindable;
937             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
938             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SCALE).Get(temp);
939             return temp;
940         }));
941
942         /// <summary>
943         /// ScaleXProperty
944         /// </summary>
945         [EditorBrowsable(EditorBrowsableState.Never)]
946         public static readonly BindableProperty ScaleXProperty = BindableProperty.Create(nameof(ScaleX), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
947         {
948             var view = (View)bindable;
949             if (newValue != null)
950             {
951                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleX, new Tizen.NUI.PropertyValue((float)newValue));
952             }
953         }),
954         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
955         {
956             var view = (View)bindable;
957             float temp = 0.0f;
958             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleX).Get(out temp);
959             return temp;
960         }));
961
962         /// <summary>
963         /// ScaleYProperty
964         /// </summary>
965         [EditorBrowsable(EditorBrowsableState.Never)]
966         public static readonly BindableProperty ScaleYProperty = BindableProperty.Create(nameof(ScaleY), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
967         {
968             var view = (View)bindable;
969             if (newValue != null)
970             {
971                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleY, new Tizen.NUI.PropertyValue((float)newValue));
972             }
973         }),
974         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
975         {
976             var view = (View)bindable;
977             float temp = 0.0f;
978             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleY).Get(out temp);
979             return temp;
980         }));
981
982         /// <summary>
983         /// ScaleZProperty
984         /// </summary>
985         [EditorBrowsable(EditorBrowsableState.Never)]
986         public static readonly BindableProperty ScaleZProperty = BindableProperty.Create(nameof(ScaleZ), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
987         {
988             var view = (View)bindable;
989             if (newValue != null)
990             {
991                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleZ, new Tizen.NUI.PropertyValue((float)newValue));
992             }
993         }),
994         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
995         {
996             var view = (View)bindable;
997             float temp = 0.0f;
998             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleZ).Get(out temp);
999             return temp;
1000         }));
1001
1002         /// <summary>
1003         /// NameProperty
1004         /// </summary>
1005         [EditorBrowsable(EditorBrowsableState.Never)]
1006         public static readonly BindableProperty NameProperty = BindableProperty.Create(nameof(Name), typeof(string), typeof(View), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1007         {
1008             var view = (View)bindable;
1009             if (newValue != null)
1010             {
1011                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.NAME, new Tizen.NUI.PropertyValue((string)newValue));
1012             }
1013         }),
1014         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1015         {
1016             var view = (View)bindable;
1017             string temp;
1018             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.NAME).Get(out temp);
1019             return temp;
1020         }));
1021
1022         /// <summary>
1023         /// SensitiveProperty
1024         /// </summary>
1025         [EditorBrowsable(EditorBrowsableState.Never)]
1026         public static readonly BindableProperty SensitiveProperty = BindableProperty.Create(nameof(Sensitive), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1027         {
1028             var view = (View)bindable;
1029             if (newValue != null)
1030             {
1031                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SENSITIVE, new Tizen.NUI.PropertyValue((bool)newValue));
1032             }
1033         }),
1034         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1035         {
1036             var view = (View)bindable;
1037             bool temp = false;
1038             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SENSITIVE).Get(out temp);
1039             return temp;
1040         }));
1041
1042         /// <summary>
1043         /// LeaveRequiredProperty
1044         /// </summary>
1045         [EditorBrowsable(EditorBrowsableState.Never)]
1046         public static readonly BindableProperty LeaveRequiredProperty = BindableProperty.Create(nameof(LeaveRequired), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1047         {
1048             var view = (View)bindable;
1049             if (newValue != null)
1050             {
1051                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LeaveRequired, new Tizen.NUI.PropertyValue((bool)newValue));
1052             }
1053         }),
1054         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1055         {
1056             var view = (View)bindable;
1057             bool temp = false;
1058             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LeaveRequired).Get(out temp);
1059             return temp;
1060         }));
1061
1062         /// <summary>
1063         /// InheritOrientationProperty
1064         /// </summary>
1065         [EditorBrowsable(EditorBrowsableState.Never)]
1066         public static readonly BindableProperty InheritOrientationProperty = BindableProperty.Create(nameof(InheritOrientation), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1067         {
1068             var view = (View)bindable;
1069             if (newValue != null)
1070             {
1071                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritOrientation, new Tizen.NUI.PropertyValue((bool)newValue));
1072             }
1073         }),
1074         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1075         {
1076             var view = (View)bindable;
1077             bool temp = false;
1078             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritOrientation).Get(out temp);
1079             return temp;
1080         }));
1081
1082         /// <summary>
1083         /// InheritScaleProperty
1084         /// </summary>
1085         [EditorBrowsable(EditorBrowsableState.Never)]
1086         public static readonly BindableProperty InheritScaleProperty = BindableProperty.Create(nameof(InheritScale), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1087         {
1088             var view = (View)bindable;
1089             if (newValue != null)
1090             {
1091                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritScale, new Tizen.NUI.PropertyValue((bool)newValue));
1092             }
1093         }),
1094         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1095         {
1096             var view = (View)bindable;
1097             bool temp = false;
1098             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritScale).Get(out temp);
1099             return temp;
1100         }));
1101
1102         /// <summary>
1103         /// DrawModeProperty
1104         /// </summary>
1105         [EditorBrowsable(EditorBrowsableState.Never)]
1106         public static readonly BindableProperty DrawModeProperty = BindableProperty.Create(nameof(DrawMode), typeof(DrawModeType), typeof(View), DrawModeType.Normal, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1107         {
1108             var view = (View)bindable;
1109             if (newValue != null)
1110             {
1111                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DrawMode, new Tizen.NUI.PropertyValue((int)newValue));
1112             }
1113         }),
1114         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1115         {
1116             var view = (View)bindable;
1117             int temp;
1118             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DrawMode).Get(out temp) == false)
1119             {
1120                 NUILog.Error("DrawMode get error!");
1121             }
1122             return (DrawModeType)temp;
1123         }));
1124
1125         /// <summary>
1126         /// SizeModeFactorProperty
1127         /// </summary>
1128         [EditorBrowsable(EditorBrowsableState.Never)]
1129         public static readonly BindableProperty SizeModeFactorProperty = BindableProperty.Create(nameof(SizeModeFactor), typeof(Vector3), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1130         {
1131             var view = (View)bindable;
1132             if (newValue != null)
1133             {
1134                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeModeFactor, new Tizen.NUI.PropertyValue((Vector3)newValue));
1135             }
1136         }),
1137         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1138         {
1139             var view = (View)bindable;
1140             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
1141             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeModeFactor).Get(temp);
1142             return temp;
1143         }));
1144
1145         /// <summary>
1146         /// WidthResizePolicyProperty
1147         /// </summary>
1148         [EditorBrowsable(EditorBrowsableState.Never)]
1149         public static readonly BindableProperty WidthResizePolicyProperty = BindableProperty.Create(nameof(WidthResizePolicy), typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1150         {
1151             var view = (View)bindable;
1152             if (newValue != null)
1153             {
1154                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthResizePolicy, new Tizen.NUI.PropertyValue((int)newValue));
1155                 // Match ResizePolicy to new Layouting.
1156                 // Parent relative policies can not be mapped at this point as parent size unknown.
1157                 switch ((ResizePolicyType)newValue)
1158                 {
1159                     case ResizePolicyType.UseNaturalSize:
1160                         {
1161                             view.WidthSpecification = LayoutParamPolicies.WrapContent;
1162                             break;
1163                         }
1164                     case ResizePolicyType.FillToParent:
1165                         {
1166                             view.WidthSpecification = LayoutParamPolicies.MatchParent;
1167                             break;
1168                         }
1169                     case ResizePolicyType.FitToChildren:
1170                         {
1171                             view.WidthSpecification = LayoutParamPolicies.WrapContent;
1172                             break;
1173                         }
1174                     default:
1175                         break;
1176                 }
1177             }
1178         }),
1179         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1180         {
1181             var view = (View)bindable;
1182             string temp;
1183             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthResizePolicy).Get(out temp) == false)
1184             {
1185                 NUILog.Error("WidthResizePolicy get error!");
1186             }
1187             return temp.GetValueByDescription<ResizePolicyType>();
1188         }));
1189
1190         /// <summary>
1191         /// HeightResizePolicyProperty
1192         /// </summary>
1193         [EditorBrowsable(EditorBrowsableState.Never)]
1194         public static readonly BindableProperty HeightResizePolicyProperty = BindableProperty.Create(nameof(HeightResizePolicy), typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1195         {
1196             var view = (View)bindable;
1197             if (newValue != null)
1198             {
1199                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightResizePolicy, new Tizen.NUI.PropertyValue((int)newValue));
1200                 // Match ResizePolicy to new Layouting.
1201                 // Parent relative policies can not be mapped at this point as parent size unknown.
1202                 switch ((ResizePolicyType)newValue)
1203                 {
1204                     case ResizePolicyType.UseNaturalSize:
1205                         {
1206                             view.HeightSpecification = LayoutParamPolicies.WrapContent;
1207                             break;
1208                         }
1209                     case ResizePolicyType.FillToParent:
1210                         {
1211                             view.HeightSpecification = LayoutParamPolicies.MatchParent;
1212                             break;
1213                         }
1214                     case ResizePolicyType.FitToChildren:
1215                         {
1216                             view.HeightSpecification = LayoutParamPolicies.WrapContent;
1217                             break;
1218                         }
1219                     default:
1220                         break;
1221                 }
1222             }
1223         }),
1224         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1225         {
1226             var view = (View)bindable;
1227             string temp;
1228             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightResizePolicy).Get(out temp) == false)
1229             {
1230                 NUILog.Error("HeightResizePolicy get error!");
1231             }
1232             return temp.GetValueByDescription<ResizePolicyType>();
1233         }));
1234
1235         /// <summary>
1236         /// SizeScalePolicyProperty
1237         /// </summary>
1238         [EditorBrowsable(EditorBrowsableState.Never)]
1239         public static readonly BindableProperty SizeScalePolicyProperty = BindableProperty.Create(nameof(SizeScalePolicy), typeof(SizeScalePolicyType), typeof(View), SizeScalePolicyType.UseSizeSet, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1240         {
1241             var view = (View)bindable;
1242             string valueToString = "";
1243             if (newValue != null)
1244             {
1245                 valueToString = ((SizeScalePolicyType)newValue).GetDescription();
1246                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeScalePolicy, new Tizen.NUI.PropertyValue(valueToString));
1247             }
1248         }),
1249         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1250         {
1251             var view = (View)bindable;
1252             int temp;
1253             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeScalePolicy).Get(out temp) == false)
1254             {
1255                 NUILog.Error("SizeScalePolicy get error!");
1256             }
1257             return (SizeScalePolicyType)temp;
1258         }));
1259
1260         /// <summary>
1261         /// WidthForHeightProperty
1262         /// </summary>
1263         [EditorBrowsable(EditorBrowsableState.Never)]
1264         public static readonly BindableProperty WidthForHeightProperty = BindableProperty.Create(nameof(WidthForHeight), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1265         {
1266             var view = (View)bindable;
1267             if (newValue != null)
1268             {
1269                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthForHeight, new Tizen.NUI.PropertyValue((bool)newValue));
1270             }
1271         }),
1272         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1273         {
1274             var view = (View)bindable;
1275             bool temp = false;
1276             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthForHeight).Get(out temp);
1277             return temp;
1278         }));
1279
1280         /// <summary>
1281         /// HeightForWidthProperty
1282         /// </summary>
1283         [EditorBrowsable(EditorBrowsableState.Never)]
1284         public static readonly BindableProperty HeightForWidthProperty = BindableProperty.Create(nameof(HeightForWidth), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1285         {
1286             var view = (View)bindable;
1287             if (newValue != null)
1288             {
1289                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightForWidth, new Tizen.NUI.PropertyValue((bool)newValue));
1290             }
1291         }),
1292         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1293         {
1294             var view = (View)bindable;
1295             bool temp = false;
1296             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightForWidth).Get(out temp);
1297             return temp;
1298         }));
1299
1300         /// <summary>
1301         /// PaddingProperty
1302         /// </summary>
1303         [EditorBrowsable(EditorBrowsableState.Never)]
1304         public static readonly BindableProperty PaddingProperty = BindableProperty.Create(nameof(Padding), typeof(Extents), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1305         {
1306             var view = (View)bindable;
1307             if (newValue != null)
1308             {
1309                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PADDING, new Tizen.NUI.PropertyValue((Extents)newValue));
1310             }
1311         }),
1312         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1313         {
1314             var view = (View)bindable;
1315             Extents temp = new Extents(0, 0, 0, 0);
1316             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PADDING).Get(temp);
1317             return temp;
1318         }));
1319
1320         /// <summary>
1321         /// SizeProperty
1322         /// </summary>
1323         [EditorBrowsable(EditorBrowsableState.Never)]
1324         public static readonly BindableProperty SizeProperty = BindableProperty.Create(nameof(Size), typeof(Size), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1325         {
1326             var view = (View)bindable;
1327             if (newValue != null)
1328             {
1329                 Size size = (Size)newValue;
1330                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue(size));
1331                 // Set Specification so when layouts measure this View it matches the value set here.
1332                 // All Views are currently Layouts.
1333                 view.WidthSpecification = (int)System.Math.Ceiling(size.Width);
1334                 view.HeightSpecification = (int)System.Math.Ceiling(size.Height);
1335             }
1336         }),
1337         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1338         {
1339             var view = (View)bindable;
1340             Size temp = new Size(0, 0, 0);
1341             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SIZE).Get(temp);
1342             return temp;
1343         }));
1344
1345         /// <summary>
1346         /// MinimumSizeProperty
1347         /// </summary>
1348         [EditorBrowsable(EditorBrowsableState.Never)]
1349         public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create(nameof(MinimumSize), typeof(Size2D), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1350         {
1351             var view = (View)bindable;
1352             Size2D temp = newValue as Size2D;
1353             if (temp != null)
1354             {
1355                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MinimumSize, new Tizen.NUI.PropertyValue(temp));
1356             }
1357             else
1358             {
1359                 Tizen.Log.Fatal("NUI", $"[ERROR] can't set MinimumSizeProperty!");
1360             }
1361         }),
1362         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1363         {
1364             var view = (View)bindable;
1365             Size2D temp = new Size2D(0, 0);
1366             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MinimumSize).Get(temp);
1367             return temp;
1368         }));
1369
1370         /// <summary>
1371         /// MaximumSizeProperty
1372         /// </summary>
1373         [EditorBrowsable(EditorBrowsableState.Never)]
1374         public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create(nameof(MaximumSize), typeof(Size2D), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1375         {
1376             var view = (View)bindable;
1377             Size2D temp = newValue as Size2D;
1378             if (temp != null)
1379             {
1380                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MaximumSize, new Tizen.NUI.PropertyValue(temp));
1381             }
1382             else
1383             {
1384                 Tizen.Log.Fatal("NUI", $"[ERROR] can't set MaximumSizeProperty!");
1385             }
1386         }),
1387         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1388         {
1389             var view = (View)bindable;
1390             Size2D temp = new Size2D(0, 0);
1391             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MaximumSize).Get(temp);
1392             return temp;
1393         }));
1394
1395         /// <summary>
1396         /// InheritPositionProperty
1397         /// </summary>
1398         [EditorBrowsable(EditorBrowsableState.Never)]
1399         public static readonly BindableProperty InheritPositionProperty = BindableProperty.Create(nameof(InheritPosition), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1400         {
1401             var view = (View)bindable;
1402             if (newValue != null)
1403             {
1404                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritPosition, new Tizen.NUI.PropertyValue((bool)newValue));
1405             }
1406         }),
1407         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1408         {
1409             var view = (View)bindable;
1410             bool temp = false;
1411             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritPosition).Get(out temp);
1412             return temp;
1413         }));
1414
1415         /// <summary>
1416         /// ClippingModeProperty
1417         /// </summary>
1418         [EditorBrowsable(EditorBrowsableState.Never)]
1419         public static readonly BindableProperty ClippingModeProperty = BindableProperty.Create(nameof(ClippingMode), typeof(ClippingModeType), typeof(View), ClippingModeType.Disabled, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1420         {
1421             var view = (View)bindable;
1422             if (newValue != null)
1423             {
1424                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ClippingMode, new Tizen.NUI.PropertyValue((int)newValue));
1425             }
1426         }),
1427         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1428         {
1429             var view = (View)bindable;
1430             int temp = 0;
1431             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ClippingMode).Get(out temp) == false)
1432             {
1433                 NUILog.Error("ClippingMode get error!");
1434             }
1435             return (ClippingModeType)temp;
1436         }));
1437
1438         /// <summary>
1439         /// InheritLayoutDirectionProperty
1440         /// </summary>
1441         [EditorBrowsable(EditorBrowsableState.Never)]
1442         public static readonly BindableProperty InheritLayoutDirectionProperty = BindableProperty.Create(nameof(InheritLayoutDirection), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1443         {
1444             var view = (View)bindable;
1445             if (newValue != null)
1446             {
1447                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritLayoutDirection, new Tizen.NUI.PropertyValue((bool)newValue));
1448             }
1449         }),
1450         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1451         {
1452             var view = (View)bindable;
1453             bool temp = false;
1454             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritLayoutDirection).Get(out temp);
1455             return temp;
1456         }));
1457
1458         /// <summary>
1459         /// LayoutDirectionProperty
1460         /// </summary>
1461         [EditorBrowsable(EditorBrowsableState.Never)]
1462         public static readonly BindableProperty LayoutDirectionProperty = BindableProperty.Create(nameof(LayoutDirection), typeof(ViewLayoutDirectionType), typeof(View), ViewLayoutDirectionType.LTR, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1463         {
1464             var view = (View)bindable;
1465             if (newValue != null)
1466             {
1467                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LayoutDirection, new Tizen.NUI.PropertyValue((int)newValue));
1468             }
1469         }),
1470         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1471         {
1472             var view = (View)bindable;
1473             int temp;
1474             if (false == Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LayoutDirection).Get(out temp))
1475             {
1476                 NUILog.Error("LAYOUT_DIRECTION get error!");
1477             }
1478             return (ViewLayoutDirectionType)temp;
1479         }));
1480
1481         /// <summary>
1482         /// MarginProperty
1483         /// </summary>
1484         [EditorBrowsable(EditorBrowsableState.Never)]
1485         public static readonly BindableProperty MarginProperty = BindableProperty.Create(nameof(Margin), typeof(Extents), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1486         {
1487             var view = (View)bindable;
1488             if (newValue != null)
1489             {
1490                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MARGIN, new Tizen.NUI.PropertyValue((Extents)newValue));
1491             }
1492         }),
1493         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1494         {
1495             var view = (View)bindable;
1496             Extents temp = new Extents(0, 0, 0, 0);
1497             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MARGIN).Get(temp);
1498             return temp;
1499         }));
1500
1501         /// <summary>
1502         /// UpdateSizeHintProperty
1503         /// </summary>
1504         [EditorBrowsable(EditorBrowsableState.Never)]
1505         public static readonly BindableProperty UpdateSizeHintProperty = BindableProperty.Create(nameof(UpdateSizeHint), typeof(Vector2), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1506         {
1507             var view = (View)bindable;
1508             if (newValue != null)
1509             {
1510                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, Interop.ViewProperty.UpdateSizeHintGet(), new Tizen.NUI.PropertyValue((Vector2)newValue));
1511             }
1512         }),
1513         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1514         {
1515             var view = (View)bindable;
1516
1517             Vector2 temp = new Vector2(0.0f, 0.0f);
1518             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, Interop.ViewProperty.UpdateSizeHintGet()).Get(temp);
1519             return temp;
1520         }));
1521
1522         /// <summary>
1523         /// ImageShadow Property
1524         /// </summary>
1525         [EditorBrowsable(EditorBrowsableState.Never)]
1526         public static readonly BindableProperty ImageShadowProperty = BindableProperty.Create(nameof(ImageShadow), typeof(ImageShadow), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1527         {
1528             var shadow = (ImageShadow)newValue;
1529             var view = (View)bindable;
1530             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW, shadow == null ? new PropertyValue() : shadow.ToPropertyValue(view));
1531         }),
1532         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1533         {
1534             var view = (View)bindable;
1535
1536             PropertyMap map = new PropertyMap();
1537             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW).Get(map);
1538
1539             var shadow = new ImageShadow(map);
1540             return shadow.IsEmpty() ? null : shadow;
1541         }));
1542
1543         /// <summary>
1544         /// Shadow Property
1545         /// </summary>
1546         [EditorBrowsable(EditorBrowsableState.Never)]
1547         public static readonly BindableProperty BoxShadowProperty = BindableProperty.Create(nameof(BoxShadow), typeof(Shadow), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1548         {
1549             var shadow = (Shadow)newValue;
1550             var view = (View)bindable;
1551             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW, shadow == null ? new PropertyValue() : shadow.ToPropertyValue(view));
1552         }),
1553         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1554         {
1555             var view = (View)bindable;
1556
1557             PropertyMap map = new PropertyMap();
1558             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW).Get(map);
1559
1560             var shadow = new Shadow(map);
1561             return shadow.IsEmpty() ? null : shadow;
1562         }));
1563
1564         /// <summary>
1565         /// CornerRadius Property
1566         /// </summary>
1567         [EditorBrowsable(EditorBrowsableState.Never)]
1568         public static readonly BindableProperty CornerRadiusProperty = BindableProperty.Create(nameof(CornerRadius), typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
1569         {
1570             var view = (View)bindable;
1571             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).CornerRadius = (float)newValue;
1572             view.ApplyCornerRadius();
1573         },
1574         defaultValueCreator: (bindable) =>
1575         {
1576             var view = (View)bindable;
1577             return view.backgroundExtraData == null ? 0 : view.backgroundExtraData.CornerRadius;
1578         });
1579
1580         /// <summary>
1581         /// CornerRadiusPolicy Property
1582         /// </summary>
1583         [EditorBrowsable(EditorBrowsableState.Never)]
1584         public static readonly BindableProperty CornerRadiusPolicyProperty = BindableProperty.Create(nameof(CornerRadiusPolicy), typeof(VisualTransformPolicyType), typeof(View), VisualTransformPolicyType.Absolute, propertyChanged: (bindable, oldValue, newValue) =>
1585         {
1586             var view = (View)bindable;
1587             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).CornerRadiusPolicy = (VisualTransformPolicyType)newValue;
1588             if (view.backgroundExtraData.CornerRadius != 0)
1589             {
1590                 view.ApplyCornerRadius();
1591             }
1592         },
1593         defaultValueCreator: (bindable) =>
1594         {
1595             var view = (View)bindable;
1596             return view.backgroundExtraData == null ? VisualTransformPolicyType.Absolute : view.backgroundExtraData.CornerRadiusPolicy;
1597         });
1598
1599         /// <summary>
1600         /// EnableControlState property
1601         /// </summary>
1602         [EditorBrowsable(EditorBrowsableState.Never)]
1603         public static readonly BindableProperty EnableControlStateProperty = BindableProperty.Create(nameof(EnableControlState), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1604         {
1605             var view = (View)bindable;
1606             bool prev = view.enableControlState;
1607             view.enableControlState = (bool)newValue;
1608
1609             if (prev != view.enableControlState)
1610             {
1611                 if (prev)
1612                 {
1613                     view.TouchEvent -= view.EmptyOnTouch;
1614                 }
1615                 else
1616                 {
1617                     view.TouchEvent += view.EmptyOnTouch;
1618                 }
1619             }
1620         },
1621         defaultValueCreator: (bindable) =>
1622         {
1623             return ((View)bindable).enableControlState;
1624         });
1625
1626         /// <summary>
1627         /// ThemeChangeSensitive property
1628         /// </summary>
1629         [EditorBrowsable(EditorBrowsableState.Never)]
1630         public static readonly BindableProperty ThemeChangeSensitiveProperty = BindableProperty.Create(nameof(ThemeChangeSensitive), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1631         {
1632             var view = (View)bindable;
1633
1634             if (view.themeChangeSensitive == (bool)newValue) return;
1635
1636             view.themeChangeSensitive = (bool)newValue;
1637
1638             if (view.themeChangeSensitive)
1639             {
1640                 ThemeManager.ThemeChangedInternal.Add(view.OnThemeChanged);
1641             }
1642             else
1643             {
1644                 ThemeManager.ThemeChangedInternal.Remove(view.OnThemeChanged);
1645             }
1646         },
1647         defaultValueCreator: (bindable) =>
1648         {
1649             return ((View)bindable).themeChangeSensitive;
1650         });
1651
1652         #region Selectors
1653         internal static readonly BindableProperty BackgroundImageSelectorProperty = BindableProperty.Create("BackgroundImageSelector", typeof(Selector<string>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1654         {
1655             var view = (View)bindable;
1656             view.SelectorData.BackgroundImage.Update(view, (Selector<string>)newValue, true);
1657             if (newValue != null) view.SelectorData.BackgroundColor.Reset(view);
1658         },
1659         defaultValueCreator: (bindable) =>
1660         {
1661             var view = (View)bindable;
1662             return view.SelectorData.BackgroundImage.Get(view);
1663         });
1664
1665         internal static readonly BindableProperty BackgroundColorSelectorProperty = BindableProperty.Create("BackgroundColorSelector", typeof(Selector<Color>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1666         {
1667             var view = (View)bindable;
1668             view.SelectorData.BackgroundColor.Update(view, (Selector<Color>)newValue, true);
1669             if (newValue != null) view.SelectorData.BackgroundImage.Reset(view);
1670         },
1671         defaultValueCreator: (bindable) =>
1672         {
1673             var view = (View)bindable;
1674             return view.SelectorData.BackgroundColor.Get(view);
1675         });
1676
1677         internal static readonly BindableProperty BackgroundImageBorderSelectorProperty = BindableProperty.Create("BackgroundImageBorderSelector", typeof(Selector<Rectangle>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1678         {
1679             var view = (View)bindable;
1680             view.SelectorData.BackgroundImageBorder.Update(view, (Selector<Rectangle>)newValue, true);
1681         },
1682         defaultValueCreator: (bindable) =>
1683         {
1684             var view = (View)bindable;
1685             return view.SelectorData.BackgroundImageBorder.Get(view);
1686         });
1687
1688         internal static readonly BindableProperty ColorSelectorProperty = BindableProperty.Create("ColorSelector", typeof(Selector<Color>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1689         {
1690             var view = (View)bindable;
1691             view.SelectorData.Color.Update(view, (Selector<Color>)newValue, true);
1692         },
1693         defaultValueCreator: (bindable) =>
1694         {
1695             var view = (View)bindable;
1696             return view.SelectorData.Color.Get(view);
1697         });
1698
1699         internal static readonly BindableProperty OpacitySelectorProperty = BindableProperty.Create("OpacitySelector", typeof(Selector<float?>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1700         {
1701             var view = (View)bindable;
1702             view.SelectorData.Opacity.Update(view, (Selector<float?>)newValue, true);
1703         },
1704         defaultValueCreator: (bindable) =>
1705         {
1706             var view = (View)bindable;
1707             return view.SelectorData.Opacity.Get(view);
1708         });
1709
1710         /// <summary>
1711         /// ImageShadow Selector Property for binding to ViewStyle
1712         /// </summary>
1713         [EditorBrowsable(EditorBrowsableState.Never)]
1714         public static readonly BindableProperty ImageShadowSelectorProperty = BindableProperty.Create("ImageShadowSelector", typeof(Selector<ImageShadow>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1715         {
1716             var view = (View)bindable;
1717             view.SelectorData.ImageShadow.Update(view, (Selector<ImageShadow>)newValue, true);
1718             if (newValue != null) view.SelectorData.BoxShadow.Reset(view);
1719         },
1720         defaultValueCreator: (bindable) =>
1721         {
1722             var view = (View)bindable;
1723             return view.SelectorData.ImageShadow.Get(view);
1724         });
1725
1726         /// <summary>
1727         /// BoxShadow Selector Property for binding to ViewStyle
1728         /// </summary>
1729         [EditorBrowsable(EditorBrowsableState.Never)]
1730         public static readonly BindableProperty BoxShadowSelectorProperty = BindableProperty.Create("BoxShadowSelector", typeof(Selector<Shadow>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1731         {
1732             var view = (View)bindable;
1733             view.SelectorData.BoxShadow.Update(view, (Selector<Shadow>)newValue, true);
1734             if (newValue != null) view.SelectorData.ImageShadow.Reset(view);
1735         },
1736         defaultValueCreator: (bindable) =>
1737         {
1738             var view = (View)bindable;
1739             return view.SelectorData.BoxShadow.Get(view);
1740         });
1741
1742         /// <summary>
1743         /// CornerRadius Selector Property
1744         /// </summary>
1745         [EditorBrowsable(EditorBrowsableState.Never)]
1746         public static readonly BindableProperty CornerRadiusSelectorProperty = BindableProperty.Create("CornerRadiusSelector", typeof(Selector<float?>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1747         {
1748             var view = (View)bindable;
1749             view.SelectorData.CornerRadius.Update(view, (Selector<float?>)newValue, true);
1750         },
1751         defaultValueCreator: (bindable) =>
1752         {
1753             var view = (View)bindable;
1754             return view.SelectorData.CornerRadius.Get(view);
1755         });
1756         #endregion
1757     }
1758 }