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