Merge remote-tracking branch 'widget-application/tizen'
[platform/core/csapi/tizenfx.git] / src / ElmSharp / ElmSharp / ContextPopup.cs
index e812c8c..3be2baa 100755 (executable)
@@ -19,21 +19,48 @@ using System.Collections.Generic;
 
 namespace ElmSharp
 {
+    /// <summary>
+    /// Enumeration of ContextPopup direction type.
+    /// </summary>
     public enum ContextPopupDirection
     {
+        /// <summary>
+        /// ContextPopup show appear below clicked area
+        /// /// </summary>
         Down,
+        /// <summary>
+        /// ContextPopup show appear to the right of the clicked area
+        /// </summary>
         Right,
+        /// <summary>
+        /// ContextPopup show appear to the left of the clicked area
+        /// </summary>
         Left,
+        /// <summary>
+        /// ContextPopup show appear above the clicked area
+        /// </summary>
         Up,
+        /// <summary>
+        /// ContextPopup does not determine it's direction yet
+        /// </summary>
         Unknown
     }
 
+    /// <summary>
+    /// It inherits <see cref="Layout"/>.
+    /// The ContextPopup is a widget that when it shown, pops up a list of items.
+    /// </summary>
     public class ContextPopup : Layout
     {
         HashSet<ContextPopupItem> _children = new HashSet<ContextPopupItem>();
         SmartEvent _dismissed;
         Interop.Evas.SmartCallback _onSelected;
 
+        /// <summary>
+        /// Creates and initializes a new instance of the ContextPopup class.
+        /// </summary>
+        /// <param name="parent">The parent is a given container which will be attached by ContextPopup
+        /// as a child.It's <see cref="EvasObject"/> type.</param>
         public ContextPopup(EvasObject parent) : base(parent)
         {
             _dismissed = new SmartEvent(this, this.RealHandle, "dismissed");
@@ -48,8 +75,20 @@ namespace ElmSharp
             };
         }
 
+        /// <summary>
+        /// Dismissed is raised when the ContextPopup item is dismissed.
+        /// </summary>
+        /// <remarks>
+        /// Outside of ContextPopup was clicked or it's parent area is changed or the language is changed. and then ContextPopup is dismissed.
+        /// </remarks>
         public event EventHandler Dismissed;
 
+        /// <summary>
+        /// Gets the current direction of a ContextPopup.
+        /// </summary>
+        /// <remarks>
+        /// Once the ContextPopup showed up, the direction would be determined.
+        /// </remarks>
         public ContextPopupDirection Direction
         {
             get
@@ -58,6 +97,10 @@ namespace ElmSharp
             }
         }
 
+        /// <summary>
+        /// Gets or sets the value of current ContextPopup object's orientation.
+        /// True for horizontal mode, False for vertical mode (or errors)
+        /// </summary>
         public bool IsHorizontal
         {
             get
@@ -70,6 +113,13 @@ namespace ElmSharp
             }
         }
 
+        /// <summary>
+        /// Gets or sets whether ContextPopup hide automatically
+        /// or not when parent of ContextPopup is resized.
+        /// </summary>
+        /// <remarks>
+        /// Default value of AutoHide is False.
+        /// </remarks>
         public bool AutoHide
         {
             get
@@ -82,16 +132,33 @@ namespace ElmSharp
             }
         }
 
+        /// <summary>
+        /// Clears all items in the given ContextPopup object.
+        /// </summary>
         public void Clear()
         {
             Interop.Elementary.elm_ctxpopup_clear(Handle);
         }
 
+        /// <summary>
+        /// Sets the direction priority of a ContextPopup.
+        /// </summary>
+        /// <param name="first">1st priority of direction </param>
+        /// <param name="second">2nd priority of direction </param>
+        /// <param name="third">3th priority of direction </param>
+        /// <param name="fourth">4th priority of direction</param>
         public void SetDirectionPriorty(ContextPopupDirection first, ContextPopupDirection second, ContextPopupDirection third, ContextPopupDirection fourth)
         {
             Interop.Elementary.elm_ctxpopup_direction_priority_set(RealHandle, (int)first, (int)second, (int)third, (int)fourth);
         }
 
+        /// <summary>
+        /// Gets the direction priority of a ContextPopup.
+        /// </summary>
+        /// <param name="first">1st priority of direction to be returned</param>
+        /// <param name="second">2nd priority of direction to be returned</param>
+        /// <param name="third">2nd priority of direction to be returned </param>
+        /// <param name="fourth">4th priority of direction to be returned</param>
         public void GetDirectionPriority(out ContextPopupDirection first, out ContextPopupDirection second, out ContextPopupDirection third, out ContextPopupDirection fourth)
         {
             int firstOut, secondOut, thirdOut, fourthOut;
@@ -102,11 +169,24 @@ namespace ElmSharp
             fourth = (ContextPopupDirection)fourthOut;
         }
 
+        /// <summary>
+        /// Adds a new item to a ContextPopup object with label.
+        /// </summary>
+        /// <param name="label">The Label of the new item</param>
+        /// <returns>
+        /// A ContextPopupItem added or NULL, on errors
+        /// </returns>
         public ContextPopupItem Append(string label)
         {
             return Append(label, null);
         }
 
+        /// <summary>
+        /// Adds a new item to a ContextPopup object with label and icon.
+        /// </summary>
+        /// <param name="label">The Label of the new item</param>
+        /// <param name="icon">Icon to be set on new item</param>
+        /// <returns>A ContextPopupItem added or NULL, on errors</returns>
         public ContextPopupItem Append(string label, EvasObject icon)
         {
             ContextPopupItem item = new ContextPopupItem(label, icon);
@@ -115,16 +195,29 @@ namespace ElmSharp
             return item;
         }
 
+        /// <summary>
+        /// Dismiss a ContextPopup object. The ContextPopup will be hidden and the "clicked" signal will be emitted.
+        /// </summary>
         public void Dismiss()
         {
             Interop.Elementary.elm_ctxpopup_dismiss(RealHandle);
         }
 
+        /// <summary>
+        /// Gets the possibility that the direction would be available
+        /// </summary>
+        /// <param name="direction">A direction user wants to check</param>
+        /// <returns>
+        /// Get false if you cannot put it in the direction. Gets true if it's possible.
+        /// </returns>
         public bool IsAvailableDirection(ContextPopupDirection direction)
         {
             return Interop.Elementary.elm_ctxpopup_direction_available_get(RealHandle, (int)direction);
         }
 
+        /// <summary>
+        /// Gets Alpha of a default Color Class.
+        /// </summary>
         public override int Opacity
         {
             get