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