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