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