[NUI] Add bindable properties to Components.
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI.Components / Controls / FlexibleView / FlexibleView.cs
index 73a635f..ca69f12 100755 (executable)
@@ -18,6 +18,7 @@ using System;
 using System.ComponentModel;
 using System.Diagnostics.CodeAnalysis;
 using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
 
 namespace Tizen.NUI.Components
 {
@@ -60,6 +61,42 @@ namespace Tizen.NUI.Components
     public partial class FlexibleView : Control
     {
         /// <summary>
+        /// PaddingProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly new BindableProperty PaddingProperty = BindableProperty.Create(nameof(Padding), typeof(Extents), typeof(FlexibleView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (FlexibleView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalPadding = newValue as Extents;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (FlexibleView)bindable;
+            return instance.InternalPadding;
+        });
+
+        /// <summary>
+        /// FocusedItemIndexProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty FocusedItemIndexProperty = BindableProperty.Create(nameof(FocusedItemIndex), typeof(int), typeof(FlexibleView), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (FlexibleView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalFocusedItemIndex = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (FlexibleView)bindable;
+            return instance.InternalFocusedItemIndex;
+        });
+
+        /// <summary>
         /// Constant value: -1.
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
@@ -186,6 +223,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(PaddingProperty) as Extents;
+            }
+            set
+            {
+                SetValue(PaddingProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Extents InternalPadding
+        {
+            get
+            {
                 if (null == padding)
                 {
                     padding = new Extents((ushort start, ushort end, ushort top, ushort bottom) =>
@@ -226,6 +275,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (int)GetValue(FocusedItemIndexProperty);
+            }
+            set
+            {
+                SetValue(FocusedItemIndexProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalFocusedItemIndex
+        {
+            get
+            {
                 return focusedItemIndex;
             }
             set