[NUI] Clean NUI codes from Adaptor.cs to Window.cs (#652)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / UIComponents / ScrollBar.cs
index 3a15ed3..847196b 100755 (executable)
@@ -46,7 +46,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.SCROLL_DIRECTION, new Tizen.NUI.PropertyValue(valueToString));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             string temp;
@@ -72,14 +72,14 @@ namespace Tizen.NUI.UIComponents
             {
                 switch ((IndicatorHeightPolicyType)newValue)
                 {
-                    case IndicatorHeightPolicyType.Variable:{ valueToString = "Variable"; break; }
+                    case IndicatorHeightPolicyType.Variable: { valueToString = "Variable"; break; }
                     case IndicatorHeightPolicyType.Fixed: { valueToString = "Fixed"; break; }
-                    default:  { valueToString = "Variable"; break; }
+                    default: { valueToString = "Variable"; break; }
                 }
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_HEIGHT_POLICY, new Tizen.NUI.PropertyValue(valueToString));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             string temp;
@@ -105,7 +105,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_FIXED_HEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -122,7 +122,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_SHOW_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -139,7 +139,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_HIDE_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -156,7 +156,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.SCROLL_POSITION_INTERVALS, new Tizen.NUI.PropertyValue((PropertyArray)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
@@ -173,7 +173,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_MINIMUM_HEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -190,7 +190,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_START_PADDING, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -207,7 +207,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_END_PADDING, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -217,105 +217,46 @@ namespace Tizen.NUI.UIComponents
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal ScrollBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollBar_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        private EventHandler<PanFinishedEventArgs> _scrollBarPanFinishedEventHandler;
+        private PanFinishedEventCallbackDelegate _scrollBarPanFinishedEventCallbackDelegate;
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollBar obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private EventHandler<ScrollIntervalEventArgs> _scrollBarScrollPositionIntervalReachedEventHandler;
+        private ScrollPositionIntervalReachedEventCallbackDelegate _scrollBarScrollPositionIntervalReachedEventCallbackDelegate;
 
         /// <summary>
-        /// To dispose the ScrollBar instance.
+        /// Creates an initialized scrollbar.
         /// </summary>
+        /// <param name="direction">The direction of the scrollbar (either vertically or horizontally).</param>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public ScrollBar(ScrollBar.Direction direction) : this(NDalicPINVOKE.ScrollBar_New__SWIG_0((int)direction), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-            if (this != null)
-            {
-                if (_scrollBarScrollPositionIntervalReachedEventCallbackDelegate != null)
-                {
-                    ScrollPositionIntervalReachedSignal().Disconnect(_scrollBarScrollPositionIntervalReachedEventCallbackDelegate);
-                }
-
-                if (_scrollBarPanFinishedEventCallbackDelegate != null)
-                {
-                    PanFinishedSignal().Disconnect(_scrollBarPanFinishedEventCallbackDelegate);
-                }
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_ScrollBar(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Event arguments that passed via the PanFinished event.
+        /// Creates an uninitialized scrollbar.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class PanFinishedEventArgs : EventArgs
+        public ScrollBar() : this(NDalicPINVOKE.ScrollBar_New__SWIG_1(), true)
         {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Event arguments that passed via the ScrollPositionIntervalReached event.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ScrollIntervalEventArgs : EventArgs
+        internal ScrollBar(ScrollBar scrollBar) : this(NDalicPINVOKE.new_ScrollBar__SWIG_1(ScrollBar.getCPtr(scrollBar)), true)
         {
-            private float _currentScrollPosition;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            /// <summary>
-            /// The current scroll position of the scrollable content.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public float CurrentScrollPosition
-            {
-                get
-                {
-                    return _currentScrollPosition;
-                }
-                set
-                {
-                    _currentScrollPosition = value;
-                }
-            }
+        internal ScrollBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollBar_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void PanFinishedEventCallbackDelegate();
-        private EventHandler<PanFinishedEventArgs> _scrollBarPanFinishedEventHandler;
-        private PanFinishedEventCallbackDelegate _scrollBarPanFinishedEventCallbackDelegate;
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void ScrollPositionIntervalReachedEventCallbackDelegate(float position);
-        private EventHandler<ScrollIntervalEventArgs> _scrollBarScrollPositionIntervalReachedEventHandler;
-        private ScrollPositionIntervalReachedEventCallbackDelegate _scrollBarScrollPositionIntervalReachedEventCallbackDelegate;
 
         /// <summary>
         /// The event emitted when panning is finished on the scroll indicator.
@@ -343,19 +284,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for ScrollBar PanFinishedSignal
-        private void OnScrollBarPanFinished()
-        {
-            PanFinishedEventArgs e = new PanFinishedEventArgs();
-
-            if (_scrollBarPanFinishedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _scrollBarPanFinishedEventHandler(this, e);
-            }
-        }
-
-
         /// <summary>
         /// This is the event emitted when the current scroll position of the scrollable content goes above or below the values specified by ScrollPositionIntervals property.
         /// </summary>
@@ -382,55 +310,185 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for ScrollBar ScrollPositionIntervalReachedSignal
-        private void OnScrollBarScrollPositionIntervalReached(float position)
+        /// <summary>
+        /// The direction of the scrollbar.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum Direction
         {
-            ScrollIntervalEventArgs e = new ScrollIntervalEventArgs();
-            e.CurrentScrollPosition = position;
+            /// <summary>
+            /// Scroll in the vertical direction
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Vertical = 0,
+            /// <summary>
+            /// Scroll in the horizontal direction
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Horizontal
+        }
 
-            if (_scrollBarScrollPositionIntervalReachedEventHandler != null)
+        /// <summary>
+        /// The indicator height policy.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum IndicatorHeightPolicyType
+        {
+            /// <summary>
+            /// Variable height changed dynamically according to the length of scroll content
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Variable = 0,
+            /// <summary>
+            /// Fixed height regardless of the length of scroll content
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Fixed
+        }
+
+        /// <summary>
+        /// The direction of the scrollbar.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Direction ScrollDirection
+        {
+            get
             {
-                //here we send all data to user event handlers
-                _scrollBarScrollPositionIntervalReachedEventHandler(this, e);
+
+                return (Direction)GetValue(ScrollDirectionProperty);
+            }
+            set
+            {
+                SetValue(ScrollDirectionProperty, value);
             }
         }
 
+        /// <summary>
+        /// The indicator height policy.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public IndicatorHeightPolicyType IndicatorHeightPolicy
+        {
+            get
+            {
+                return (IndicatorHeightPolicyType)GetValue(IndicatorHeightPolicyProperty);
+            }
+            set
+            {
+                SetValue(IndicatorHeightPolicyProperty, value);
+            }
+        }
 
-        internal new class Property
+        /// <summary>
+        /// The fixed height of the scroll indicator.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float IndicatorFixedHeight
         {
-            internal static readonly int SCROLL_DIRECTION = NDalicPINVOKE.ScrollBar_Property_SCROLL_DIRECTION_get();
-            internal static readonly int INDICATOR_HEIGHT_POLICY = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HEIGHT_POLICY_get();
-            internal static readonly int INDICATOR_FIXED_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_FIXED_HEIGHT_get();
-            internal static readonly int INDICATOR_SHOW_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_SHOW_DURATION_get();
-            internal static readonly int INDICATOR_HIDE_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HIDE_DURATION_get();
-            internal static readonly int SCROLL_POSITION_INTERVALS = NDalicPINVOKE.ScrollBar_Property_SCROLL_POSITION_INTERVALS_get();
-            internal static readonly int INDICATOR_MINIMUM_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_MINIMUM_HEIGHT_get();
-            internal static readonly int INDICATOR_START_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_START_PADDING_get();
-            internal static readonly int INDICATOR_END_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_END_PADDING_get();
+            get
+            {
+                return (float)GetValue(IndicatorFixedHeightProperty);
+            }
+            set
+            {
+                SetValue(IndicatorFixedHeightProperty, value);
+            }
         }
 
         /// <summary>
-        /// Creates an initialized scrollbar.
+        /// The duration in seconds for the scroll indicator to become fully visible.
         /// </summary>
-        /// <param name="direction">The direction of the scrollbar (either vertically or horizontally).</param>
         /// <since_tizen> 3 </since_tizen>
-        public ScrollBar(ScrollBar.Direction direction) : this(NDalicPINVOKE.ScrollBar_New__SWIG_0((int)direction), true)
+        public float IndicatorShowDuration
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (float)GetValue(IndicatorShowDurationProperty);
+            }
+            set
+            {
+                SetValue(IndicatorShowDurationProperty, value);
+            }
         }
 
         /// <summary>
-        /// Creates an uninitialized scrollbar.
+        /// The duration in seconds for the scroll indicator to become fully invisible.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public ScrollBar() : this(NDalicPINVOKE.ScrollBar_New__SWIG_1(), true)
+        public float IndicatorHideDuration
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (float)GetValue(IndicatorHideDurationProperty);
+            }
+            set
+            {
+                SetValue(IndicatorHideDurationProperty, value);
+            }
+        }
 
+        /// <summary>
+        /// The list of values to get the notification when the current scroll position of the scrollable object goes above or below any of these values.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Tizen.NUI.PropertyArray ScrollPositionIntervals
+        {
+            get
+            {
+                return (PropertyArray)GetValue(ScrollPositionIntervalsProperty);
+            }
+            set
+            {
+                SetValue(ScrollPositionIntervalsProperty, value);
+            }
         }
-        internal ScrollBar(ScrollBar scrollBar) : this(NDalicPINVOKE.new_ScrollBar__SWIG_1(ScrollBar.getCPtr(scrollBar)), true)
+
+        /// <summary>
+        /// The minimum height for a variable size indicator.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float IndicatorMinimumHeight
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (float)GetValue(IndicatorMinimumHeightProperty);
+            }
+            set
+            {
+                SetValue(IndicatorMinimumHeightProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// The padding at the start of the indicator. For example, the top if the scrollDirection is vertical.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float IndicatorStartPadding
+        {
+            get
+            {
+                return (float)GetValue(IndicatorStartPaddingProperty);
+            }
+            set
+            {
+                SetValue(IndicatorStartPaddingProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// The padding at the end of the indicator. For example, the bottom if the scrollDirection is vertical.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float IndicatorEndPadding
+        {
+            get
+            {
+                return (float)GetValue(IndicatorEndPaddingProperty);
+            }
+            set
+            {
+                SetValue(IndicatorEndPaddingProperty, value);
+            }
         }
 
         /// <summary>
@@ -450,6 +508,11 @@ namespace Tizen.NUI.UIComponents
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollBar obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         internal void SetScrollIndicator(View indicator)
         {
             NDalicPINVOKE.ScrollBar_SetScrollIndicator(swigCPtr, View.getCPtr(indicator));
@@ -555,186 +618,124 @@ namespace Tizen.NUI.UIComponents
         }
 
         /// <summary>
-        /// The direction of the scrollbar.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum Direction
-        {
-            /// <summary>
-            /// Scroll in the vertical direction
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Vertical = 0,
-            /// <summary>
-            /// Scroll in the horizontal direction
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Horizontal
-        }
-
-        /// <summary>
-        /// The indicator height policy.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum IndicatorHeightPolicyType
-        {
-            /// <summary>
-            /// Variable height changed dynamically according to the length of scroll content
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Variable = 0,
-            /// <summary>
-            /// Fixed height regardless of the length of scroll content
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Fixed
-        }
-
-        /// <summary>
-        /// The direction of the scrollbar.
+        /// To dispose the ScrollBar instance.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Direction ScrollDirection
+        protected override void Dispose(DisposeTypes type)
         {
-            get
-            {
-
-                return (Direction)GetValue(ScrollDirectionProperty);
-            }
-            set
+            if (disposed)
             {
-                SetValue(ScrollDirectionProperty, value);
+                return;
             }
-        }
 
-        /// <summary>
-        /// The indicator height policy.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public IndicatorHeightPolicyType IndicatorHeightPolicy
-        {
-            get
+            if (type == DisposeTypes.Explicit)
             {
-                return (IndicatorHeightPolicyType)GetValue(IndicatorHeightPolicyProperty);
-            }
-            set
-            {
-                SetValue(IndicatorHeightPolicyProperty, value);
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-        }
 
-        /// <summary>
-        /// The fixed height of the scroll indicator.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float IndicatorFixedHeight
-        {
-            get
-            {
-                return (float)GetValue(IndicatorFixedHeightProperty);
-            }
-            set
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+            if (this != null)
             {
-                SetValue(IndicatorFixedHeightProperty, value);
-            }
-        }
+                if (_scrollBarScrollPositionIntervalReachedEventCallbackDelegate != null)
+                {
+                    ScrollPositionIntervalReachedSignal().Disconnect(_scrollBarScrollPositionIntervalReachedEventCallbackDelegate);
+                }
 
-        /// <summary>
-        /// The duration in seconds for the scroll indicator to become fully visible.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float IndicatorShowDuration
-        {
-            get
-            {
-                return (float)GetValue(IndicatorShowDurationProperty);
+                if (_scrollBarPanFinishedEventCallbackDelegate != null)
+                {
+                    PanFinishedSignal().Disconnect(_scrollBarPanFinishedEventCallbackDelegate);
+                }
             }
-            set
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                SetValue(IndicatorShowDurationProperty, value);
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_ScrollBar(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            base.Dispose(type);
         }
 
-        /// <summary>
-        /// The duration in seconds for the scroll indicator to become fully invisible.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float IndicatorHideDuration
+        // Callback for ScrollBar PanFinishedSignal
+        private void OnScrollBarPanFinished()
         {
-            get
-            {
-                return (float)GetValue(IndicatorHideDurationProperty);
-            }
-            set
+            PanFinishedEventArgs e = new PanFinishedEventArgs();
+
+            if (_scrollBarPanFinishedEventHandler != null)
             {
-                SetValue(IndicatorHideDurationProperty, value);
+                //here we send all data to user event handlers
+                _scrollBarPanFinishedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// The list of values to get the notification when the current scroll position of the scrollable object goes above or below any of these values.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Tizen.NUI.PropertyArray ScrollPositionIntervals
+
+        // Callback for ScrollBar ScrollPositionIntervalReachedSignal
+        private void OnScrollBarScrollPositionIntervalReached(float position)
         {
-            get
-            {
-                return (PropertyArray)GetValue(ScrollPositionIntervalsProperty);
-            }
-            set
+            ScrollIntervalEventArgs e = new ScrollIntervalEventArgs();
+            e.CurrentScrollPosition = position;
+
+            if (_scrollBarScrollPositionIntervalReachedEventHandler != null)
             {
-                SetValue(ScrollPositionIntervalsProperty, value);
+                //here we send all data to user event handlers
+                _scrollBarScrollPositionIntervalReachedEventHandler(this, e);
             }
         }
 
+
+
         /// <summary>
-        /// The minimum height for a variable size indicator.
+        /// Event arguments that passed via the PanFinished event.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float IndicatorMinimumHeight
+        public class PanFinishedEventArgs : EventArgs
         {
-            get
-            {
-                return (float)GetValue(IndicatorMinimumHeightProperty);
-            }
-            set
-            {
-                SetValue(IndicatorMinimumHeightProperty, value);
-            }
         }
 
         /// <summary>
-        /// The padding at the start of the indicator. For example, the top if the scrollDirection is vertical.
+        /// Event arguments that passed via the ScrollPositionIntervalReached event.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float IndicatorStartPadding
+        public class ScrollIntervalEventArgs : EventArgs
         {
-            get
-            {
-                return (float)GetValue(IndicatorStartPaddingProperty);
-            }
-            set
+            private float _currentScrollPosition;
+
+            /// <summary>
+            /// The current scroll position of the scrollable content.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public float CurrentScrollPosition
             {
-                SetValue(IndicatorStartPaddingProperty, value);
+                get
+                {
+                    return _currentScrollPosition;
+                }
+                set
+                {
+                    _currentScrollPosition = value;
+                }
             }
         }
 
-        /// <summary>
-        /// The padding at the end of the indicator. For example, the bottom if the scrollDirection is vertical.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float IndicatorEndPadding
+        internal new class Property
         {
-            get
-            {
-                return (float)GetValue(IndicatorEndPaddingProperty);
-            }
-            set
-            {
-                SetValue(IndicatorEndPaddingProperty, value);
-            }
+            internal static readonly int SCROLL_DIRECTION = NDalicPINVOKE.ScrollBar_Property_SCROLL_DIRECTION_get();
+            internal static readonly int INDICATOR_HEIGHT_POLICY = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HEIGHT_POLICY_get();
+            internal static readonly int INDICATOR_FIXED_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_FIXED_HEIGHT_get();
+            internal static readonly int INDICATOR_SHOW_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_SHOW_DURATION_get();
+            internal static readonly int INDICATOR_HIDE_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HIDE_DURATION_get();
+            internal static readonly int SCROLL_POSITION_INTERVALS = NDalicPINVOKE.ScrollBar_Property_SCROLL_POSITION_INTERVALS_get();
+            internal static readonly int INDICATOR_MINIMUM_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_MINIMUM_HEIGHT_get();
+            internal static readonly int INDICATOR_START_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_START_PADDING_get();
+            internal static readonly int INDICATOR_END_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_END_PADDING_get();
         }
-
     }
-
 }