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