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