44af62c8a0a10dc840649fd91f9072b881186f0e
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / ViewBindableProperty.cs
1 /*
2  * Copyright(c) 2019-2021 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 using System.ComponentModel;
19 using Tizen.NUI.Binding;
20
21 namespace Tizen.NUI.BaseComponents
22 {
23     /// <summary>
24     /// View is the base class for all views.
25     /// </summary>
26     /// <since_tizen> 3 </since_tizen>
27     public partial class View
28     {
29         /// <summary>
30         /// StyleNameProperty (DALi json)
31         /// </summary>
32         [EditorBrowsable(EditorBrowsableState.Never)]
33         public static readonly BindableProperty StyleNameProperty = BindableProperty.Create(nameof(StyleName), typeof(string), typeof(View), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
34         {
35             var view = (View)bindable;
36             if (newValue != null)
37             {
38                 string styleName = (string)newValue;
39                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.StyleName, new Tizen.NUI.PropertyValue(styleName));
40
41                 view.styleName = styleName;
42
43                 if (string.IsNullOrEmpty(styleName)) return;
44
45                 var style = ThemeManager.GetUpdateStyleWithoutClone(styleName);
46
47                 if (style == null) return;
48
49                 view.ApplyStyle(style);
50                 view.SetThemeApplied();
51             }
52         }),
53         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
54         {
55             var view = (View)bindable;
56
57             if (!string.IsNullOrEmpty(view.styleName)) return view.styleName;
58
59             string temp;
60             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.StyleName).Get(out temp);
61             return temp;
62         }));
63
64         /// <summary>
65         /// KeyInputFocusProperty
66         /// </summary>
67         [EditorBrowsable(EditorBrowsableState.Never)]
68         public static readonly BindableProperty KeyInputFocusProperty = BindableProperty.Create(nameof(KeyInputFocus), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
69         {
70             var view = (View)bindable;
71             if (newValue != null)
72             {
73                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.KeyInputFocus, new Tizen.NUI.PropertyValue((bool)newValue));
74             }
75         }),
76         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
77         {
78             var view = (View)bindable;
79             bool temp = false;
80             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.KeyInputFocus).Get(out temp);
81             return temp;
82         }));
83
84         /// <summary>
85         /// BackgroundColorProperty
86         /// </summary>
87         [EditorBrowsable(EditorBrowsableState.Never)]
88         public static readonly BindableProperty BackgroundColorProperty = BindableProperty.Create(nameof(BackgroundColor), typeof(Color), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
89         {
90             var view = (View)bindable;
91
92             view.themeData?.selectorData?.ClearBackground(view);
93
94             if (newValue is Selector<Color> selector)
95             {
96                 if (selector.HasAll()) view.SetBackgroundColor(selector.All);
97                 else view.EnsureSelectorData().BackgroundColor = new TriggerableSelector<Color>(view, selector, view.SetBackgroundColor, true);
98             }
99             else
100             {
101                 view.SetBackgroundColor((Color)newValue);
102             }
103         }),
104         defaultValueCreator: (bindable) =>
105         {
106             var view = (View)bindable;
107             Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
108
109             Tizen.NUI.PropertyMap background = view.Background;
110             int visualType = 0;
111             background.Find(Visual.Property.Type)?.Get(out visualType);
112             if (visualType == (int)Visual.Type.Color)
113             {
114                 background.Find(ColorVisualProperty.MixColor)?.Get(backgroundColor);
115             }
116
117             return backgroundColor;
118         });
119
120         /// <summary>
121         /// ColorProperty
122         /// </summary>
123         [EditorBrowsable(EditorBrowsableState.Never)]
124         public static readonly BindableProperty ColorProperty = BindableProperty.Create(nameof(Color), typeof(Color), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
125         {
126             var view = (View)bindable;
127
128             view.themeData?.selectorData?.Color?.Reset(view);
129
130             if (newValue is Selector<Color> selector)
131             {
132                 if (selector.HasAll()) view.SetColor(selector.All);
133                 else view.EnsureSelectorData().Color = new TriggerableSelector<Color>(view, selector, view.SetColor, true);
134             }
135             else
136             {
137                 view.SetColor((Color)newValue);
138             }
139         },
140         defaultValueCreator: (bindable) =>
141         {
142             var view = (View)bindable;
143             Color color = new Color(0.0f, 0.0f, 0.0f, 0.0f);
144             view.GetProperty(Interop.ActorProperty.ColorGet()).Get(color);
145             return color;
146         });
147         /// <summary> BackgroundImageProperty </summary>
148         [EditorBrowsable(EditorBrowsableState.Never)]
149         public static readonly BindableProperty BackgroundImageProperty = BindableProperty.Create(nameof(BackgroundImage), typeof(string), typeof(View), default(string), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
150         {
151             var view = (View)bindable;
152
153             if (view.themeData?.selectorData != null)
154             {
155                 view.themeData.selectorData.BackgroundColor?.Reset(view);
156                 view.themeData.selectorData.BackgroundImage?.Reset(view);
157             }
158
159             if (newValue is Selector<string> selector)
160             {
161                 if (selector.HasAll()) view.SetBackgroundImage(selector.All);
162                 else view.EnsureSelectorData().BackgroundImage = new TriggerableSelector<string>(view, selector, view.SetBackgroundImage, true);
163             }
164             else
165             {
166                 view.SetBackgroundImage((string)newValue);
167             }
168         }),
169         defaultValueCreator: (bindable) =>
170         {
171             var view = (View)bindable;
172             string backgroundImage = "";
173
174             Tizen.NUI.PropertyMap background = view.Background;
175             background.Find(ImageVisualProperty.URL)?.Get(out backgroundImage);
176
177             return backgroundImage;
178         });
179         /// <summary>BackgroundImageBorderProperty</summary>
180         [EditorBrowsable(EditorBrowsableState.Never)]
181         public static readonly BindableProperty BackgroundImageBorderProperty = BindableProperty.Create(nameof(BackgroundImageBorder), typeof(Rectangle), typeof(View), default(Rectangle), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
182         {
183             var view = (View)bindable;
184
185             view.themeData?.selectorData?.BackgroundImageBorder?.Reset(view);
186
187             if (newValue is Selector<Rectangle> selector)
188             {
189                 if (selector.HasAll()) view.SetBackgroundImageBorder(selector.All);
190                 else view.EnsureSelectorData().BackgroundImageBorder = new TriggerableSelector<Rectangle>(view, selector, view.SetBackgroundImageBorder, true);
191             }
192             else
193             {
194                 view.SetBackgroundImageBorder((Rectangle)newValue);
195             }
196         }),
197         defaultValueCreator: (bindable) =>
198         {
199             var view = (View)bindable;
200
201             return view.backgroundExtraData?.BackgroundImageBorder;
202         });
203         /// <summary>
204         /// BackgroundProperty
205         /// </summary>
206         [EditorBrowsable(EditorBrowsableState.Never)]
207         public static readonly BindableProperty BackgroundProperty = BindableProperty.Create(nameof(Background), typeof(PropertyMap), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
208         {
209             var view = (View)bindable;
210             if (newValue != null)
211             {
212                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
213
214                 view.backgroundExtraData = null;
215             }
216         }),
217         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
218         {
219             var view = (View)bindable;
220             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
221             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.BACKGROUND).Get(temp);
222             return temp;
223         }));
224
225         /// <summary>
226         /// StateProperty
227         /// </summary>
228         [EditorBrowsable(EditorBrowsableState.Never)]
229         public static readonly BindableProperty StateProperty = BindableProperty.Create(nameof(State), typeof(States), typeof(View), States.Normal, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
230         {
231             var view = (View)bindable;
232             if (newValue != null)
233             {
234                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.STATE, new Tizen.NUI.PropertyValue((int)newValue));
235             }
236         }),
237         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
238         {
239             var view = (View)bindable;
240             int temp = 0;
241             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.STATE).Get(out temp) == false)
242             {
243                 NUILog.Error("State get error!");
244             }
245             switch (temp)
246             {
247                 case 0: return States.Normal;
248                 case 1: return States.Focused;
249                 case 2: return States.Disabled;
250                 default: return States.Normal;
251             }
252         }));
253
254         /// <summary>
255         /// SubStateProperty
256         /// </summary>
257         [EditorBrowsable(EditorBrowsableState.Never)]
258         public static readonly BindableProperty SubStateProperty = BindableProperty.Create(nameof(SubState), typeof(States), typeof(View), States.Normal, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
259         {
260             var view = (View)bindable;
261             string valueToString = "";
262             if (newValue != null)
263             {
264                 valueToString = ((States)newValue).GetDescription();
265                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SubState, new Tizen.NUI.PropertyValue(valueToString));
266             }
267         }),
268         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
269         {
270             var view = (View)bindable;
271             string temp;
272             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SubState).Get(out temp) == false)
273             {
274                 NUILog.Error("subState get error!");
275             }
276             return temp.GetValueByDescription<States>();
277         }));
278
279         /// <summary>
280         /// TooltipProperty
281         /// </summary>
282         [EditorBrowsable(EditorBrowsableState.Never)]
283         public static readonly BindableProperty TooltipProperty = BindableProperty.Create(nameof(Tooltip), typeof(PropertyMap), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
284         {
285             var view = (View)bindable;
286             if (newValue != null)
287             {
288                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.TOOLTIP, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
289             }
290         }),
291         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
292         {
293             var view = (View)bindable;
294             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
295             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.TOOLTIP).Get(temp);
296             return temp;
297         }));
298
299         /// <summary>
300         /// FlexProperty
301         /// </summary>
302         [EditorBrowsable(EditorBrowsableState.Never)]
303         public static readonly BindableProperty FlexProperty = BindableProperty.Create(nameof(Flex), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
304         {
305             var view = (View)bindable;
306             if (newValue != null)
307             {
308                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue((float)newValue));
309             }
310         }),
311         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
312         {
313             var view = (View)bindable;
314             float temp = 0.0f;
315             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FLEX).Get(out temp);
316             return temp;
317         }));
318
319         /// <summary>
320         /// AlignSelfProperty
321         /// </summary>
322         [EditorBrowsable(EditorBrowsableState.Never)]
323         public static readonly BindableProperty AlignSelfProperty = BindableProperty.Create(nameof(AlignSelf), typeof(int), typeof(View), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
324         {
325             var view = (View)bindable;
326             if (newValue != null)
327             {
328                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.AlignSelf, new Tizen.NUI.PropertyValue((int)newValue));
329             }
330         }),
331         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
332         {
333             var view = (View)bindable;
334             int temp = 0;
335             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.AlignSelf).Get(out temp);
336             return temp;
337         }));
338
339         /// <summary>
340         /// FlexMarginProperty
341         /// </summary>
342         [EditorBrowsable(EditorBrowsableState.Never)]
343         public static readonly BindableProperty FlexMarginProperty = BindableProperty.Create(nameof(FlexMargin), typeof(Vector4), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
344         {
345             var view = (View)bindable;
346             if (newValue != null)
347             {
348                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FlexMargin, new Tizen.NUI.PropertyValue((Vector4)newValue));
349             }
350         }),
351         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
352         {
353             var view = (View)bindable;
354             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
355             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FlexMargin).Get(temp);
356             return temp;
357         }));
358
359         /// <summary>
360         /// CellIndexProperty
361         /// </summary>
362         [EditorBrowsable(EditorBrowsableState.Never)]
363         public static readonly BindableProperty CellIndexProperty = BindableProperty.Create(nameof(CellIndex), typeof(Vector2), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
364         {
365             var view = (View)bindable;
366             if (newValue != null)
367             {
368                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellIndex, new Tizen.NUI.PropertyValue((Vector2)newValue));
369             }
370         }),
371         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
372         {
373             var view = (View)bindable;
374             Vector2 temp = new Vector2(0.0f, 0.0f);
375             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellIndex).Get(temp);
376             return temp;
377         }));
378
379         /// <summary>
380         /// RowSpanProperty
381         /// </summary>
382         [EditorBrowsable(EditorBrowsableState.Never)]
383         public static readonly BindableProperty RowSpanProperty = BindableProperty.Create(nameof(RowSpan), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
384         {
385             var view = (View)bindable;
386             if (newValue != null)
387             {
388                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.RowSpan, new Tizen.NUI.PropertyValue((float)newValue));
389             }
390         }),
391         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
392         {
393             var view = (View)bindable;
394             float temp = 0.0f;
395             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.RowSpan).Get(out temp);
396             return temp;
397         }));
398
399         /// <summary>
400         /// ColumnSpanProperty
401         /// </summary>
402         [EditorBrowsable(EditorBrowsableState.Never)]
403         public static readonly BindableProperty ColumnSpanProperty = BindableProperty.Create(nameof(ColumnSpan), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
404         {
405             var view = (View)bindable;
406             if (newValue != null)
407             {
408                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.ColumnSpan, new Tizen.NUI.PropertyValue((float)newValue));
409             }
410         }),
411         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
412         {
413             var view = (View)bindable;
414             float temp = 0.0f;
415             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.ColumnSpan).Get(out temp);
416             return temp;
417         }));
418
419         /// <summary>
420         /// CellHorizontalAlignmentProperty
421         /// </summary>
422         [EditorBrowsable(EditorBrowsableState.Never)]
423         public static readonly BindableProperty CellHorizontalAlignmentProperty = BindableProperty.Create(nameof(CellHorizontalAlignment), typeof(HorizontalAlignmentType), typeof(View), HorizontalAlignmentType.Left, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
424         {
425             var view = (View)bindable;
426             string valueToString = "";
427
428             if (newValue != null)
429             {
430                 valueToString = ((HorizontalAlignmentType)newValue).GetDescription();
431                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellHorizontalAlignment, new Tizen.NUI.PropertyValue(valueToString));
432             }
433         }),
434         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
435         {
436             var view = (View)bindable;
437             string temp;
438             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellHorizontalAlignment).Get(out temp) == false)
439             {
440                 NUILog.Error("CellHorizontalAlignment get error!");
441             }
442
443             return temp.GetValueByDescription<HorizontalAlignmentType>();
444         }));
445
446         /// <summary>
447         /// CellVerticalAlignmentProperty
448         /// </summary>
449         [EditorBrowsable(EditorBrowsableState.Never)]
450         public static readonly BindableProperty CellVerticalAlignmentProperty = BindableProperty.Create(nameof(CellVerticalAlignment), typeof(VerticalAlignmentType), typeof(View), VerticalAlignmentType.Top, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
451         {
452             var view = (View)bindable;
453             string valueToString = "";
454
455             if (newValue != null)
456             {
457                 valueToString = ((VerticalAlignmentType)newValue).GetDescription();
458                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellVerticalAlignment, new Tizen.NUI.PropertyValue(valueToString));
459             }
460         }),
461         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
462         {
463             var view = (View)bindable;
464             string temp;
465             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellVerticalAlignment).Get(out temp);
466             {
467                 NUILog.Error("CellVerticalAlignment get error!");
468             }
469
470             return temp.GetValueByDescription<VerticalAlignmentType>();
471         }));
472
473         /// <summary>
474         /// "Please DO NOT use! This will be deprecated! Please use 'View Weight' instead of BindableProperty"
475         /// This needs to be hidden as inhouse API until all applications using it have been updated.  Do not make public.
476         /// </summary>
477         [EditorBrowsable(EditorBrowsableState.Never)]
478         public static readonly BindableProperty WeightProperty = BindableProperty.Create(nameof(Weight), typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
479         {
480             var view = (View)bindable;
481             if (newValue != null)
482             {
483                 view.Weight = (float)newValue;
484             }
485         },
486
487         defaultValueCreator: (bindable) =>
488         {
489             var view = (View)bindable;
490             return view.Weight;
491         });
492
493         /// <summary>
494         /// LeftFocusableViewProperty
495         /// </summary>
496         [EditorBrowsable(EditorBrowsableState.Never)]
497         public static readonly BindableProperty LeftFocusableViewProperty = BindableProperty.Create(nameof(View.LeftFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
498         {
499             var view = (View)bindable;
500             if (newValue != null) { view.LeftFocusableViewId = (int)(newValue as View)?.GetId(); }
501             else { view.LeftFocusableViewId = -1; }
502         },
503         defaultValueCreator: (bindable) =>
504         {
505             var view = (View)bindable;
506             if (view.LeftFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.LeftFocusableViewId); }
507             return null;
508         });
509
510         /// <summary>
511         /// RightFocusableViewProperty
512         /// </summary>
513         [EditorBrowsable(EditorBrowsableState.Never)]
514         public static readonly BindableProperty RightFocusableViewProperty = BindableProperty.Create(nameof(View.RightFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
515         {
516             var view = (View)bindable;
517             if (newValue != null) { view.RightFocusableViewId = (int)(newValue as View)?.GetId(); }
518             else { view.RightFocusableViewId = -1; }
519         },
520         defaultValueCreator: (bindable) =>
521         {
522             var view = (View)bindable;
523             if (view.RightFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.RightFocusableViewId); }
524             return null;
525         });
526
527         /// <summary>
528         /// UpFocusableViewProperty
529         /// </summary>
530         [EditorBrowsable(EditorBrowsableState.Never)]
531         public static readonly BindableProperty UpFocusableViewProperty = BindableProperty.Create(nameof(View.UpFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
532         {
533             var view = (View)bindable;
534             if (newValue != null) { view.UpFocusableViewId = (int)(newValue as View)?.GetId(); }
535             else { view.UpFocusableViewId = -1; }
536         },
537         defaultValueCreator: (bindable) =>
538         {
539             var view = (View)bindable;
540             if (view.UpFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.UpFocusableViewId); }
541             return null;
542         });
543
544         /// <summary>
545         /// DownFocusableViewProperty
546         /// </summary>
547         [EditorBrowsable(EditorBrowsableState.Never)]
548         public static readonly BindableProperty DownFocusableViewProperty = BindableProperty.Create(nameof(View.DownFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
549         {
550             var view = (View)bindable;
551             if (newValue != null) { view.DownFocusableViewId = (int)(newValue as View)?.GetId(); }
552             else { view.DownFocusableViewId = -1; }
553         },
554         defaultValueCreator: (bindable) =>
555         {
556             var view = (View)bindable;
557             if (view.DownFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.DownFocusableViewId); }
558             return null;
559         });
560
561         /// <summary>
562         /// FocusableProperty
563         /// </summary>
564         [EditorBrowsable(EditorBrowsableState.Never)]
565         public static readonly BindableProperty FocusableProperty = BindableProperty.Create(nameof(Focusable), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
566         {
567             var view = (View)bindable;
568             if (newValue != null) { view.SetKeyboardFocusable((bool)newValue); }
569         },
570         defaultValueCreator: (bindable) =>
571         {
572             var view = (View)bindable;
573             return view.IsKeyboardFocusable();
574         });
575
576         /// <summary>
577         /// FocusableChildrenProperty
578         /// </summary>
579         [EditorBrowsable(EditorBrowsableState.Never)]
580         public static readonly BindableProperty FocusableChildrenProperty = BindableProperty.Create(nameof(FocusableChildren), typeof(bool), typeof(View), true, propertyChanged: (bindable, oldValue, newValue) =>
581         {
582             var view = (View)bindable;
583             if (newValue != null) { view.SetKeyboardFocusableChildren((bool)newValue); }
584         },
585         defaultValueCreator: (bindable) =>
586         {
587             var view = (View)bindable;
588             return view.AreChildrenKeyBoardFocusable();
589         });
590
591         /// <summary>
592         /// FocusableInTouchProperty
593         /// </summary>
594         [EditorBrowsable(EditorBrowsableState.Never)]
595         public static readonly BindableProperty FocusableInTouchProperty = BindableProperty.Create(nameof(FocusableInTouch), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
596         {
597             var view = (View)bindable;
598             if (newValue != null) { view.SetFocusableInTouch((bool)newValue); }
599         },
600         defaultValueCreator: (bindable) =>
601         {
602             var view = (View)bindable;
603             return view.IsFocusableInTouch();
604         });
605
606         /// <summary>
607         /// Size2DProperty
608         /// </summary>
609         [EditorBrowsable(EditorBrowsableState.Never)]
610         public static readonly BindableProperty Size2DProperty = BindableProperty.Create(nameof(Size2D), typeof(Size2D), typeof(View), null,
611             propertyChanged: ((bindable, oldValue, newValue) =>
612             {
613                 View view = (View)bindable;
614                 if (newValue != null)
615                 {
616                     view.SetSize(((Size2D)newValue).Width, ((Size2D)newValue).Height, 0);
617
618                     view.widthPolicy = ((Size2D)newValue).Width;
619                     view.heightPolicy = ((Size2D)newValue).Height;
620
621                     view.layout?.RequestLayout();
622                 }
623             }),
624             defaultValueCreator: ((bindable) =>
625             {
626                 View view = (View)bindable;
627                 var tmp = new Size(0, 0, 0);
628                 Object.GetProperty(view.SwigCPtr, Property.SIZE).Get(tmp);
629
630                 int tmpWidth = (int)tmp?.Width;
631                 int tmpHeight = (int)tmp?.Height;
632                 tmp?.Dispose();
633                 tmp = null;
634
635                 if (view.internalSize2D == null)
636                 {
637                     view.internalSize2D = new Size2D(view.OnSize2DChanged, tmpWidth, tmpHeight);
638                 }
639                 else
640                 {
641                     if (view.internalSize2D.Width != tmpWidth) { view.internalSize2D.Width = tmpWidth; }
642                     if (view.internalSize2D.Height != tmpHeight) { view.internalSize2D.Height = tmpHeight; }
643                 }
644                 return view.internalSize2D;
645             })
646         );
647
648         /// <summary>
649         /// OpacityProperty
650         /// </summary>
651         [EditorBrowsable(EditorBrowsableState.Never)]
652         public static readonly BindableProperty OpacityProperty = BindableProperty.Create(nameof(Opacity), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
653         {
654             var view = (View)bindable;
655
656             view.themeData?.selectorData?.Opacity?.Reset(view);
657
658             if (newValue is Selector<float?> selector)
659             {
660                 if (selector.HasAll()) view.SetOpacity(selector.All);
661                 else view.EnsureSelectorData().Opacity = new TriggerableSelector<float?>(view, selector, view.SetOpacity, true);
662             }
663             else
664             {
665                 view.SetOpacity((float?)newValue);
666             }
667         }),
668         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
669         {
670             var view = (View)bindable;
671             float temp = 0.0f;
672             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.OPACITY).Get(out temp);
673             return temp;
674         }));
675
676         /// <summary>
677         /// Position2DProperty
678         /// </summary>
679         [EditorBrowsable(EditorBrowsableState.Never)]
680         public static readonly BindableProperty Position2DProperty = BindableProperty.Create(nameof(Position2D), typeof(Position2D), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
681         {
682             var view = (View)bindable;
683             if (newValue != null)
684             {
685                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position((Position2D)newValue)));
686             }
687         }),
688         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
689         {
690             var view = (View)bindable;
691             Position temp = new Position(0.0f, 0.0f, 0.0f);
692             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION).Get(temp);
693             return new Position2D(temp);
694         }));
695
696         /// <summary>
697         /// PositionUsesPivotPointProperty
698         /// </summary>
699         [EditorBrowsable(EditorBrowsableState.Never)]
700         public static readonly BindableProperty PositionUsesPivotPointProperty = BindableProperty.Create(nameof(PositionUsesPivotPoint), typeof(bool), typeof(View), true, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
701         {
702             var view = (View)bindable;
703             if (newValue != null)
704             {
705                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionUsesAnchorPoint, new Tizen.NUI.PropertyValue((bool)newValue));
706             }
707         }),
708         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
709         {
710             var view = (View)bindable;
711             bool temp = false;
712             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionUsesAnchorPoint).Get(out temp);
713             return temp;
714         }));
715
716         /// <summary>
717         /// SiblingOrderProperty
718         /// </summary>
719         [EditorBrowsable(EditorBrowsableState.Never)]
720         public static readonly BindableProperty SiblingOrderProperty = BindableProperty.Create(nameof(SiblingOrder), typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
721         {
722             var view = (View)bindable;
723             int value;
724             if (newValue != null)
725             {
726                 value = (int)newValue;
727                 if (value < 0)
728                 {
729                     NUILog.Error("SiblingOrder should be bigger than 0 or equal to 0.");
730                     return;
731                 }
732                 var siblings = view.GetParent()?.Children;
733                 if (siblings != null)
734                 {
735                     int currentOrder = siblings.IndexOf(view);
736                     if (value != currentOrder)
737                     {
738                         if (value == 0) { view.LowerToBottom(); }
739                         else if (value < siblings.Count - 1)
740                         {
741                             if (value > currentOrder) { view.RaiseAbove(siblings[value]); }
742                             else { view.LowerBelow(siblings[value]); }
743                         }
744                         else { view.RaiseToTop(); }
745                     }
746                 }
747             }
748         },
749         defaultValueCreator: (bindable) =>
750         {
751             var view = (View)bindable;
752             var parentChildren = view.GetParent()?.Children;
753             int currentOrder = 0;
754             if (parentChildren != null)
755             {
756                 currentOrder = parentChildren.IndexOf(view);
757
758                 if (currentOrder < 0) { return 0; }
759                 else if (currentOrder < parentChildren.Count) { return currentOrder; }
760             }
761
762             return 0;
763         });
764
765         /// <summary>
766         /// ParentOriginProperty
767         /// </summary>
768         [EditorBrowsable(EditorBrowsableState.Never)]
769         public static readonly BindableProperty ParentOriginProperty = BindableProperty.Create(nameof(ParentOrigin), typeof(Position), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
770         {
771             var view = (View)bindable;
772             if (newValue != null)
773             {
774                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ParentOrigin, new Tizen.NUI.PropertyValue((Position)newValue));
775             }
776         }),
777         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
778         {
779             var view = (View)bindable;
780             Position temp = new Position(0.0f, 0.0f, 0.0f);
781             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ParentOrigin).Get(temp);
782             return temp;
783         })
784         );
785
786         /// <summary>
787         /// PivotPointProperty
788         /// </summary>
789         [EditorBrowsable(EditorBrowsableState.Never)]
790         public static readonly BindableProperty PivotPointProperty = BindableProperty.Create(nameof(PivotPoint), typeof(Position), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
791         {
792             var view = (View)bindable;
793             if (newValue != null)
794             {
795                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AnchorPoint, new Tizen.NUI.PropertyValue((Position)newValue));
796             }
797         }),
798         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
799         {
800             var view = (View)bindable;
801             Position temp = new Position(0.0f, 0.0f, 0.0f);
802             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AnchorPoint).Get(temp);
803             return temp;
804         }));
805
806         /// <summary>
807         /// SizeWidthProperty
808         /// </summary>
809         [EditorBrowsable(EditorBrowsableState.Never)]
810         public static readonly BindableProperty SizeWidthProperty = BindableProperty.Create(nameof(SizeWidth), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
811         {
812             var view = (View)bindable;
813             if (newValue != null)
814             {
815                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeWidth, new Tizen.NUI.PropertyValue((float)newValue));
816                 view.WidthSpecification = (int)System.Math.Ceiling((float)newValue);
817             }
818         }),
819         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
820         {
821             var view = (View)bindable;
822             float temp = 0.0f;
823             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeWidth).Get(out temp);
824             return temp;
825         }));
826
827         /// <summary>
828         /// SizeHeightProperty
829         /// </summary>
830         [EditorBrowsable(EditorBrowsableState.Never)]
831         public static readonly BindableProperty SizeHeightProperty = BindableProperty.Create(nameof(SizeHeight), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
832         {
833             var view = (View)bindable;
834             if (newValue != null)
835             {
836                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeHeight, new Tizen.NUI.PropertyValue((float)newValue));
837                 view.HeightSpecification = (int)System.Math.Ceiling((float)newValue);
838             }
839         }),
840         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
841         {
842             var view = (View)bindable;
843             float temp = 0.0f;
844             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeHeight).Get(out temp);
845             return temp;
846         }));
847
848         /// <summary>
849         /// PositionProperty
850         /// </summary>
851         [EditorBrowsable(EditorBrowsableState.Never)]
852         public static readonly BindableProperty PositionProperty = BindableProperty.Create(nameof(Position), typeof(Position), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
853         {
854             var view = (View)bindable;
855             if (newValue != null)
856             {
857                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue((Position)newValue));
858             }
859         }),
860         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
861         {
862             var view = (View)bindable;
863             Position temp = new Position(0.0f, 0.0f, 0.0f);
864             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.POSITION).Get(temp);
865             return temp;
866         }));
867
868         /// <summary>
869         /// PositionXProperty
870         /// </summary>
871         [EditorBrowsable(EditorBrowsableState.Never)]
872         public static readonly BindableProperty PositionXProperty = BindableProperty.Create(nameof(PositionX), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
873         {
874             var view = (View)bindable;
875             if (newValue != null)
876             {
877                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionX, new Tizen.NUI.PropertyValue((float)newValue));
878             }
879         }),
880         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
881         {
882             var view = (View)bindable;
883             float temp = 0.0f;
884             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionX).Get(out temp);
885             return temp;
886         }));
887
888         /// <summary>
889         /// PositionYProperty
890         /// </summary>
891         [EditorBrowsable(EditorBrowsableState.Never)]
892         public static readonly BindableProperty PositionYProperty = BindableProperty.Create(nameof(PositionY), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
893         {
894             var view = (View)bindable;
895             if (newValue != null)
896             {
897                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionY, new Tizen.NUI.PropertyValue((float)newValue));
898             }
899         }),
900         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
901         {
902             var view = (View)bindable;
903             float temp = 0.0f;
904             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionY).Get(out temp);
905             return temp;
906         }));
907
908         /// <summary>
909         /// PositionZProperty
910         /// </summary>
911         [EditorBrowsable(EditorBrowsableState.Never)]
912         public static readonly BindableProperty PositionZProperty = BindableProperty.Create(nameof(PositionZ), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
913         {
914             var view = (View)bindable;
915             if (newValue != null)
916             {
917                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionZ, new Tizen.NUI.PropertyValue((float)newValue));
918             }
919         }),
920         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
921         {
922             var view = (View)bindable;
923             float temp = 0.0f;
924             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionZ).Get(out temp);
925             return temp;
926         }));
927
928         /// <summary>
929         /// OrientationProperty
930         /// </summary>
931         [EditorBrowsable(EditorBrowsableState.Never)]
932         public static readonly BindableProperty OrientationProperty = BindableProperty.Create(nameof(Orientation), typeof(Rotation), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
933         {
934             var view = (View)bindable;
935             if (newValue != null)
936             {
937                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ORIENTATION, new Tizen.NUI.PropertyValue((Rotation)newValue));
938             }
939         }),
940         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
941         {
942             var view = (View)bindable;
943             Rotation temp = new Rotation();
944             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ORIENTATION).Get(temp);
945             return temp;
946         }));
947
948         /// <summary>
949         /// ScaleProperty
950         /// </summary>
951         [EditorBrowsable(EditorBrowsableState.Never)]
952         public static readonly BindableProperty ScaleProperty = BindableProperty.Create(nameof(Scale), typeof(Vector3), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
953         {
954             var view = (View)bindable;
955             if (newValue != null)
956             {
957                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SCALE, new Tizen.NUI.PropertyValue((Vector3)newValue));
958             }
959         }),
960         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
961         {
962             var view = (View)bindable;
963             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
964             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SCALE).Get(temp);
965             return temp;
966         }));
967
968         /// <summary>
969         /// ScaleXProperty
970         /// </summary>
971         [EditorBrowsable(EditorBrowsableState.Never)]
972         public static readonly BindableProperty ScaleXProperty = BindableProperty.Create(nameof(ScaleX), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
973         {
974             var view = (View)bindable;
975             if (newValue != null)
976             {
977                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleX, new Tizen.NUI.PropertyValue((float)newValue));
978             }
979         }),
980         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
981         {
982             var view = (View)bindable;
983             float temp = 0.0f;
984             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleX).Get(out temp);
985             return temp;
986         }));
987
988         /// <summary>
989         /// ScaleYProperty
990         /// </summary>
991         [EditorBrowsable(EditorBrowsableState.Never)]
992         public static readonly BindableProperty ScaleYProperty = BindableProperty.Create(nameof(ScaleY), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
993         {
994             var view = (View)bindable;
995             if (newValue != null)
996             {
997                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleY, new Tizen.NUI.PropertyValue((float)newValue));
998             }
999         }),
1000         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1001         {
1002             var view = (View)bindable;
1003             float temp = 0.0f;
1004             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleY).Get(out temp);
1005             return temp;
1006         }));
1007
1008         /// <summary>
1009         /// ScaleZProperty
1010         /// </summary>
1011         [EditorBrowsable(EditorBrowsableState.Never)]
1012         public static readonly BindableProperty ScaleZProperty = BindableProperty.Create(nameof(ScaleZ), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1013         {
1014             var view = (View)bindable;
1015             if (newValue != null)
1016             {
1017                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleZ, new Tizen.NUI.PropertyValue((float)newValue));
1018             }
1019         }),
1020         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1021         {
1022             var view = (View)bindable;
1023             float temp = 0.0f;
1024             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleZ).Get(out temp);
1025             return temp;
1026         }));
1027
1028         /// <summary>
1029         /// NameProperty
1030         /// </summary>
1031         [EditorBrowsable(EditorBrowsableState.Never)]
1032         public static readonly BindableProperty NameProperty = BindableProperty.Create(nameof(Name), typeof(string), typeof(View), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1033         {
1034             var view = (View)bindable;
1035             if (newValue != null)
1036             {
1037                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.NAME, new Tizen.NUI.PropertyValue((string)newValue));
1038             }
1039         }),
1040         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1041         {
1042             var view = (View)bindable;
1043             string temp;
1044             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.NAME).Get(out temp);
1045             return temp;
1046         }));
1047
1048         /// <summary>
1049         /// SensitiveProperty
1050         /// </summary>
1051         [EditorBrowsable(EditorBrowsableState.Never)]
1052         public static readonly BindableProperty SensitiveProperty = BindableProperty.Create(nameof(Sensitive), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1053         {
1054             var view = (View)bindable;
1055             if (newValue != null)
1056             {
1057                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SENSITIVE, new Tizen.NUI.PropertyValue((bool)newValue));
1058             }
1059         }),
1060         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1061         {
1062             var view = (View)bindable;
1063             bool temp = false;
1064             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SENSITIVE).Get(out temp);
1065             return temp;
1066         }));
1067
1068         /// <summary>
1069         /// DispatchKeyEventsProperty
1070         /// </summary>
1071         [EditorBrowsable(EditorBrowsableState.Never)]
1072         public static readonly BindableProperty DispatchKeyEventsProperty = BindableProperty.Create(nameof(DispatchKeyEvents), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1073         {
1074             var view = (View)bindable;
1075             if (newValue != null)
1076             {
1077                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DispatchKeyEvents, new Tizen.NUI.PropertyValue((bool)newValue));
1078             }
1079         }),
1080         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1081         {
1082             var view = (View)bindable;
1083             bool temp = false;
1084             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DispatchKeyEvents).Get(out temp);
1085             return temp;
1086         }));
1087
1088         /// <summary>
1089         /// LeaveRequiredProperty
1090         /// </summary>
1091         [EditorBrowsable(EditorBrowsableState.Never)]
1092         public static readonly BindableProperty LeaveRequiredProperty = BindableProperty.Create(nameof(LeaveRequired), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1093         {
1094             var view = (View)bindable;
1095             if (newValue != null)
1096             {
1097                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LeaveRequired, new Tizen.NUI.PropertyValue((bool)newValue));
1098             }
1099         }),
1100         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1101         {
1102             var view = (View)bindable;
1103             bool temp = false;
1104             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LeaveRequired).Get(out temp);
1105             return temp;
1106         }));
1107
1108         /// <summary>
1109         /// InheritOrientationProperty
1110         /// </summary>
1111         [EditorBrowsable(EditorBrowsableState.Never)]
1112         public static readonly BindableProperty InheritOrientationProperty = BindableProperty.Create(nameof(InheritOrientation), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1113         {
1114             var view = (View)bindable;
1115             if (newValue != null)
1116             {
1117                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritOrientation, new Tizen.NUI.PropertyValue((bool)newValue));
1118             }
1119         }),
1120         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1121         {
1122             var view = (View)bindable;
1123             bool temp = false;
1124             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritOrientation).Get(out temp);
1125             return temp;
1126         }));
1127
1128         /// <summary>
1129         /// InheritScaleProperty
1130         /// </summary>
1131         [EditorBrowsable(EditorBrowsableState.Never)]
1132         public static readonly BindableProperty InheritScaleProperty = BindableProperty.Create(nameof(InheritScale), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1133         {
1134             var view = (View)bindable;
1135             if (newValue != null)
1136             {
1137                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritScale, new Tizen.NUI.PropertyValue((bool)newValue));
1138             }
1139         }),
1140         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1141         {
1142             var view = (View)bindable;
1143             bool temp = false;
1144             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritScale).Get(out temp);
1145             return temp;
1146         }));
1147
1148         /// <summary>
1149         /// DrawModeProperty
1150         /// </summary>
1151         [EditorBrowsable(EditorBrowsableState.Never)]
1152         public static readonly BindableProperty DrawModeProperty = BindableProperty.Create(nameof(DrawMode), typeof(DrawModeType), typeof(View), DrawModeType.Normal, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1153         {
1154             var view = (View)bindable;
1155             if (newValue != null)
1156             {
1157                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DrawMode, new Tizen.NUI.PropertyValue((int)newValue));
1158             }
1159         }),
1160         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1161         {
1162             var view = (View)bindable;
1163             int temp;
1164             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DrawMode).Get(out temp) == false)
1165             {
1166                 NUILog.Error("DrawMode get error!");
1167             }
1168             return (DrawModeType)temp;
1169         }));
1170
1171         /// <summary>
1172         /// SizeModeFactorProperty
1173         /// </summary>
1174         [EditorBrowsable(EditorBrowsableState.Never)]
1175         public static readonly BindableProperty SizeModeFactorProperty = BindableProperty.Create(nameof(SizeModeFactor), typeof(Vector3), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1176         {
1177             var view = (View)bindable;
1178             if (newValue != null)
1179             {
1180                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeModeFactor, new Tizen.NUI.PropertyValue((Vector3)newValue));
1181             }
1182         }),
1183         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1184         {
1185             var view = (View)bindable;
1186             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
1187             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeModeFactor).Get(temp);
1188             return temp;
1189         }));
1190
1191         /// <summary>
1192         /// WidthResizePolicyProperty
1193         /// </summary>
1194         [EditorBrowsable(EditorBrowsableState.Never)]
1195         public static readonly BindableProperty WidthResizePolicyProperty = BindableProperty.Create(nameof(WidthResizePolicy), typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1196         {
1197             var view = (View)bindable;
1198             if (newValue != null)
1199             {
1200                 if ((ResizePolicyType)newValue == ResizePolicyType.KeepSizeFollowingParent)
1201                 {
1202                     if (view.widthConstraint == null)
1203                     {
1204                         view.widthConstraint = new EqualConstraintWithParentFloat((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeWidth, View.Property.SizeWidth);
1205                         view.widthConstraint.Apply();
1206                     }
1207                     Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthResizePolicy, new Tizen.NUI.PropertyValue((int)ResizePolicyType.FillToParent));
1208                 }
1209                 else
1210                 {
1211                     view.widthConstraint?.Remove();
1212                     view.widthConstraint?.Dispose();
1213                     view.widthConstraint = null;
1214                     Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthResizePolicy, new Tizen.NUI.PropertyValue((int)newValue));
1215                 }
1216                 // Match ResizePolicy to new Layouting.
1217                 // Parent relative policies can not be mapped at this point as parent size unknown.
1218                 switch ((ResizePolicyType)newValue)
1219                 {
1220                     case ResizePolicyType.UseNaturalSize:
1221                         {
1222                             view.WidthSpecification = LayoutParamPolicies.WrapContent;
1223                             break;
1224                         }
1225                     case ResizePolicyType.FillToParent:
1226                         {
1227                             view.WidthSpecification = LayoutParamPolicies.MatchParent;
1228                             break;
1229                         }
1230                     case ResizePolicyType.FitToChildren:
1231                         {
1232                             view.WidthSpecification = LayoutParamPolicies.WrapContent;
1233                             break;
1234                         }
1235                     default:
1236                         break;
1237                 }
1238             }
1239         }),
1240         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1241         {
1242             var view = (View)bindable;
1243             string temp;
1244             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthResizePolicy).Get(out temp) == false)
1245             {
1246                 NUILog.Error("WidthResizePolicy get error!");
1247             }
1248             return temp.GetValueByDescription<ResizePolicyType>();
1249         }));
1250
1251         /// <summary>
1252         /// HeightResizePolicyProperty
1253         /// </summary>
1254         [EditorBrowsable(EditorBrowsableState.Never)]
1255         public static readonly BindableProperty HeightResizePolicyProperty = BindableProperty.Create(nameof(HeightResizePolicy), typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1256         {
1257             var view = (View)bindable;
1258             if (newValue != null)
1259             {
1260                 if ((ResizePolicyType)newValue == ResizePolicyType.KeepSizeFollowingParent)
1261                 {
1262                     if (view.heightConstraint == null)
1263                     {
1264                         view.heightConstraint = new EqualConstraintWithParentFloat((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeHeight, View.Property.SizeHeight);
1265                         view.heightConstraint.Apply();
1266                     }
1267                     Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightResizePolicy, new Tizen.NUI.PropertyValue((int)ResizePolicyType.FillToParent));
1268                 }
1269                 else
1270                 {
1271                     view.heightConstraint?.Remove();
1272                     view.heightConstraint?.Dispose();
1273                     view.heightConstraint = null;
1274                     Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightResizePolicy, new Tizen.NUI.PropertyValue((int)newValue));
1275                 }
1276                 // Match ResizePolicy to new Layouting.
1277                 // Parent relative policies can not be mapped at this point as parent size unknown.
1278                 switch ((ResizePolicyType)newValue)
1279                 {
1280                     case ResizePolicyType.UseNaturalSize:
1281                         {
1282                             view.HeightSpecification = LayoutParamPolicies.WrapContent;
1283                             break;
1284                         }
1285                     case ResizePolicyType.FillToParent:
1286                         {
1287                             view.HeightSpecification = LayoutParamPolicies.MatchParent;
1288                             break;
1289                         }
1290                     case ResizePolicyType.FitToChildren:
1291                         {
1292                             view.HeightSpecification = LayoutParamPolicies.WrapContent;
1293                             break;
1294                         }
1295                     default:
1296                         break;
1297                 }
1298             }
1299         }),
1300         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1301         {
1302             var view = (View)bindable;
1303             string temp;
1304             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightResizePolicy).Get(out temp) == false)
1305             {
1306                 NUILog.Error("HeightResizePolicy get error!");
1307             }
1308             return temp.GetValueByDescription<ResizePolicyType>();
1309         }));
1310
1311         /// <summary>
1312         /// SizeScalePolicyProperty
1313         /// </summary>
1314         [EditorBrowsable(EditorBrowsableState.Never)]
1315         public static readonly BindableProperty SizeScalePolicyProperty = BindableProperty.Create(nameof(SizeScalePolicy), typeof(SizeScalePolicyType), typeof(View), SizeScalePolicyType.UseSizeSet, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1316         {
1317             var view = (View)bindable;
1318             string valueToString = "";
1319             if (newValue != null)
1320             {
1321                 valueToString = ((SizeScalePolicyType)newValue).GetDescription();
1322                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeScalePolicy, new Tizen.NUI.PropertyValue(valueToString));
1323             }
1324         }),
1325         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1326         {
1327             var view = (View)bindable;
1328             int temp;
1329             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeScalePolicy).Get(out temp) == false)
1330             {
1331                 NUILog.Error("SizeScalePolicy get error!");
1332             }
1333             return (SizeScalePolicyType)temp;
1334         }));
1335
1336         /// <summary>
1337         /// WidthForHeightProperty
1338         /// </summary>
1339         [EditorBrowsable(EditorBrowsableState.Never)]
1340         public static readonly BindableProperty WidthForHeightProperty = BindableProperty.Create(nameof(WidthForHeight), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1341         {
1342             var view = (View)bindable;
1343             if (newValue != null)
1344             {
1345                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthForHeight, new Tizen.NUI.PropertyValue((bool)newValue));
1346             }
1347         }),
1348         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1349         {
1350             var view = (View)bindable;
1351             bool temp = false;
1352             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthForHeight).Get(out temp);
1353             return temp;
1354         }));
1355
1356         /// <summary>
1357         /// HeightForWidthProperty
1358         /// </summary>
1359         [EditorBrowsable(EditorBrowsableState.Never)]
1360         public static readonly BindableProperty HeightForWidthProperty = BindableProperty.Create(nameof(HeightForWidth), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1361         {
1362             var view = (View)bindable;
1363             if (newValue != null)
1364             {
1365                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightForWidth, new Tizen.NUI.PropertyValue((bool)newValue));
1366             }
1367         }),
1368         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1369         {
1370             var view = (View)bindable;
1371             bool temp = false;
1372             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightForWidth).Get(out temp);
1373             return temp;
1374         }));
1375
1376         /// <summary>
1377         /// PaddingProperty
1378         /// </summary>
1379         [EditorBrowsable(EditorBrowsableState.Never)]
1380         public static readonly BindableProperty PaddingProperty = BindableProperty.Create(nameof(Padding), typeof(Extents), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1381         {
1382             var view = (View)bindable;
1383             if (newValue != null)
1384             {
1385                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PADDING, new Tizen.NUI.PropertyValue((Extents)newValue));
1386             }
1387         }),
1388         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1389         {
1390             var view = (View)bindable;
1391             Extents temp = new Extents(0, 0, 0, 0);
1392             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PADDING).Get(temp);
1393             return temp;
1394         }));
1395
1396         /// <summary>
1397         /// SizeProperty
1398         /// </summary>
1399         [EditorBrowsable(EditorBrowsableState.Never)]
1400         public static readonly BindableProperty SizeProperty = BindableProperty.Create(nameof(Size), typeof(Size), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1401         {
1402             var view = (View)bindable;
1403             if (newValue != null)
1404             {
1405                 Size size = (Size)newValue;
1406                 // Set Specification so when layouts measure this View it matches the value set here.
1407                 // All Views are currently Layouts.
1408                 view.WidthSpecification = (int)System.Math.Ceiling(size.Width);
1409                 view.HeightSpecification = (int)System.Math.Ceiling(size.Height);
1410                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue(size));
1411             }
1412         }),
1413         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1414         {
1415             var view = (View)bindable;
1416             Size temp = new Size(0, 0, 0);
1417             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SIZE).Get(temp);
1418             return temp;
1419         }));
1420
1421         /// <summary>
1422         /// MinimumSizeProperty
1423         /// </summary>
1424         [EditorBrowsable(EditorBrowsableState.Never)]
1425         public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create(nameof(MinimumSize), typeof(Size2D), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1426         {
1427             var view = (View)bindable;
1428             Size2D temp = newValue as Size2D;
1429             if (temp != null)
1430             {
1431                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MinimumSize, new Tizen.NUI.PropertyValue(temp));
1432             }
1433             else
1434             {
1435                 Tizen.Log.Fatal("NUI", $"[ERROR] can't set MinimumSizeProperty!");
1436             }
1437         }),
1438         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1439         {
1440             var view = (View)bindable;
1441             Size2D temp = new Size2D(0, 0);
1442             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MinimumSize).Get(temp);
1443             return temp;
1444         }));
1445
1446         /// <summary>
1447         /// MaximumSizeProperty
1448         /// </summary>
1449         [EditorBrowsable(EditorBrowsableState.Never)]
1450         public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create(nameof(MaximumSize), typeof(Size2D), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1451         {
1452             var view = (View)bindable;
1453             Size2D temp = newValue as Size2D;
1454             if (temp != null)
1455             {
1456                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MaximumSize, new Tizen.NUI.PropertyValue(temp));
1457             }
1458             else
1459             {
1460                 Tizen.Log.Fatal("NUI", $"[ERROR] can't set MaximumSizeProperty!");
1461             }
1462         }),
1463         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1464         {
1465             var view = (View)bindable;
1466             Size2D temp = new Size2D(0, 0);
1467             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MaximumSize).Get(temp);
1468             return temp;
1469         }));
1470
1471         /// <summary>
1472         /// InheritPositionProperty
1473         /// </summary>
1474         [EditorBrowsable(EditorBrowsableState.Never)]
1475         public static readonly BindableProperty InheritPositionProperty = BindableProperty.Create(nameof(InheritPosition), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1476         {
1477             var view = (View)bindable;
1478             if (newValue != null)
1479             {
1480                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritPosition, new Tizen.NUI.PropertyValue((bool)newValue));
1481             }
1482         }),
1483         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1484         {
1485             var view = (View)bindable;
1486             bool temp = false;
1487             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritPosition).Get(out temp);
1488             return temp;
1489         }));
1490
1491         /// <summary>
1492         /// ClippingModeProperty
1493         /// </summary>
1494         [EditorBrowsable(EditorBrowsableState.Never)]
1495         public static readonly BindableProperty ClippingModeProperty = BindableProperty.Create(nameof(ClippingMode), typeof(ClippingModeType), typeof(View), ClippingModeType.Disabled, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1496         {
1497             var view = (View)bindable;
1498             if (newValue != null)
1499             {
1500                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ClippingMode, new Tizen.NUI.PropertyValue((int)newValue));
1501             }
1502         }),
1503         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1504         {
1505             var view = (View)bindable;
1506             int temp = 0;
1507             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ClippingMode).Get(out temp) == false)
1508             {
1509                 NUILog.Error("ClippingMode get error!");
1510             }
1511             return (ClippingModeType)temp;
1512         }));
1513
1514         /// <summary>
1515         /// InheritLayoutDirectionProperty
1516         /// </summary>
1517         [EditorBrowsable(EditorBrowsableState.Never)]
1518         public static readonly BindableProperty InheritLayoutDirectionProperty = BindableProperty.Create(nameof(InheritLayoutDirection), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1519         {
1520             var view = (View)bindable;
1521             if (newValue != null)
1522             {
1523                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritLayoutDirection, new Tizen.NUI.PropertyValue((bool)newValue));
1524             }
1525         }),
1526         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1527         {
1528             var view = (View)bindable;
1529             bool temp = false;
1530             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritLayoutDirection).Get(out temp);
1531             return temp;
1532         }));
1533
1534         /// <summary>
1535         /// LayoutDirectionProperty
1536         /// </summary>
1537         [EditorBrowsable(EditorBrowsableState.Never)]
1538         public static readonly BindableProperty LayoutDirectionProperty = BindableProperty.Create(nameof(LayoutDirection), typeof(ViewLayoutDirectionType), typeof(View), ViewLayoutDirectionType.LTR, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1539         {
1540             var view = (View)bindable;
1541             if (newValue != null)
1542             {
1543                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LayoutDirection, new Tizen.NUI.PropertyValue((int)newValue));
1544             }
1545         }),
1546         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1547         {
1548             var view = (View)bindable;
1549             int temp;
1550             if (false == Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LayoutDirection).Get(out temp))
1551             {
1552                 NUILog.Error("LAYOUT_DIRECTION get error!");
1553             }
1554             return (ViewLayoutDirectionType)temp;
1555         }));
1556
1557         /// <summary>
1558         /// MarginProperty
1559         /// </summary>
1560         [EditorBrowsable(EditorBrowsableState.Never)]
1561         public static readonly BindableProperty MarginProperty = BindableProperty.Create(nameof(Margin), typeof(Extents), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1562         {
1563             var view = (View)bindable;
1564             if (newValue != null)
1565             {
1566                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MARGIN, new Tizen.NUI.PropertyValue((Extents)newValue));
1567             }
1568         }),
1569         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1570         {
1571             var view = (View)bindable;
1572             Extents temp = new Extents(0, 0, 0, 0);
1573             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.MARGIN).Get(temp);
1574             return temp;
1575         }));
1576
1577         /// <summary>
1578         /// UpdateSizeHintProperty
1579         /// </summary>
1580         [EditorBrowsable(EditorBrowsableState.Never)]
1581         public static readonly BindableProperty UpdateSizeHintProperty = BindableProperty.Create(nameof(UpdateSizeHint), typeof(Vector2), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1582         {
1583             var view = (View)bindable;
1584             if (newValue != null)
1585             {
1586                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, Interop.ViewProperty.UpdateSizeHintGet(), new Tizen.NUI.PropertyValue((Vector2)newValue));
1587             }
1588         }),
1589         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1590         {
1591             var view = (View)bindable;
1592
1593             Vector2 temp = new Vector2(0.0f, 0.0f);
1594             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, Interop.ViewProperty.UpdateSizeHintGet()).Get(temp);
1595             return temp;
1596         }));
1597
1598         /// <summary>
1599         /// ImageShadow Property
1600         /// </summary>
1601         [EditorBrowsable(EditorBrowsableState.Never)]
1602         public static readonly BindableProperty ImageShadowProperty = BindableProperty.Create(nameof(ImageShadow), typeof(ImageShadow), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1603         {
1604             var view = (View)bindable;
1605
1606             view.themeData?.selectorData?.ClearShadow(view);
1607
1608             if (newValue is Selector<ImageShadow> selector)
1609             {
1610                 if (selector.HasAll()) view.SetShadow(selector.All);
1611                 else view.EnsureSelectorData().ImageShadow = new TriggerableSelector<ImageShadow>(view, selector, view.SetShadow, true);
1612             }
1613             else
1614             {
1615                 view.SetShadow((ImageShadow)newValue);
1616             }
1617         }),
1618         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1619         {
1620             var view = (View)bindable;
1621
1622             PropertyMap map = new PropertyMap();
1623             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW).Get(map);
1624
1625             var shadow = new ImageShadow(map);
1626             return shadow.IsEmpty() ? null : shadow;
1627         }));
1628
1629         /// <summary>
1630         /// Shadow Property
1631         /// </summary>
1632         [EditorBrowsable(EditorBrowsableState.Never)]
1633         public static readonly BindableProperty BoxShadowProperty = BindableProperty.Create(nameof(BoxShadow), typeof(Shadow), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1634         {
1635             var view = (View)bindable;
1636
1637             view.themeData?.selectorData?.ClearShadow(view);
1638
1639             if (newValue is Selector<Shadow> selector)
1640             {
1641                 if (selector.HasAll()) view.SetShadow(selector.All);
1642                 else view.EnsureSelectorData().BoxShadow = new TriggerableSelector<Shadow>(view, selector, view.SetShadow, true);
1643             }
1644             else
1645             {
1646                 view.SetShadow((Shadow)newValue);
1647             }
1648         }),
1649         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1650         {
1651             var view = (View)bindable;
1652
1653             PropertyMap map = new PropertyMap();
1654             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW).Get(map);
1655
1656             var shadow = new Shadow(map);
1657             return shadow.IsEmpty() ? null : shadow;
1658         }));
1659
1660         /// <summary>
1661         /// CornerRadius Property
1662         /// </summary>
1663         [EditorBrowsable(EditorBrowsableState.Never)]
1664         public static readonly BindableProperty CornerRadiusProperty = BindableProperty.Create(nameof(CornerRadius), typeof(Vector4), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1665         {
1666             var view = (View)bindable;
1667             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).CornerRadius = (Vector4)newValue;
1668             view.ApplyCornerRadius();
1669         },
1670         defaultValueCreator: (bindable) =>
1671         {
1672             var view = (View)bindable;
1673             return view.backgroundExtraData == null ? 0.0f : view.backgroundExtraData.CornerRadius;
1674         });
1675
1676         /// <summary>
1677         /// CornerRadiusPolicy Property
1678         /// </summary>
1679         [EditorBrowsable(EditorBrowsableState.Never)]
1680         public static readonly BindableProperty CornerRadiusPolicyProperty = BindableProperty.Create(nameof(CornerRadiusPolicy), typeof(VisualTransformPolicyType), typeof(View), VisualTransformPolicyType.Absolute, propertyChanged: (bindable, oldValue, newValue) =>
1681         {
1682             var view = (View)bindable;
1683             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).CornerRadiusPolicy = (VisualTransformPolicyType)newValue;
1684
1685             if (view.backgroundExtraData.CornerRadius != null)
1686             {
1687                 view.ApplyCornerRadius();
1688             }
1689         },
1690         defaultValueCreator: (bindable) =>
1691         {
1692             var view = (View)bindable;
1693             return view.backgroundExtraData == null ? VisualTransformPolicyType.Absolute : view.backgroundExtraData.CornerRadiusPolicy;
1694         });
1695
1696         /// <summary>
1697         /// BorderlineWidth Property
1698         /// </summary>
1699         [EditorBrowsable(EditorBrowsableState.Never)]
1700         public static readonly BindableProperty BorderlineWidthProperty = BindableProperty.Create(nameof(BorderlineWidth), typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
1701         {
1702             var view = (View)bindable;
1703             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).BorderlineWidth = (float)newValue;
1704             view.ApplyBorderline();
1705         },
1706         defaultValueCreator: (bindable) =>
1707         {
1708             var view = (View)bindable;
1709             return view.backgroundExtraData == null ? 0.0f : view.backgroundExtraData.BorderlineWidth;
1710         });
1711
1712         /// <summary>
1713         /// BorderlineColor Property
1714         /// </summary>
1715         [EditorBrowsable(EditorBrowsableState.Never)]
1716         public static readonly BindableProperty BorderlineColorProperty = BindableProperty.Create(nameof(BorderlineColor), typeof(Color), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1717         {
1718             var view = (View)bindable;
1719             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).BorderlineColor = (Color)newValue;
1720             view.ApplyBorderline();
1721         },
1722         defaultValueCreator: (bindable) =>
1723         {
1724             var view = (View)bindable;
1725             return view.backgroundExtraData == null ? Color.Black : view.backgroundExtraData.BorderlineColor;
1726         });
1727
1728         /// <summary>
1729         /// BorderlineOffset Property
1730         /// </summary>
1731         [EditorBrowsable(EditorBrowsableState.Never)]
1732         public static readonly BindableProperty BorderlineOffsetProperty = BindableProperty.Create(nameof(BorderlineOffset), typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
1733         {
1734             var view = (View)bindable;
1735             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).BorderlineOffset = (float)newValue;
1736             view.ApplyBorderline();
1737         },
1738         defaultValueCreator: (bindable) =>
1739         {
1740             var view = (View)bindable;
1741             return view.backgroundExtraData == null ? 0.0f : view.backgroundExtraData.BorderlineOffset;
1742         });
1743
1744         /// <summary>
1745         /// XamlStyleProperty
1746         /// </summary>
1747         [EditorBrowsable(EditorBrowsableState.Never)]
1748         public static readonly BindableProperty XamlStyleProperty = BindableProperty.Create(nameof(XamlStyle), typeof(XamlStyle), typeof(View), default(XamlStyle), propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable).MergedStyle.Style = (XamlStyle)newvalue);
1749
1750         /// <summary>
1751         /// EnableControlState property
1752         /// </summary>
1753         [EditorBrowsable(EditorBrowsableState.Never)]
1754         public static readonly BindableProperty EnableControlStateProperty = BindableProperty.Create(nameof(EnableControlState), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1755         {
1756             var view = (View)bindable;
1757             bool prev = view.enableControlState;
1758             view.enableControlState = (bool)newValue;
1759
1760             if (prev != view.enableControlState)
1761             {
1762                 if (prev)
1763                 {
1764                     view.TouchEvent -= view.EmptyOnTouch;
1765                 }
1766                 else
1767                 {
1768                     view.TouchEvent += view.EmptyOnTouch;
1769                 }
1770             }
1771         },
1772         defaultValueCreator: (bindable) =>
1773         {
1774             return ((View)bindable).enableControlState;
1775         });
1776
1777         /// <summary>
1778         /// ThemeChangeSensitive property
1779         /// </summary>
1780         [EditorBrowsable(EditorBrowsableState.Never)]
1781         public static readonly BindableProperty ThemeChangeSensitiveProperty = BindableProperty.Create(nameof(ThemeChangeSensitive), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1782         {
1783             var view = (View)bindable;
1784
1785             if (view.ThemeChangeSensitive == (bool)newValue) return;
1786
1787             if (view.themeData == null) view.themeData = new ThemeData();
1788
1789             view.themeData.ThemeChangeSensitive = (bool)newValue;
1790
1791             if (!view.themeData.ThemeApplied) return;
1792
1793             if (view.themeData.ThemeChangeSensitive && !view.themeData.ListeningThemeChangeEvent)
1794             {
1795                 view.themeData.ListeningThemeChangeEvent = true;
1796                 ThemeManager.ThemeChangedInternal.Add(view.OnThemeChanged);
1797             }
1798             else if (!view.themeData.ThemeChangeSensitive && view.themeData.ListeningThemeChangeEvent)
1799             {
1800                 view.themeData.ListeningThemeChangeEvent = false;
1801                 ThemeManager.ThemeChangedInternal.Remove(view.OnThemeChanged);
1802             }
1803         },
1804         defaultValueCreator: (bindable) =>
1805         {
1806             return ((View)bindable).themeData?.ThemeChangeSensitive ?? ThemeManager.ApplicationThemeChangeSensitive;
1807         });
1808
1809         /// <summary>
1810         /// AccessibilityNameProperty
1811         /// </summary>
1812         [EditorBrowsable(EditorBrowsableState.Never)]
1813         public static readonly BindableProperty AccessibilityNameProperty = BindableProperty.Create(nameof(AccessibilityName), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
1814         {
1815             var view = (View)bindable;
1816             if (newValue != null)
1817             {
1818                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityName, new Tizen.NUI.PropertyValue((string)newValue));
1819             }
1820         },
1821         defaultValueCreator: (bindable) =>
1822         {
1823             var view = (View)bindable;
1824
1825             string temp;
1826             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityName).Get(out temp);
1827             return temp;
1828         });
1829
1830         /// <summary>
1831         /// AccessibilityDescriptionProperty
1832         /// </summary>
1833         [EditorBrowsable(EditorBrowsableState.Never)]
1834         public static readonly BindableProperty AccessibilityDescriptionProperty = BindableProperty.Create(nameof(AccessibilityDescription), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
1835         {
1836             var view = (View)bindable;
1837             if (newValue != null)
1838             {
1839                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityDescription, new Tizen.NUI.PropertyValue((string)newValue));
1840             }
1841         },
1842         defaultValueCreator: (bindable) =>
1843         {
1844             var view = (View)bindable;
1845
1846             string temp;
1847             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityDescription).Get(out temp);
1848             return temp;
1849         });
1850
1851         /// <summary>
1852         /// AccessibilityTranslationDomainProperty
1853         /// </summary>
1854         [EditorBrowsable(EditorBrowsableState.Never)]
1855         public static readonly BindableProperty AccessibilityTranslationDomainProperty = BindableProperty.Create(nameof(AccessibilityTranslationDomain), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
1856         {
1857             var view = (View)bindable;
1858             if (newValue != null)
1859             {
1860                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityTranslationDomain, new Tizen.NUI.PropertyValue((string)newValue));
1861             }
1862         },
1863         defaultValueCreator: (bindable) =>
1864         {
1865             var view = (View)bindable;
1866
1867             string temp;
1868             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityTranslationDomain).Get(out temp);
1869             return temp;
1870         });
1871
1872         /// <summary>
1873         /// AccessibilityRoleProperty
1874         /// </summary>
1875         [EditorBrowsable(EditorBrowsableState.Never)]
1876         public static readonly BindableProperty AccessibilityRoleProperty = BindableProperty.Create(nameof(AccessibilityRole), typeof(Role), typeof(View), default(Role), propertyChanged: (bindable, oldValue, newValue) =>
1877         {
1878             var view = (View)bindable;
1879             if (newValue != null)
1880             {
1881                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityRole, new Tizen.NUI.PropertyValue((int)newValue));
1882             }
1883         },
1884         defaultValueCreator: (bindable) =>
1885         {
1886             var view = (View)bindable;
1887
1888             int temp = 0;
1889             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityRole).Get(out temp);
1890             return (Role)temp;
1891         });
1892
1893         /// <summary>
1894         /// AccessibilityHighlightableProperty
1895         /// </summary>
1896         [EditorBrowsable(EditorBrowsableState.Never)]
1897         public static readonly BindableProperty AccessibilityHighlightableProperty = BindableProperty.Create(nameof(AccessibilityHighlightable), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1898         {
1899             var view = (View)bindable;
1900             if (newValue != null)
1901             {
1902                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityHighlightable, new Tizen.NUI.PropertyValue((bool)newValue));
1903             }
1904         },
1905         defaultValueCreator: (bindable) =>
1906         {
1907             var view = (View)bindable;
1908             bool temp = false;
1909             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityHighlightable).Get(out temp);
1910             return temp;
1911         });
1912
1913         /// <summary>
1914         /// ExcludeLayoutingProperty
1915         /// </summary>
1916         [EditorBrowsable(EditorBrowsableState.Never)]
1917         public static readonly BindableProperty ExcludeLayoutingProperty = BindableProperty.Create(nameof(ExcludeLayouting), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1918         {
1919             var instance = (Tizen.NUI.BaseComponents.View)bindable;
1920             if (newValue != null)
1921             {
1922                 instance.InternalExcludeLayouting = (bool)newValue;
1923             }
1924         },
1925         defaultValueCreator: (bindable) =>
1926         {
1927             var instance = (Tizen.NUI.BaseComponents.View)bindable;
1928             return instance.InternalExcludeLayouting;
1929         });
1930
1931         /// <summary>
1932         /// TooltipTextProperty
1933         /// </summary>
1934         [EditorBrowsable(EditorBrowsableState.Never)]
1935         public static readonly BindableProperty TooltipTextProperty = BindableProperty.Create(nameof(TooltipText), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
1936         {
1937             var instance = (Tizen.NUI.BaseComponents.View)bindable;
1938             if (newValue != null)
1939             {
1940                 instance.InternalTooltipText = (string)newValue;
1941             }
1942         },
1943         defaultValueCreator: (bindable) =>
1944         {
1945             var instance = (Tizen.NUI.BaseComponents.View)bindable;
1946             return instance.InternalTooltipText;
1947         });
1948
1949         /// <summary>
1950         /// PositionUsesAnchorPointProperty
1951         /// </summary>
1952         [EditorBrowsable(EditorBrowsableState.Never)]
1953         public static readonly BindableProperty PositionUsesAnchorPointProperty = BindableProperty.Create(nameof(PositionUsesAnchorPoint), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1954         {
1955             var instance = (Tizen.NUI.BaseComponents.View)bindable;
1956             if (newValue != null)
1957             {
1958                 instance.InternalPositionUsesAnchorPoint = (bool)newValue;
1959             }
1960         },
1961         defaultValueCreator: (bindable) =>
1962         {
1963             var instance = (Tizen.NUI.BaseComponents.View)bindable;
1964             return instance.InternalPositionUsesAnchorPoint;
1965         });
1966
1967         /// <summary>
1968         /// AnchorPointProperty
1969         /// </summary>
1970         [EditorBrowsable(EditorBrowsableState.Never)]
1971         public static readonly BindableProperty AnchorPointProperty = BindableProperty.Create(nameof(AnchorPoint), typeof(Tizen.NUI.Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1972         {
1973             var instance = (Tizen.NUI.BaseComponents.View)bindable;
1974             if (newValue != null)
1975             {
1976                 instance.InternalAnchorPoint = (Tizen.NUI.Position)newValue;
1977             }
1978         },
1979         defaultValueCreator: (bindable) =>
1980         {
1981             var instance = (Tizen.NUI.BaseComponents.View)bindable;
1982             return instance.InternalAnchorPoint;
1983         });
1984
1985         /// <summary>
1986         /// WidthSpecificationProperty
1987         /// </summary>
1988         [EditorBrowsable(EditorBrowsableState.Never)]
1989         public static readonly BindableProperty WidthSpecificationProperty = BindableProperty.Create(nameof(WidthSpecification), typeof(int), typeof(View), 0, propertyChanged: (bindable, oldValue, newValue) =>
1990         {
1991             var instance = (Tizen.NUI.BaseComponents.View)bindable;
1992             if (newValue != null)
1993             {
1994                 instance.InternalWidthSpecification = (int)newValue;
1995             }
1996         },
1997         defaultValueCreator: (bindable) =>
1998         {
1999             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2000             return instance.InternalWidthSpecification;
2001         });
2002
2003         /// <summary>
2004         /// HeightSpecificationProperty
2005         /// </summary>
2006         [EditorBrowsable(EditorBrowsableState.Never)]
2007         public static readonly BindableProperty HeightSpecificationProperty = BindableProperty.Create(nameof(HeightSpecification), typeof(int), typeof(View), 0, propertyChanged: (bindable, oldValue, newValue) =>
2008         {
2009             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2010             if (newValue != null)
2011             {
2012                 instance.InternalHeightSpecification = (int)newValue;
2013             }
2014         },
2015         defaultValueCreator: (bindable) =>
2016         {
2017             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2018             return instance.InternalHeightSpecification;
2019         });
2020
2021         /// <summary>
2022         /// LayoutTransitionProperty
2023         /// </summary>
2024         [EditorBrowsable(EditorBrowsableState.Never)]
2025         public static readonly BindableProperty LayoutTransitionProperty = BindableProperty.Create(nameof(LayoutTransition), typeof(Tizen.NUI.LayoutTransition), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
2026         {
2027             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2028             if (newValue != null)
2029             {
2030                 instance.InternalLayoutTransition = (Tizen.NUI.LayoutTransition)newValue;
2031             }
2032         },
2033         defaultValueCreator: (bindable) =>
2034         {
2035             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2036             return instance.InternalLayoutTransition;
2037         });
2038
2039         /// <summary>
2040         /// PaddingEXProperty
2041         /// </summary>
2042         [EditorBrowsable(EditorBrowsableState.Never)]
2043         public static readonly BindableProperty PaddingEXProperty = BindableProperty.Create(nameof(PaddingEX), typeof(Tizen.NUI.Extents), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
2044         {
2045             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2046             if (newValue != null)
2047             {
2048                 instance.InternalPaddingEX = (Tizen.NUI.Extents)newValue;
2049             }
2050         },
2051         defaultValueCreator: (bindable) =>
2052         {
2053             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2054             return instance.InternalPaddingEX;
2055         });
2056
2057         /// <summary>
2058         /// LayoutProperty
2059         /// </summary>
2060         [EditorBrowsable(EditorBrowsableState.Never)]
2061         public static readonly BindableProperty LayoutProperty = BindableProperty.Create(nameof(Layout), typeof(Tizen.NUI.LayoutItem), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
2062         {
2063             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2064             if (newValue != null)
2065             {
2066                 instance.InternalLayout = (Tizen.NUI.LayoutItem)newValue;
2067             }
2068         },
2069         defaultValueCreator: (bindable) =>
2070         {
2071             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2072             return instance.InternalLayout;
2073         });
2074
2075         /// <summary>
2076         /// BackgroundImageSynchronosLoadingProperty
2077         /// </summary>
2078         [EditorBrowsable(EditorBrowsableState.Never)]
2079         public static readonly BindableProperty BackgroundImageSynchronosLoadingProperty = BindableProperty.Create(nameof(BackgroundImageSynchronosLoading), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2080         {
2081             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2082             if (newValue != null)
2083             {
2084                 instance.InternalBackgroundImageSynchronosLoading = (bool)newValue;
2085             }
2086         },
2087         defaultValueCreator: (bindable) =>
2088         {
2089             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2090             return instance.InternalBackgroundImageSynchronosLoading;
2091         });
2092
2093         /// <summary>
2094         /// BackgroundImageSynchronousLoadingProperty
2095         /// </summary>
2096         [EditorBrowsable(EditorBrowsableState.Never)]
2097         public static readonly BindableProperty BackgroundImageSynchronousLoadingProperty = BindableProperty.Create(nameof(BackgroundImageSynchronousLoading), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2098         {
2099             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2100             if (newValue != null)
2101             {
2102                 instance.InternalBackgroundImageSynchronousLoading = (bool)newValue;
2103             }
2104         },
2105         defaultValueCreator: (bindable) =>
2106         {
2107             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2108             return instance.InternalBackgroundImageSynchronousLoading;
2109         });
2110
2111         /// <summary>
2112         /// EnableControlStatePropagationProperty
2113         /// </summary>
2114         [EditorBrowsable(EditorBrowsableState.Never)]
2115         public static readonly BindableProperty EnableControlStatePropagationProperty = BindableProperty.Create(nameof(EnableControlStatePropagation), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2116         {
2117             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2118             if (newValue != null)
2119             {
2120                 instance.InternalEnableControlStatePropagation = (bool)newValue;
2121             }
2122         },
2123         defaultValueCreator: (bindable) =>
2124         {
2125             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2126             return instance.InternalEnableControlStatePropagation;
2127         });
2128
2129         /// <summary>
2130         /// GrabTouchAfterLeaveProperty
2131         /// </summary>
2132         [EditorBrowsable(EditorBrowsableState.Never)]
2133         public static readonly BindableProperty GrabTouchAfterLeaveProperty = BindableProperty.Create(nameof(GrabTouchAfterLeave), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2134         {
2135             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2136             if (newValue != null)
2137             {
2138                 instance.InternalGrabTouchAfterLeave = (bool)newValue;
2139             }
2140         },
2141         defaultValueCreator: (bindable) =>
2142         {
2143             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2144             return instance.InternalGrabTouchAfterLeave;
2145         });
2146
2147         /// <summary>
2148         /// BlendEquationProperty
2149         /// </summary>
2150         [EditorBrowsable(EditorBrowsableState.Never)]
2151         public static readonly BindableProperty BlendEquationProperty = BindableProperty.Create(nameof(BlendEquation), typeof(BlendEquationType), typeof(View), default(BlendEquationType), propertyChanged: (bindable, oldValue, newValue) =>
2152         {
2153             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2154             if (newValue != null)
2155             {
2156                 instance.InternalBlendEquation = (Tizen.NUI.BlendEquationType)newValue;
2157             }
2158         },
2159         defaultValueCreator: (bindable) =>
2160         {
2161             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2162             return instance.InternalBlendEquation;
2163         });
2164
2165         /// <summary>
2166         /// TransitionOptionsProperty
2167         /// </summary>
2168         [EditorBrowsable(EditorBrowsableState.Never)]
2169         public static readonly BindableProperty TransitionOptionsProperty = BindableProperty.Create(nameof(TransitionOptions), typeof(TransitionOptions), typeof(View), default(TransitionOptions), propertyChanged: (bindable, oldValue, newValue) =>
2170         {
2171             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2172             if (newValue != null)
2173             {
2174                 instance.InternalTransitionOptions = (Tizen.NUI.TransitionOptions)newValue;
2175             }
2176         },
2177         defaultValueCreator: (bindable) =>
2178         {
2179             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2180             return instance.InternalTransitionOptions;
2181         });
2182
2183         /// <summary>
2184         /// AutomationIdProperty
2185         /// </summary>
2186         [EditorBrowsable(EditorBrowsableState.Never)]
2187         public static readonly BindableProperty AutomationIdProperty = BindableProperty.Create(nameof(AutomationId), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
2188         {
2189             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2190             if (newValue != null)
2191             {
2192                 instance.InternalAutomationId = (string)newValue;
2193             }
2194         },
2195         defaultValueCreator: (bindable) =>
2196         {
2197             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2198             return instance.InternalAutomationId;
2199         });
2200
2201         /// <summary>
2202         /// TouchAreaOffsetProperty
2203         /// </summary>
2204         [EditorBrowsable(EditorBrowsableState.Never)]
2205         public static readonly BindableProperty TouchAreaOffsetProperty = BindableProperty.Create(nameof(TouchAreaOffset), typeof(Offset), typeof(View), default(Offset), propertyChanged: (bindable, oldValue, newValue) =>
2206         {
2207             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2208             if (newValue != null)
2209             {
2210                 instance.InternalTouchAreaOffset = (Tizen.NUI.Offset)newValue;
2211             }
2212         },
2213         defaultValueCreator: (bindable) =>
2214         {
2215             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2216             return instance.InternalTouchAreaOffset;
2217         });
2218
2219         private void SetBackgroundImage(string value)
2220         {
2221             if (string.IsNullOrEmpty(value))
2222             {
2223                 // Clear background
2224                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, View.Property.BACKGROUND, new PropertyValue());
2225                 return;
2226             }
2227
2228             if (value.StartsWith("*Resource*"))
2229             {
2230                 string resource = Tizen.Applications.Application.Current.DirectoryInfo.Resource;
2231                 value = value.Replace("*Resource*", resource);
2232             }
2233
2234             if (backgroundExtraData == null)
2235             {
2236                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, View.Property.BACKGROUND, new PropertyValue(value));
2237                 BackgroundImageSynchronousLoading = backgroundImageSynchronousLoading;
2238
2239                 return;
2240             }
2241
2242             PropertyMap map = new PropertyMap();
2243
2244             map.Add(ImageVisualProperty.URL, new PropertyValue(value))
2245                .Add(Visual.Property.CornerRadius, new PropertyValue(backgroundExtraData.CornerRadius == null ? new PropertyValue() : new PropertyValue(backgroundExtraData.CornerRadius)))
2246                .Add(Visual.Property.CornerRadiusPolicy, new PropertyValue((int)(backgroundExtraData.CornerRadiusPolicy)))
2247                .Add(Visual.Property.BorderlineWidth, new PropertyValue(backgroundExtraData.BorderlineWidth))
2248                .Add(Visual.Property.BorderlineColor, new PropertyValue(backgroundExtraData.BorderlineColor == null ? new PropertyValue(Color.Black) : new PropertyValue(backgroundExtraData.BorderlineColor)))
2249                .Add(Visual.Property.BorderlineOffset, new PropertyValue(backgroundExtraData.BorderlineOffset))
2250                .Add(ImageVisualProperty.SynchronousLoading, new PropertyValue(backgroundImageSynchronousLoading));
2251
2252             if (backgroundExtraData.BackgroundImageBorder != null)
2253             {
2254                 map.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.NPatch))
2255                    .Add(NpatchImageVisualProperty.Border, new PropertyValue(backgroundExtraData.BackgroundImageBorder));
2256             }
2257             else
2258             {
2259                 map.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Image));
2260             }
2261
2262             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, View.Property.BACKGROUND, new PropertyValue(map));
2263         }
2264
2265         private void SetBackgroundImageBorder(Rectangle value)
2266         {
2267             bool isEmptyValue = Rectangle.IsNullOrZero(value);
2268
2269             var backgroundImageBorder = isEmptyValue ? null : value;
2270
2271             (backgroundExtraData ?? (backgroundExtraData = new BackgroundExtraData())).BackgroundImageBorder = backgroundImageBorder;
2272
2273             if (isEmptyValue)
2274             {
2275                 return;
2276             }
2277
2278             PropertyMap map = Background;
2279
2280             if (map.Empty())
2281             {
2282                 return;
2283             }
2284
2285             map[NpatchImageVisualProperty.Border] = new PropertyValue(backgroundImageBorder);
2286
2287             int visualType = 0;
2288
2289             map.Find(Visual.Property.Type)?.Get(out visualType);
2290
2291             if (visualType == (int)Visual.Type.Image)
2292             {
2293                 map[Visual.Property.Type] = new PropertyValue((int)Visual.Type.NPatch);
2294             }
2295
2296             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, View.Property.BACKGROUND, new PropertyValue(map));
2297         }
2298
2299         private void SetBackgroundColor(Color value)
2300         {
2301             if (value == null)
2302             {
2303                 return;
2304             }
2305
2306             if (backgroundExtraData == null)
2307             {
2308                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, View.Property.BACKGROUND, new PropertyValue(value));
2309                 return;
2310             }
2311
2312             PropertyMap map = new PropertyMap();
2313
2314             map.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Color))
2315                .Add(ColorVisualProperty.MixColor, new PropertyValue(value))
2316                .Add(Visual.Property.CornerRadius, new PropertyValue(new PropertyValue(backgroundExtraData.CornerRadius == null ? new PropertyValue() : new PropertyValue(backgroundExtraData.CornerRadius))))
2317                .Add(Visual.Property.CornerRadiusPolicy, new PropertyValue((int)(backgroundExtraData.CornerRadiusPolicy)))
2318                .Add(Visual.Property.BorderlineWidth, new PropertyValue(backgroundExtraData.BorderlineWidth))
2319                .Add(Visual.Property.BorderlineColor, new PropertyValue(backgroundExtraData.BorderlineColor == null ? new PropertyValue(Color.Black) : new PropertyValue(backgroundExtraData.BorderlineColor)))
2320                .Add(Visual.Property.BorderlineOffset, new PropertyValue(backgroundExtraData.BorderlineOffset));
2321
2322
2323             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, View.Property.BACKGROUND, new PropertyValue(map));
2324         }
2325
2326         private void SetColor(Color value)
2327         {
2328             if (value == null)
2329             {
2330                 return;
2331             }
2332
2333             Interop.ActorInternal.SetColor(SwigCPtr, value.SwigCPtr);
2334             if (NDalicPINVOKE.SWIGPendingException.Pending)
2335                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2336         }
2337
2338         private void SetOpacity(float? value)
2339         {
2340             if (value == null)
2341             {
2342                 return;
2343             }
2344
2345             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, View.Property.OPACITY, new Tizen.NUI.PropertyValue((float)value));
2346         }
2347
2348         private void SetShadow(ShadowBase value)
2349         {
2350             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, View.Property.SHADOW, value == null ? new PropertyValue() : value.ToPropertyValue(this));
2351         }
2352     }
2353 }