[ElmSharp] Add missed document to Scroller
[platform/core/csapi/tizenfx.git] / src / ElmSharp / ElmSharp / Scroller.cs
index 35ed35a..a6063a7 100755 (executable)
@@ -97,10 +97,13 @@ namespace ElmSharp
         /// <param name="parent">The <see cref="EvasObject"/> to which the new Scroller will be attached as a child.</param>
         public Scroller(EvasObject parent) : base(parent)
         {
-            _scroll = new SmartEvent(this, this.RealHandle, "scroll");
-            _dragStart = new SmartEvent(this, this.RealHandle, "scroll,drag,start");
-            _dragStop = new SmartEvent(this, this.RealHandle, "scroll,drag,stop");
-            _scrollpage = new SmartEvent(this, this.RealHandle, "scroll,page,changed");
+        }
+
+        /// <summary>
+        /// Creates and initializes a new instance of the Scroller class.
+        /// </summary>
+        public Scroller() : base()
+        {
         }
 
         /// <summary>
@@ -183,7 +186,7 @@ namespace ElmSharp
         /// ScrollBarVisiblePolicy.Auto means the horizontal scrollbar is made visible if it is needed, and otherwise kept hidden.
         /// ScrollBarVisiblePolicy.Visible turns it on all the time, and ScrollBarVisiblePolicy.Invisible always keeps it off.
         /// </remarks>
-        public ScrollBarVisiblePolicy HorizontalScrollBarVisiblePolicy
+        public virtual ScrollBarVisiblePolicy HorizontalScrollBarVisiblePolicy
         {
             get
             {
@@ -205,7 +208,7 @@ namespace ElmSharp
         /// ScrollBarVisiblePolicy.Auto means the vertical scrollbar is made visible if it is needed, and otherwise kept hidden.
         /// ScrollBarVisiblePolicy.Visible turns it on all the time, and ScrollBarVisiblePolicy.Invisible always keeps it off.
         /// </remarks>
-        public ScrollBarVisiblePolicy VerticalScrollBarVisiblePolicy
+        public virtual ScrollBarVisiblePolicy VerticalScrollBarVisiblePolicy
         {
             get
             {
@@ -494,7 +497,7 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Get a given scroller widget's scrolling page size, relative to its viewport size.
+        /// Gets or sets a given scroller widget's scrolling page size, relative to its viewport size.
         /// </summary>
         public double VerticalRelativePageSize
         {
@@ -512,7 +515,7 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Get a given scroller widget's scrolling page size, relative to its viewport size.
+        /// Gets or sets a given scroller widget's scrolling page size, relative to its viewport size.
         /// </summary>
         public double HorizontalRelativePageSize
         {
@@ -532,6 +535,12 @@ namespace ElmSharp
         /// <summary>
         /// Gets or Sets the page snapping behavior of a scroller.
         /// </summary>
+        /// <remarks>
+        /// When scrolling, if a scroller is paged (see VerticalRelativePageSize),
+        /// the scroller may snap to pages when being scrolled, i.e., even if it had momentum to scroll further,
+        /// it will stop at the next page boundaries. This is disabled, by default, for both axis.
+        /// This function will set if it that is enabled or not, for each axis.
+        /// </remarks>
         public bool VerticalSnap
         {
             get
@@ -550,6 +559,12 @@ namespace ElmSharp
         /// <summary>
         /// Gets or Sets the page snapping behavior of a scroller.
         /// </summary>
+        /// <remarks>
+        /// When scrolling, if a scroller is paged (see HorizontalRelativePageSize),
+        /// the scroller may snap to pages when being scrolled, i.e., even if it had momentum to scroll further,
+        /// it will stop at the next page boundaries. This is disabled, by default, for both axis.
+        /// This function will set if it that is enabled or not, for each axis.
+        /// </remarks>
         public bool HorizontalSnap
         {
             get
@@ -606,7 +621,7 @@ namespace ElmSharp
         /// This enables or disables event propagation from the scroller content to the scroller and its parent.
         /// By default event propagation is enabled.
         /// </summary>
-        public bool PropagateEvents
+        public bool ContentPropagateEvents
         {
             get
             {
@@ -768,6 +783,23 @@ namespace ElmSharp
             }
         }
 
+        /// <summary>
+        /// The callback of Realized Event
+        /// </summary>
+        protected override void OnRealized()
+        {
+            base.OnRealized();
+            _scroll = new SmartEvent(this, this.RealHandle, "scroll");
+            _dragStart = new SmartEvent(this, this.RealHandle, "scroll,drag,start");
+            _dragStop = new SmartEvent(this, this.RealHandle, "scroll,drag,stop");
+            _scrollpage = new SmartEvent(this, this.RealHandle, "scroll,page,changed");
+        }
+
+        /// <summary>
+        /// Creates a widget handle.
+        /// </summary>
+        /// <param name="parent">Parent EvasObject</param>
+        /// <returns>Handle IntPtr</returns>
         protected override IntPtr CreateHandle(EvasObject parent)
         {
             IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);