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