[NUI] Clean shadow related properties from Control and sample (#1297)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / ViewBindableProperty.cs
1 /*
2  * Copyright(c) 2019 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 using System.ComponentModel;
19 using Tizen.NUI.Binding;
20
21 namespace Tizen.NUI.BaseComponents
22 {
23     /// <summary>
24     /// View is the base class for all views.
25     /// </summary>
26     /// <since_tizen> 3 </since_tizen>
27     public partial class View
28     {
29         /// <summary>
30         /// StyleNameProperty
31         /// </summary>
32         [EditorBrowsable(EditorBrowsableState.Never)]
33         public static readonly BindableProperty StyleNameProperty = BindableProperty.Create("StyleName", typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
34         {
35             var view = (View)bindable;
36             if (newValue != null)
37             {
38                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.STYLE_NAME, new Tizen.NUI.PropertyValue((string)newValue));
39             }
40         },
41         defaultValueCreator: (bindable) =>
42         {
43             var view = (View)bindable;
44             string temp;
45             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.STYLE_NAME).Get(out temp);
46             return temp;
47         });
48
49         /// <summary>
50         /// BackgroundColorProperty
51         /// </summary>
52         [EditorBrowsable(EditorBrowsableState.Never)]
53         public static readonly BindableProperty BackgroundColorProperty = BindableProperty.Create("BackgroundColor", typeof(Color), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
54         {
55             var view = (View)bindable;
56             if (newValue != null)
57             {
58                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((Color)newValue));
59             }
60         },
61         defaultValueCreator: (bindable) =>
62         {
63             var view = (View)bindable;
64             Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
65
66             Tizen.NUI.PropertyMap background = view.Background;
67             int visualType = 0;
68             background.Find(Visual.Property.Type)?.Get(out visualType);
69             if (visualType == (int)Visual.Type.Color)
70             {
71                 background.Find(ColorVisualProperty.MixColor)?.Get(backgroundColor);
72             }
73
74             return backgroundColor;
75         });
76
77         /// <summary> BackgroundImageProperty </summary>
78         [EditorBrowsable(EditorBrowsableState.Never)]
79         public static readonly BindableProperty BackgroundImageProperty = BindableProperty.Create("BackgroundImage", typeof(string), typeof(View), default(string), propertyChanged: (bindable, oldValue, newValue) =>
80         {
81             var view = (View)bindable;
82             if (newValue != null)
83             {
84                 string url = (string)newValue;
85
86                 if (Rectangle.IsNullOrZero(view.backgroundImageBorder))
87                 {
88                     Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new PropertyValue(url));
89                 }
90                 else
91                 {
92                     var visual = new NPatchVisual();
93                     visual.URL = url;
94                     visual.Border = view.backgroundImageBorder;
95                     Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new PropertyValue(visual.OutputVisualMap));
96                 }
97
98                 view.BackgroundImageSynchronosLoading = view._backgroundImageSynchronosLoading;
99             }
100         },
101         defaultValueCreator: (bindable) =>
102         {
103             var view = (View)bindable;
104             string backgroundImage = "";
105
106             Tizen.NUI.PropertyMap background = view.Background;
107             int visualType = 0;
108             background.Find(Visual.Property.Type)?.Get(out visualType);
109             if ((visualType == (int)Visual.Type.Image) || (visualType == (int)Visual.Type.NPatch))
110             {
111                 background.Find(ImageVisualProperty.URL)?.Get(out backgroundImage);
112             }
113
114             return backgroundImage;
115         });
116         /// <summary>BackgroundImageBorderProperty</summary>
117         [EditorBrowsable(EditorBrowsableState.Never)]
118         public static readonly BindableProperty BackgroundImageBorderProperty = BindableProperty.Create(nameof(BackgroundImageBorder), typeof(Rectangle), typeof(View), default(Rectangle), propertyChanged: (bindable, oldValue, newValue) =>
119         {
120             var view = (View)bindable;
121             string url = view.BackgroundImage;
122             view.backgroundImageBorder = (Rectangle)newValue;
123
124             if (string.IsNullOrEmpty(url))
125             {
126                 return;
127             }
128
129             if (Rectangle.IsNullOrZero(view.backgroundImageBorder))
130             {
131                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new PropertyValue(url));
132             }
133             else
134             {
135                 var visual = new NPatchVisual();
136                 visual.URL = url;
137                 visual.Border = view.backgroundImageBorder;
138                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new PropertyValue(visual.OutputVisualMap));
139             }
140         },
141         defaultValueCreator: (bindable) =>
142         {
143             var view = (View)bindable;
144             return view.backgroundImageBorder == null ? new Rectangle(view.OnBackgroundImageBorderChanged) : new Rectangle(view.OnBackgroundImageBorderChanged, view.backgroundImageBorder);
145         });
146         /// <summary>
147         /// BackgroundProperty
148         /// </summary>
149         [EditorBrowsable(EditorBrowsableState.Never)]
150         public static readonly BindableProperty BackgroundProperty = BindableProperty.Create("Background", typeof(PropertyMap), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
151         {
152             var view = (View)bindable;
153             if (newValue != null)
154             {
155                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
156             }
157         },
158         defaultValueCreator: (bindable) =>
159         {
160             var view = (View)bindable;
161             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
162             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.BACKGROUND).Get(temp);
163             return temp;
164         });
165
166         /// <summary>
167         /// StateProperty
168         /// </summary>
169         [EditorBrowsable(EditorBrowsableState.Never)]
170         public static readonly BindableProperty StateProperty = BindableProperty.Create("State", typeof(States), typeof(View), States.Normal, propertyChanged: (bindable, oldValue, newValue) =>
171         {
172             var view = (View)bindable;
173             if (newValue != null)
174             {
175                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.STATE, new Tizen.NUI.PropertyValue((int)newValue));
176             }
177         },
178         defaultValueCreator: (bindable) =>
179         {
180             var view = (View)bindable;
181             int temp = 0;
182             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.STATE).Get(out temp) == false)
183             {
184                 NUILog.Error("State get error!");
185             }
186             switch (temp)
187             {
188                 case 0: return States.Normal;
189                 case 1: return States.Focused;
190                 case 2: return States.Disabled;
191                 default: return States.Normal;
192             }
193         });
194
195         /// <summary>
196         /// SubStateProperty
197         /// </summary>
198         [EditorBrowsable(EditorBrowsableState.Never)]
199         public static readonly BindableProperty SubStateProperty = BindableProperty.Create("SubState", typeof(States), typeof(View), States.Normal, propertyChanged: (bindable, oldValue, newValue) =>
200         {
201             var view = (View)bindable;
202             string valueToString = "";
203             if (newValue != null)
204             {
205                 valueToString = ((States)newValue).GetDescription<States>();
206                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SUB_STATE, new Tizen.NUI.PropertyValue(valueToString));
207             }
208         },
209         defaultValueCreator: (bindable) =>
210         {
211             var view = (View)bindable;
212             string temp;
213             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SUB_STATE).Get(out temp) == false)
214             {
215                 NUILog.Error("subState get error!");
216             }
217             return temp.GetValueByDescription<States>();
218         });
219
220         /// <summary>
221         /// TooltipProperty
222         /// </summary>
223         [EditorBrowsable(EditorBrowsableState.Never)]
224         public static readonly BindableProperty TooltipProperty = BindableProperty.Create("Tooltip", typeof(PropertyMap), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
225         {
226             var view = (View)bindable;
227             if (newValue != null)
228             {
229                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.TOOLTIP, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
230             }
231         },
232         defaultValueCreator: (bindable) =>
233         {
234             var view = (View)bindable;
235             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
236             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.TOOLTIP).Get(temp);
237             return temp;
238         });
239
240         /// <summary>
241         /// FlexProperty
242         /// </summary>
243         [EditorBrowsable(EditorBrowsableState.Never)]
244         public static readonly BindableProperty FlexProperty = BindableProperty.Create("Flex", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
245         {
246             var view = (View)bindable;
247             if (newValue != null)
248             {
249                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue((float)newValue));
250             }
251         },
252         defaultValueCreator: (bindable) =>
253         {
254             var view = (View)bindable;
255             float temp = 0.0f;
256             Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX).Get(out temp);
257             return temp;
258         });
259
260         /// <summary>
261         /// AlignSelfProperty
262         /// </summary>
263         [EditorBrowsable(EditorBrowsableState.Never)]
264         public static readonly BindableProperty AlignSelfProperty = BindableProperty.Create("AlignSelf", typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
265         {
266             var view = (View)bindable;
267             if (newValue != null)
268             {
269                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.ALIGN_SELF, new Tizen.NUI.PropertyValue((int)newValue));
270             }
271         },
272         defaultValueCreator: (bindable) =>
273         {
274             var view = (View)bindable;
275             int temp = 0;
276             Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.ALIGN_SELF).Get(out temp);
277             return temp;
278         });
279
280         /// <summary>
281         /// FlexMarginProperty
282         /// </summary>
283         [EditorBrowsable(EditorBrowsableState.Never)]
284         public static readonly BindableProperty FlexMarginProperty = BindableProperty.Create("FlexMargin", typeof(Vector4), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
285         {
286             var view = (View)bindable;
287             if (newValue != null)
288             {
289                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX_MARGIN, new Tizen.NUI.PropertyValue((Vector4)newValue));
290             }
291         },
292         defaultValueCreator: (bindable) =>
293         {
294             var view = (View)bindable;
295             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
296             Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX_MARGIN).Get(temp);
297             return temp;
298         });
299
300         /// <summary>
301         /// CellIndexProperty
302         /// </summary>
303         [EditorBrowsable(EditorBrowsableState.Never)]
304         public static readonly BindableProperty CellIndexProperty = BindableProperty.Create("CellIndex", typeof(Vector2), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
305         {
306             var view = (View)bindable;
307             if (newValue != null)
308             {
309                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_INDEX, new Tizen.NUI.PropertyValue((Vector2)newValue));
310             }
311         },
312         defaultValueCreator: (bindable) =>
313         {
314             var view = (View)bindable;
315             Vector2 temp = new Vector2(0.0f, 0.0f);
316             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_INDEX).Get(temp);
317             return temp;
318         });
319
320         /// <summary>
321         /// RowSpanProperty
322         /// </summary>
323         [EditorBrowsable(EditorBrowsableState.Never)]
324         public static readonly BindableProperty RowSpanProperty = BindableProperty.Create("RowSpan", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
325         {
326             var view = (View)bindable;
327             if (newValue != null)
328             {
329                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.ROW_SPAN, new Tizen.NUI.PropertyValue((float)newValue));
330             }
331         },
332         defaultValueCreator: (bindable) =>
333         {
334             var view = (View)bindable;
335             float temp = 0.0f;
336             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.ROW_SPAN).Get(out temp);
337             return temp;
338         });
339
340         /// <summary>
341         /// ColumnSpanProperty
342         /// </summary>
343         [EditorBrowsable(EditorBrowsableState.Never)]
344         public static readonly BindableProperty ColumnSpanProperty = BindableProperty.Create("ColumnSpan", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
345         {
346             var view = (View)bindable;
347             if (newValue != null)
348             {
349                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.COLUMN_SPAN, new Tizen.NUI.PropertyValue((float)newValue));
350             }
351         },
352         defaultValueCreator: (bindable) =>
353         {
354             var view = (View)bindable;
355             float temp = 0.0f;
356             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.COLUMN_SPAN).Get(out temp);
357             return temp;
358         });
359
360         /// <summary>
361         /// CellHorizontalAlignmentProperty
362         /// </summary>
363         [EditorBrowsable(EditorBrowsableState.Never)]
364         public static readonly BindableProperty CellHorizontalAlignmentProperty = BindableProperty.Create("CellHorizontalAlignment", typeof(HorizontalAlignmentType), typeof(View), HorizontalAlignmentType.Left, propertyChanged: (bindable, oldValue, newValue) =>
365         {
366             var view = (View)bindable;
367             string valueToString = "";
368
369             if (newValue != null)
370             {
371                 valueToString = ((HorizontalAlignmentType)newValue).GetDescription<HorizontalAlignmentType>();
372                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
373             }
374         },
375         defaultValueCreator: (bindable) =>
376         {
377             var view = (View)bindable;
378             string temp;
379             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT).Get(out temp) == false)
380             {
381                 NUILog.Error("CellHorizontalAlignment get error!");
382             }
383
384             return temp.GetValueByDescription<HorizontalAlignmentType>();
385         });
386
387         /// <summary>
388         /// CellVerticalAlignmentProperty
389         /// </summary>
390         [EditorBrowsable(EditorBrowsableState.Never)]
391         public static readonly BindableProperty CellVerticalAlignmentProperty = BindableProperty.Create("CellVerticalAlignment", typeof(VerticalAlignmentType), typeof(View), VerticalAlignmentType.Top, propertyChanged: (bindable, oldValue, newValue) =>
392         {
393             var view = (View)bindable;
394             string valueToString = "";
395
396             if (newValue != null)
397             {
398                 valueToString = ((VerticalAlignmentType)newValue).GetDescription<VerticalAlignmentType>();
399                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
400             }
401         },
402         defaultValueCreator: (bindable) =>
403         {
404             var view = (View)bindable;
405             string temp;
406             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT).Get(out temp);
407             {
408                 NUILog.Error("CellVerticalAlignment get error!");
409             }
410
411             return temp.GetValueByDescription<VerticalAlignmentType>();
412         });
413
414         /// <summary>
415         /// "Please DO NOT use! This will be deprecated! Please use 'View Weight' instead of BindableProperty"
416         /// This needs to be hidden as inhouse API until all applications using it have been updated.  Do not make public.
417         /// </summary>
418         [EditorBrowsable(EditorBrowsableState.Never)]
419         public static readonly BindableProperty WeightProperty = BindableProperty.Create("Weight", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
420         {
421             var view = (View)bindable;
422             if (newValue != null)
423             {
424                 view.Weight = (float)newValue;
425             }
426         },
427
428         defaultValueCreator: (bindable) =>
429         {
430             var view = (View)bindable;
431             return view.Weight;
432         });
433
434         /// <summary>
435         /// LeftFocusableViewProperty
436         /// </summary>
437         [EditorBrowsable(EditorBrowsableState.Never)]
438         public static readonly BindableProperty LeftFocusableViewProperty = BindableProperty.Create(nameof(View.LeftFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
439         {
440             var view = (View)bindable;
441             if (newValue != null) { view.LeftFocusableViewId = (int)(newValue as View)?.GetId(); }
442             else { view.LeftFocusableViewId = -1; }
443         },
444         defaultValueCreator: (bindable) =>
445         {
446             var view = (View)bindable;
447             if (view.LeftFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.LeftFocusableViewId); }
448             return null;
449         });
450
451         /// <summary>
452         /// RightFocusableViewProperty
453         /// </summary>
454         [EditorBrowsable(EditorBrowsableState.Never)]
455         public static readonly BindableProperty RightFocusableViewProperty = BindableProperty.Create(nameof(View.RightFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
456         {
457             var view = (View)bindable;
458             if (newValue != null) { view.RightFocusableViewId = (int)(newValue as View)?.GetId(); }
459             else { view.RightFocusableViewId = -1; }
460         },
461         defaultValueCreator: (bindable) =>
462         {
463             var view = (View)bindable;
464             if (view.RightFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.RightFocusableViewId); }
465             return null;
466         });
467
468         /// <summary>
469         /// UpFocusableViewProperty
470         /// </summary>
471         [EditorBrowsable(EditorBrowsableState.Never)]
472         public static readonly BindableProperty UpFocusableViewProperty = BindableProperty.Create(nameof(View.UpFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
473         {
474             var view = (View)bindable;
475             if (newValue != null) { view.UpFocusableViewId = (int)(newValue as View)?.GetId(); }
476             else { view.UpFocusableViewId = -1; }
477         },
478         defaultValueCreator: (bindable) =>
479         {
480             var view = (View)bindable;
481             if (view.UpFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.UpFocusableViewId); }
482             return null;
483         });
484
485         /// <summary>
486         /// DownFocusableViewProperty
487         /// </summary>
488         [EditorBrowsable(EditorBrowsableState.Never)]
489         public static readonly BindableProperty DownFocusableViewProperty = BindableProperty.Create(nameof(View.DownFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
490         {
491             var view = (View)bindable;
492             if (newValue != null) { view.DownFocusableViewId = (int)(newValue as View)?.GetId(); }
493             else { view.DownFocusableViewId = -1; }
494         },
495         defaultValueCreator: (bindable) =>
496         {
497             var view = (View)bindable;
498             if (view.DownFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.DownFocusableViewId); }
499             return null;
500         });
501
502         /// <summary>
503         /// FocusableProperty
504         /// </summary>
505         [EditorBrowsable(EditorBrowsableState.Never)]
506         public static readonly BindableProperty FocusableProperty = BindableProperty.Create("Focusable", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
507         {
508             var view = (View)bindable;
509             if (newValue != null) { view.SetKeyboardFocusable((bool)newValue); }
510         },
511         defaultValueCreator: (bindable) =>
512         {
513             var view = (View)bindable;
514             return view.IsKeyboardFocusable();
515         });
516
517         /// <summary>
518         /// Size2DProperty
519         /// </summary>
520         [EditorBrowsable(EditorBrowsableState.Never)]
521         public static readonly BindableProperty Size2DProperty = BindableProperty.Create("Size2D", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
522         {
523             var view = (View)bindable;
524             if (newValue != null)
525             {
526                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue(new Size((Size2D)newValue)));
527             }
528         },
529         defaultValueCreator: (bindable) =>
530         {
531             var view = (View)bindable;
532             Size temp = new Size(0.0f, 0.0f, 0.0f);
533             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE).Get(temp);
534             Size2D size = new Size2D((int)temp.Width, (int)temp.Height);
535             return size;
536         });
537
538         /// <summary>
539         /// OpacityProperty
540         /// </summary>
541         [EditorBrowsable(EditorBrowsableState.Never)]
542         public static readonly BindableProperty OpacityProperty = BindableProperty.Create("Opacity", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
543         {
544             var view = (View)bindable;
545             if (newValue != null)
546             {
547                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.OPACITY, new Tizen.NUI.PropertyValue((float)newValue));
548             }
549         },
550         defaultValueCreator: (bindable) =>
551         {
552             var view = (View)bindable;
553             float temp = 0.0f;
554             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.OPACITY).Get(out temp);
555             return temp;
556         });
557
558         /// <summary>
559         /// Position2DProperty
560         /// </summary>
561         [EditorBrowsable(EditorBrowsableState.Never)]
562         public static readonly BindableProperty Position2DProperty = BindableProperty.Create("Position2D", typeof(Position2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
563         {
564             var view = (View)bindable;
565             if (newValue != null)
566             {
567                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position((Position2D)newValue)));
568             }
569         },
570         defaultValueCreator: (bindable) =>
571         {
572             var view = (View)bindable;
573             Position temp = new Position(0.0f, 0.0f, 0.0f);
574             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION).Get(temp);
575             return new Position2D(temp);
576         });
577
578         /// <summary>
579         /// PositionUsesPivotPointProperty
580         /// </summary>
581         [EditorBrowsable(EditorBrowsableState.Never)]
582         public static readonly BindableProperty PositionUsesPivotPointProperty = BindableProperty.Create("PositionUsesPivotPoint", typeof(bool), typeof(View), true, propertyChanged: (bindable, oldValue, newValue) =>
583         {
584             var view = (View)bindable;
585             if (newValue != null)
586             {
587                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue((bool)newValue));
588             }
589         },
590         defaultValueCreator: (bindable) =>
591         {
592             var view = (View)bindable;
593             bool temp = false;
594             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_USES_ANCHOR_POINT).Get(out temp);
595             return temp;
596         });
597
598         /// <summary>
599         /// SiblingOrderProperty
600         /// </summary>
601         [EditorBrowsable(EditorBrowsableState.Never)]
602         public static readonly BindableProperty SiblingOrderProperty = BindableProperty.Create("SiblingOrder", typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
603         {
604             var view = (View)bindable;
605             int value;
606             if (newValue != null)
607             {
608                 value = (int)newValue;
609                 if (value < 0)
610                 {
611                     NUILog.Error("SiblingOrder should be bigger than 0 or equal to 0.");
612                     return;
613                 }
614                 var siblings = view.GetParent()?.Children;
615                 if (siblings != null)
616                 {
617                     int currentOrder = siblings.IndexOf(view);
618                     if (value != currentOrder)
619                     {
620                         if (value == 0) { view.LowerToBottom(); }
621                         else if (value < siblings.Count - 1)
622                         {
623                             if (value > currentOrder) { view.RaiseAbove(siblings[value]); }
624                             else { view.LowerBelow(siblings[value]); }
625                         }
626                         else { view.RaiseToTop(); }
627                     }
628                 }
629             }
630         },
631         defaultValueCreator: (bindable) =>
632         {
633             var view = (View)bindable;
634             var parentChildren = view.GetParent()?.Children;
635             int currentOrder = 0;
636             if (parentChildren != null)
637             {
638                 currentOrder = parentChildren.IndexOf(view);
639
640                 if (currentOrder < 0) { return 0; }
641                 else if (currentOrder < parentChildren.Count) { return currentOrder; }
642             }
643
644             return 0;
645         });
646
647         /// <summary>
648         /// ParentOriginProperty
649         /// </summary>
650         [EditorBrowsable(EditorBrowsableState.Never)]
651         public static readonly BindableProperty ParentOriginProperty = BindableProperty.Create("ParentOrigin", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
652         {
653             var view = (View)bindable;
654             if (newValue != null)
655             {
656                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.PARENT_ORIGIN, new Tizen.NUI.PropertyValue((Position)newValue));
657             }
658         },
659         defaultValueCreator: (bindable) =>
660         {
661             var view = (View)bindable;
662             Position temp = new Position(0.0f, 0.0f, 0.0f);
663             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.PARENT_ORIGIN).Get(temp);
664             return temp;
665         }
666         );
667
668         /// <summary>
669         /// PivotPointProperty
670         /// </summary>
671         [EditorBrowsable(EditorBrowsableState.Never)]
672         public static readonly BindableProperty PivotPointProperty = BindableProperty.Create("PivotPoint", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
673         {
674             var view = (View)bindable;
675             if (newValue != null)
676             {
677                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue((Position)newValue));
678             }
679         },
680         defaultValueCreator: (bindable) =>
681         {
682             var view = (View)bindable;
683             Position temp = new Position(0.0f, 0.0f, 0.0f);
684             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.ANCHOR_POINT).Get(temp);
685             return temp;
686         });
687
688         /// <summary>
689         /// SizeWidthProperty
690         /// </summary>
691         [EditorBrowsable(EditorBrowsableState.Never)]
692         public static readonly BindableProperty SizeWidthProperty = BindableProperty.Create("SizeWidth", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
693         {
694             var view = (View)bindable;
695             if (newValue != null)
696             {
697                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_WIDTH, new Tizen.NUI.PropertyValue((float)newValue));
698             }
699         },
700         defaultValueCreator: (bindable) =>
701         {
702             var view = (View)bindable;
703             float temp = 0.0f;
704             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_WIDTH).Get(out temp);
705             return temp;
706         });
707
708         /// <summary>
709         /// SizeHeightProperty
710         /// </summary>
711         [EditorBrowsable(EditorBrowsableState.Never)]
712         public static readonly BindableProperty SizeHeightProperty = BindableProperty.Create("SizeHeight", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
713         {
714             var view = (View)bindable;
715             if (newValue != null)
716             {
717                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_HEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
718             }
719         },
720         defaultValueCreator: (bindable) =>
721         {
722             var view = (View)bindable;
723             float temp = 0.0f;
724             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_HEIGHT).Get(out temp);
725             return temp;
726         });
727
728         /// <summary>
729         /// PositionProperty
730         /// </summary>
731         [EditorBrowsable(EditorBrowsableState.Never)]
732         public static readonly BindableProperty PositionProperty = BindableProperty.Create("Position", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
733         {
734             var view = (View)bindable;
735             if (newValue != null)
736             {
737                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue((Position)newValue));
738             }
739         },
740         defaultValueCreator: (bindable) =>
741         {
742             var view = (View)bindable;
743             Position temp = new Position(0.0f, 0.0f, 0.0f);
744             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION).Get(temp);
745             return temp;
746         });
747
748         /// <summary>
749         /// PositionXProperty
750         /// </summary>
751         [EditorBrowsable(EditorBrowsableState.Never)]
752         public static readonly BindableProperty PositionXProperty = BindableProperty.Create("PositionX", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
753         {
754             var view = (View)bindable;
755             if (newValue != null)
756             {
757                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_X, new Tizen.NUI.PropertyValue((float)newValue));
758             }
759         },
760         defaultValueCreator: (bindable) =>
761         {
762             var view = (View)bindable;
763             float temp = 0.0f;
764             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_X).Get(out temp);
765             return temp;
766         });
767
768         /// <summary>
769         /// PositionYProperty
770         /// </summary>
771         [EditorBrowsable(EditorBrowsableState.Never)]
772         public static readonly BindableProperty PositionYProperty = BindableProperty.Create("PositionY", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
773         {
774             var view = (View)bindable;
775             if (newValue != null)
776             {
777                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_Y, new Tizen.NUI.PropertyValue((float)newValue));
778             }
779         },
780         defaultValueCreator: (bindable) =>
781         {
782             var view = (View)bindable;
783             float temp = 0.0f;
784             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_Y).Get(out temp);
785             return temp;
786         });
787
788         /// <summary>
789         /// PositionZProperty
790         /// </summary>
791         [EditorBrowsable(EditorBrowsableState.Never)]
792         public static readonly BindableProperty PositionZProperty = BindableProperty.Create("PositionZ", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
793         {
794             var view = (View)bindable;
795             if (newValue != null)
796             {
797                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_Z, new Tizen.NUI.PropertyValue((float)newValue));
798             }
799         },
800         defaultValueCreator: (bindable) =>
801         {
802             var view = (View)bindable;
803             float temp = 0.0f;
804             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_Z).Get(out temp);
805             return temp;
806         });
807
808         /// <summary>
809         /// OrientationProperty
810         /// </summary>
811         [EditorBrowsable(EditorBrowsableState.Never)]
812         public static readonly BindableProperty OrientationProperty = BindableProperty.Create("Orientation", typeof(Rotation), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
813         {
814             var view = (View)bindable;
815             if (newValue != null)
816             {
817                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.ORIENTATION, new Tizen.NUI.PropertyValue((Rotation)newValue));
818             }
819         },
820         defaultValueCreator: (bindable) =>
821         {
822             var view = (View)bindable;
823             Rotation temp = new Rotation();
824             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.ORIENTATION).Get(temp);
825             return temp;
826         });
827
828         /// <summary>
829         /// ScaleProperty
830         /// </summary>
831         [EditorBrowsable(EditorBrowsableState.Never)]
832         public static readonly BindableProperty ScaleProperty = BindableProperty.Create("Scale", typeof(Vector3), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
833         {
834             var view = (View)bindable;
835             if (newValue != null)
836             {
837                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE, new Tizen.NUI.PropertyValue((Vector3)newValue));
838             }
839         },
840         defaultValueCreator: (bindable) =>
841         {
842             var view = (View)bindable;
843             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
844             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE).Get(temp);
845             return temp;
846         });
847
848         /// <summary>
849         /// ScaleXProperty
850         /// </summary>
851         [EditorBrowsable(EditorBrowsableState.Never)]
852         public static readonly BindableProperty ScaleXProperty = BindableProperty.Create("ScaleX", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
853         {
854             var view = (View)bindable;
855             if (newValue != null)
856             {
857                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_X, new Tizen.NUI.PropertyValue((float)newValue));
858             }
859         },
860         defaultValueCreator: (bindable) =>
861         {
862             var view = (View)bindable;
863             float temp = 0.0f;
864             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_X).Get(out temp);
865             return temp;
866         });
867
868         /// <summary>
869         /// ScaleYProperty
870         /// </summary>
871         [EditorBrowsable(EditorBrowsableState.Never)]
872         public static readonly BindableProperty ScaleYProperty = BindableProperty.Create("ScaleY", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
873         {
874             var view = (View)bindable;
875             if (newValue != null)
876             {
877                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_Y, new Tizen.NUI.PropertyValue((float)newValue));
878             }
879         },
880         defaultValueCreator: (bindable) =>
881         {
882             var view = (View)bindable;
883             float temp = 0.0f;
884             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_Y).Get(out temp);
885             return temp;
886         });
887
888         /// <summary>
889         /// ScaleZProperty
890         /// </summary>
891         [EditorBrowsable(EditorBrowsableState.Never)]
892         public static readonly BindableProperty ScaleZProperty = BindableProperty.Create("ScaleZ", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
893         {
894             var view = (View)bindable;
895             if (newValue != null)
896             {
897                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_Z, new Tizen.NUI.PropertyValue((float)newValue));
898             }
899         },
900         defaultValueCreator: (bindable) =>
901         {
902             var view = (View)bindable;
903             float temp = 0.0f;
904             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_Z).Get(out temp);
905             return temp;
906         });
907
908         /// <summary>
909         /// NameProperty
910         /// </summary>
911         [EditorBrowsable(EditorBrowsableState.Never)]
912         public static readonly BindableProperty NameProperty = BindableProperty.Create("Name", typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
913         {
914             var view = (View)bindable;
915             if (newValue != null)
916             {
917                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.NAME, new Tizen.NUI.PropertyValue((string)newValue));
918             }
919         },
920         defaultValueCreator: (bindable) =>
921         {
922             var view = (View)bindable;
923             string temp;
924             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.NAME).Get(out temp);
925             return temp;
926         });
927
928         /// <summary>
929         /// SensitiveProperty
930         /// </summary>
931         [EditorBrowsable(EditorBrowsableState.Never)]
932         public static readonly BindableProperty SensitiveProperty = BindableProperty.Create("Sensitive", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
933         {
934             var view = (View)bindable;
935             if (newValue != null)
936             {
937                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SENSITIVE, new Tizen.NUI.PropertyValue((bool)newValue));
938             }
939         },
940         defaultValueCreator: (bindable) =>
941         {
942             var view = (View)bindable;
943             bool temp = false;
944             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SENSITIVE).Get(out temp);
945             return temp;
946         });
947
948         /// <summary>
949         /// LeaveRequiredProperty
950         /// </summary>
951         [EditorBrowsable(EditorBrowsableState.Never)]
952         public static readonly BindableProperty LeaveRequiredProperty = BindableProperty.Create("LeaveRequired", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
953         {
954             var view = (View)bindable;
955             if (newValue != null)
956             {
957                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.LEAVE_REQUIRED, new Tizen.NUI.PropertyValue((bool)newValue));
958             }
959         },
960         defaultValueCreator: (bindable) =>
961         {
962             var view = (View)bindable;
963             bool temp = false;
964             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.LEAVE_REQUIRED).Get(out temp);
965             return temp;
966         });
967
968         /// <summary>
969         /// InheritOrientationProperty
970         /// </summary>
971         [EditorBrowsable(EditorBrowsableState.Never)]
972         public static readonly BindableProperty InheritOrientationProperty = BindableProperty.Create("InheritOrientation", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
973         {
974             var view = (View)bindable;
975             if (newValue != null)
976             {
977                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_ORIENTATION, new Tizen.NUI.PropertyValue((bool)newValue));
978             }
979         },
980         defaultValueCreator: (bindable) =>
981         {
982             var view = (View)bindable;
983             bool temp = false;
984             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_ORIENTATION).Get(out temp);
985             return temp;
986         });
987
988         /// <summary>
989         /// InheritScaleProperty
990         /// </summary>
991         [EditorBrowsable(EditorBrowsableState.Never)]
992         public static readonly BindableProperty InheritScaleProperty = BindableProperty.Create("InheritScale", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
993         {
994             var view = (View)bindable;
995             if (newValue != null)
996             {
997                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_SCALE, new Tizen.NUI.PropertyValue((bool)newValue));
998             }
999         },
1000         defaultValueCreator: (bindable) =>
1001         {
1002             var view = (View)bindable;
1003             bool temp = false;
1004             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_SCALE).Get(out temp);
1005             return temp;
1006         });
1007
1008         /// <summary>
1009         /// DrawModeProperty
1010         /// </summary>
1011         [EditorBrowsable(EditorBrowsableState.Never)]
1012         public static readonly BindableProperty DrawModeProperty = BindableProperty.Create("DrawMode", typeof(DrawModeType), typeof(View), DrawModeType.Normal, propertyChanged: (bindable, oldValue, newValue) =>
1013         {
1014             var view = (View)bindable;
1015             if (newValue != null)
1016             {
1017                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.DRAW_MODE, new Tizen.NUI.PropertyValue((int)newValue));
1018             }
1019         },
1020         defaultValueCreator: (bindable) =>
1021         {
1022             var view = (View)bindable;
1023             string temp;
1024             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.DRAW_MODE).Get(out temp) == false)
1025             {
1026                 NUILog.Error("DrawMode get error!");
1027             }
1028             return temp.GetValueByDescription<DrawModeType>();
1029         });
1030
1031         /// <summary>
1032         /// SizeModeFactorProperty
1033         /// </summary>
1034         [EditorBrowsable(EditorBrowsableState.Never)]
1035         public static readonly BindableProperty SizeModeFactorProperty = BindableProperty.Create("SizeModeFactor", typeof(Vector3), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1036         {
1037             var view = (View)bindable;
1038             if (newValue != null)
1039             {
1040                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_MODE_FACTOR, new Tizen.NUI.PropertyValue((Vector3)newValue));
1041             }
1042         },
1043         defaultValueCreator: (bindable) =>
1044         {
1045             var view = (View)bindable;
1046             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
1047             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_MODE_FACTOR).Get(temp);
1048             return temp;
1049         });
1050
1051         /// <summary>
1052         /// WidthResizePolicyProperty
1053         /// </summary>
1054         [EditorBrowsable(EditorBrowsableState.Never)]
1055         public static readonly BindableProperty WidthResizePolicyProperty = BindableProperty.Create("WidthResizePolicy", typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (bindable, oldValue, newValue) =>
1056         {
1057             var view = (View)bindable;
1058             if (newValue != null)
1059             {
1060                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.WIDTH_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)newValue));
1061             }
1062         },
1063         defaultValueCreator: (bindable) =>
1064         {
1065             var view = (View)bindable;
1066             string temp;
1067             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.WIDTH_RESIZE_POLICY).Get(out temp) == false)
1068             {
1069                 NUILog.Error("WidthResizePolicy get error!");
1070             }
1071             return temp.GetValueByDescription<ResizePolicyType>();
1072         });
1073
1074         /// <summary>
1075         /// HeightResizePolicyProperty
1076         /// </summary>
1077         [EditorBrowsable(EditorBrowsableState.Never)]
1078         public static readonly BindableProperty HeightResizePolicyProperty = BindableProperty.Create("HeightResizePolicy", typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (bindable, oldValue, newValue) =>
1079         {
1080             var view = (View)bindable;
1081             if (newValue != null)
1082             {
1083                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.HEIGHT_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)newValue));
1084             }
1085         },
1086         defaultValueCreator: (bindable) =>
1087         {
1088             var view = (View)bindable;
1089             string temp;
1090             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.HEIGHT_RESIZE_POLICY).Get(out temp) == false)
1091             {
1092                 NUILog.Error("HeightResizePolicy get error!");
1093             }
1094             return temp.GetValueByDescription<ResizePolicyType>();
1095         });
1096
1097         /// <summary>
1098         /// SizeScalePolicyProperty
1099         /// </summary>
1100         [EditorBrowsable(EditorBrowsableState.Never)]
1101         public static readonly BindableProperty SizeScalePolicyProperty = BindableProperty.Create("SizeScalePolicy", typeof(SizeScalePolicyType), typeof(View), SizeScalePolicyType.UseSizeSet, propertyChanged: (bindable, oldValue, newValue) =>
1102         {
1103             var view = (View)bindable;
1104             string valueToString = "";
1105             if (newValue != null)
1106             {
1107                 valueToString = ((SizeScalePolicyType)newValue).GetDescription<SizeScalePolicyType>();
1108                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_SCALE_POLICY, new Tizen.NUI.PropertyValue(valueToString));
1109             }
1110         },
1111         defaultValueCreator: (bindable) =>
1112         {
1113             var view = (View)bindable;
1114             string temp;
1115             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_SCALE_POLICY).Get(out temp) == false)
1116             {
1117                 NUILog.Error("SizeScalePolicy get error!");
1118             }
1119             return temp.GetValueByDescription<SizeScalePolicyType>();
1120         });
1121
1122         /// <summary>
1123         /// WidthForHeightProperty
1124         /// </summary>
1125         [EditorBrowsable(EditorBrowsableState.Never)]
1126         public static readonly BindableProperty WidthForHeightProperty = BindableProperty.Create("WidthForHeight", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1127         {
1128             var view = (View)bindable;
1129             if (newValue != null)
1130             {
1131                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.WIDTH_FOR_HEIGHT, new Tizen.NUI.PropertyValue((bool)newValue));
1132             }
1133         },
1134         defaultValueCreator: (bindable) =>
1135         {
1136             var view = (View)bindable;
1137             bool temp = false;
1138             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.WIDTH_FOR_HEIGHT).Get(out temp);
1139             return temp;
1140         });
1141
1142         /// <summary>
1143         /// HeightForWidthProperty
1144         /// </summary>
1145         [EditorBrowsable(EditorBrowsableState.Never)]
1146         public static readonly BindableProperty HeightForWidthProperty = BindableProperty.Create("HeightForWidth", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1147         {
1148             var view = (View)bindable;
1149             if (newValue != null)
1150             {
1151                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.HEIGHT_FOR_WIDTH, new Tizen.NUI.PropertyValue((bool)newValue));
1152             }
1153         },
1154         defaultValueCreator: (bindable) =>
1155         {
1156             var view = (View)bindable;
1157             bool temp = false;
1158             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.HEIGHT_FOR_WIDTH).Get(out temp);
1159             return temp;
1160         });
1161
1162         /// <summary>
1163         /// PaddingProperty
1164         /// </summary>
1165         [EditorBrowsable(EditorBrowsableState.Never)]
1166         public static readonly BindableProperty PaddingProperty = BindableProperty.Create("Padding", typeof(Extents), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1167         {
1168             var view = (View)bindable;
1169             if (newValue != null)
1170             {
1171                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.PADDING, new Tizen.NUI.PropertyValue((Extents)newValue));
1172             }
1173         },
1174         defaultValueCreator: (bindable) =>
1175         {
1176             var view = (View)bindable;
1177             Extents temp = new Extents(0, 0, 0, 0);
1178             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.PADDING).Get(temp);
1179             return temp;
1180         });
1181
1182         /// <summary>
1183         /// SizeProperty
1184         /// </summary>
1185         [EditorBrowsable(EditorBrowsableState.Never)]
1186         public static readonly BindableProperty SizeProperty = BindableProperty.Create("Size", typeof(Size), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1187         {
1188             var view = (View)bindable;
1189             if (newValue != null)
1190             {
1191                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue((Size)newValue));
1192             }
1193         },
1194         defaultValueCreator: (bindable) =>
1195         {
1196             var view = (View)bindable;
1197             Size temp = new Size(0, 0, 0);
1198             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE).Get(temp);
1199             return temp;
1200         });
1201
1202         /// <summary>
1203         /// MinimumSizeProperty
1204         /// </summary>
1205         [EditorBrowsable(EditorBrowsableState.Never)]
1206         public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create("MinimumSize", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1207         {
1208             var view = (View)bindable;
1209             Size2D temp = newValue as Size2D;
1210             if (temp != null)
1211             {
1212                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MINIMUM_SIZE, new Tizen.NUI.PropertyValue(temp));
1213             }
1214             else
1215             {
1216                 Tizen.Log.Fatal("NUI", $"[ERROR] can't set MinimumSizeProperty!");
1217             }
1218         },
1219         defaultValueCreator: (bindable) =>
1220         {
1221             var view = (View)bindable;
1222             Size2D temp = new Size2D(0, 0);
1223             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MINIMUM_SIZE).Get(temp);
1224             return temp;
1225         });
1226
1227         /// <summary>
1228         /// MaximumSizeProperty
1229         /// </summary>
1230         [EditorBrowsable(EditorBrowsableState.Never)]
1231         public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create("MaximumSize", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1232         {
1233             var view = (View)bindable;
1234             Size2D temp = newValue as Size2D;
1235             if (temp != null)
1236             {
1237                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MAXIMUM_SIZE, new Tizen.NUI.PropertyValue(temp));
1238             }
1239             else
1240             {
1241                 Tizen.Log.Fatal("NUI", $"[ERROR] can't set MaximumSizeProperty!");
1242             }
1243         },
1244         defaultValueCreator: (bindable) =>
1245         {
1246             var view = (View)bindable;
1247             Size2D temp = new Size2D(0, 0);
1248             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MAXIMUM_SIZE).Get(temp);
1249             return temp;
1250         });
1251
1252         /// <summary>
1253         /// InheritPositionProperty
1254         /// </summary>
1255         [EditorBrowsable(EditorBrowsableState.Never)]
1256         public static readonly BindableProperty InheritPositionProperty = BindableProperty.Create("InheritPosition", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1257         {
1258             var view = (View)bindable;
1259             if (newValue != null)
1260             {
1261                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_POSITION, new Tizen.NUI.PropertyValue((bool)newValue));
1262             }
1263         },
1264         defaultValueCreator: (bindable) =>
1265         {
1266             var view = (View)bindable;
1267             bool temp = false;
1268             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_POSITION).Get(out temp);
1269             return temp;
1270         });
1271
1272         /// <summary>
1273         /// ClippingModeProperty
1274         /// </summary>
1275         [EditorBrowsable(EditorBrowsableState.Never)]
1276         public static readonly BindableProperty ClippingModeProperty = BindableProperty.Create("ClippingMode", typeof(ClippingModeType), typeof(View), ClippingModeType.Disabled, propertyChanged: (bindable, oldValue, newValue) =>
1277         {
1278             var view = (View)bindable;
1279             if (newValue != null)
1280             {
1281                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.CLIPPING_MODE, new Tizen.NUI.PropertyValue((int)newValue));
1282             }
1283         },
1284         defaultValueCreator: (bindable) =>
1285         {
1286             var view = (View)bindable;
1287             int temp = 0;
1288             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.CLIPPING_MODE).Get(out temp) == false)
1289             {
1290                 NUILog.Error("ClippingMode get error!");
1291             }
1292             return (ClippingModeType)temp;
1293         });
1294
1295         /// <summary>
1296         /// InheritLayoutDirectionProperty
1297         /// </summary>
1298         [EditorBrowsable(EditorBrowsableState.Never)]
1299         public static readonly BindableProperty InheritLayoutDirectionProperty = BindableProperty.Create("InheritLayoutDirection", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1300         {
1301             var view = (View)bindable;
1302             if (newValue != null)
1303             {
1304                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_LAYOUT_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
1305             }
1306         },
1307         defaultValueCreator: (bindable) =>
1308         {
1309             var view = (View)bindable;
1310             bool temp = false;
1311             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_LAYOUT_DIRECTION).Get(out temp);
1312             return temp;
1313         });
1314
1315         /// <summary>
1316         /// LayoutDirectionProperty
1317         /// </summary>
1318         [EditorBrowsable(EditorBrowsableState.Never)]
1319         public static readonly BindableProperty LayoutDirectionProperty = BindableProperty.Create("LayoutDirection", typeof(ViewLayoutDirectionType), typeof(View), ViewLayoutDirectionType.LTR, propertyChanged: (bindable, oldValue, newValue) =>
1320         {
1321             var view = (View)bindable;
1322             if (newValue != null)
1323             {
1324                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.LAYOUT_DIRECTION, new Tizen.NUI.PropertyValue((int)newValue));
1325             }
1326         },
1327         defaultValueCreator: (bindable) =>
1328         {
1329             var view = (View)bindable;
1330             int temp;
1331             if (false == Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.LAYOUT_DIRECTION).Get(out temp))
1332             {
1333                 NUILog.Error("LAYOUT_DIRECTION get error!");
1334             }
1335             return (ViewLayoutDirectionType)temp;
1336         });
1337
1338         /// <summary>
1339         /// MarginProperty
1340         /// </summary>
1341         [EditorBrowsable(EditorBrowsableState.Never)]
1342         public static readonly BindableProperty MarginProperty = BindableProperty.Create("Margin", typeof(Extents), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1343         {
1344             var view = (View)bindable;
1345             if (newValue != null)
1346             {
1347                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MARGIN, new Tizen.NUI.PropertyValue((Extents)newValue));
1348             }
1349         },
1350         defaultValueCreator: (bindable) =>
1351         {
1352             var view = (View)bindable;
1353             Extents temp = new Extents(0, 0, 0, 0);
1354             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MARGIN).Get(temp);
1355             return temp;
1356         });
1357
1358         /// <summary>
1359         /// UpdateSizeHintProperty
1360         /// </summary>
1361         [EditorBrowsable(EditorBrowsableState.Never)]
1362         public static readonly BindableProperty UpdateSizeHintProperty = BindableProperty.Create("UpdateSizeHint", typeof(Vector2), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1363         {
1364             var view = (View)bindable;
1365             if (newValue != null)
1366             {
1367                 Tizen.NUI.Object.SetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_UPDATE_SIZE_HINT_get(), new Tizen.NUI.PropertyValue((Vector2)newValue));
1368             }
1369         },
1370         defaultValueCreator: (bindable) =>
1371         {
1372             var view = (View)bindable;
1373
1374             Vector2 temp = new Vector2(0.0f, 0.0f);
1375             Tizen.NUI.Object.GetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_UPDATE_SIZE_HINT_get()).Get(temp);
1376             return temp;
1377         });
1378
1379         /// <summary>
1380         /// ImageShadow Property
1381         /// </summary>
1382         [EditorBrowsable(EditorBrowsableState.Never)]
1383         public static readonly BindableProperty ImageShadowProperty = BindableProperty.Create(nameof(ImageShadow), typeof(ImageShadow), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1384         {
1385             var view = (View)bindable;
1386             view.imageShadow = SelectorHelper<ImageShadow>.Clone(newValue, view);
1387             Tizen.NUI.Object.SetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_SHADOW_get(), ImageShadow.ToPropertyValue(view.imageShadow));
1388
1389             if (view.imageShadow != null) view.boxShadow = null;
1390         },
1391         defaultValueCreator: (bindable) =>
1392         {
1393             return ((View)bindable).imageShadow;
1394         });
1395
1396         /// <summary>
1397         /// Shadow Property
1398         /// </summary>
1399         [EditorBrowsable(EditorBrowsableState.Never)]
1400         public static readonly BindableProperty BoxShadowProperty = BindableProperty.Create(nameof(BoxShadow), typeof(Shadow), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1401         {
1402             var view = (View)bindable;
1403             view.boxShadow = SelectorHelper<Shadow>.Clone(newValue, view);
1404             Tizen.NUI.Object.SetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_SHADOW_get(), Shadow.ToPropertyValue(view.boxShadow));
1405
1406             if (view.boxShadow != null) view.imageShadow = null;
1407         },
1408         defaultValueCreator: (bindable) =>
1409         {
1410             return ((View)bindable).boxShadow;
1411         });
1412
1413         /// <summary>
1414         /// XamlStyleProperty
1415         /// </summary>
1416         [EditorBrowsable(EditorBrowsableState.Never)]
1417         public static readonly BindableProperty XamlStyleProperty = BindableProperty.Create("XamlStyle", typeof(Style), typeof(View), default(Style), propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable)._mergedStyle.Style = (Style)newvalue);
1418     }
1419 }