Make CollectionView APIs public
authoreverLEEst(SangHyeon Lee) <sh10233.lee@samsung.com>
Thu, 15 Apr 2021 08:17:57 +0000 (17:17 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Fri, 7 May 2021 05:58:58 +0000 (14:58 +0900)
This is ACR Patch to make CollectionView APIs public.

17 files changed:
src/Tizen.NUI.Components/Controls/RecyclerView/CollectionView.cs
src/Tizen.NUI.Components/Controls/RecyclerView/Item/RecyclerViewItem.Internal.cs
src/Tizen.NUI.Components/Controls/RecyclerView/Item/RecyclerViewItem.cs
src/Tizen.NUI.Components/Controls/RecyclerView/ItemSelectionMode.cs
src/Tizen.NUI.Components/Controls/RecyclerView/Layouter/GridLayouter.cs
src/Tizen.NUI.Components/Controls/RecyclerView/Layouter/ItemsLayouter.cs
src/Tizen.NUI.Components/Controls/RecyclerView/Layouter/LinearLayouter.cs
src/Tizen.NUI.Components/Controls/RecyclerView/RecyclerView.cs
src/Tizen.NUI.Components/Controls/RecyclerView/SelectionChangedEventArgs.cs
src/Tizen.NUI.Components/Style/DefaultLinearItemStyle.cs
src/Tizen.NUI.Components/Style/DefaultTitleItemStyle.cs
src/Tizen.NUI.Components/Style/RecyclerViewItemStyle.cs
src/Tizen.NUI/src/public/Template/DataTemplate.cs
src/Tizen.NUI/src/public/Template/DataTemplateSelector.cs
src/Tizen.NUI/src/public/Template/ElementTemplate.cs
test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/CollectionViewDemo/CollectionViewGridSample.cs
test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/CollectionViewDemo/Group/CollectionViewGridGroupSample.cs

index 8dc3272..b74f1cd 100755 (executable)
@@ -26,15 +26,15 @@ using Tizen.NUI.Binding;
 namespace Tizen.NUI.Components
 {
     /// <summary>
-    /// This class provides a View that can layouting items in list and grid with high performance.
+    /// Selectable RecyclerView that presenting a collection of items with variable layouters.
     /// </summary>
-    [EditorBrowsable(EditorBrowsableState.Never)]
+    /// <since_tizen> 9 </since_tizen>
     public class CollectionView : RecyclerView
     {
         /// <summary>
         /// Binding Property of selected item in single selection.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public static readonly BindableProperty SelectedItemProperty =
             BindableProperty.Create(nameof(SelectedItem), typeof(object), typeof(CollectionView), null,
                 propertyChanged: (bindable, oldValue, newValue) =>
@@ -62,7 +62,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Binding Property of selected items list in multiple selection.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public static readonly BindableProperty SelectedItemsProperty =
             BindableProperty.Create(nameof(SelectedItems), typeof(IList<object>), typeof(CollectionView), null,
                 propertyChanged: (bindable, oldValue, newValue) =>
@@ -84,7 +84,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Binding Property of selected items list in multiple selection.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public static readonly BindableProperty SelectionModeProperty =
             BindableProperty.Create(nameof(SelectionMode), typeof(ItemSelectionMode), typeof(CollectionView), ItemSelectionMode.None,
                 propertyChanged: (bindable, oldValue, newValue) =>
@@ -124,7 +124,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Base constructor.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public CollectionView() : base()
         {
             FocusGroup = true;
@@ -135,7 +135,7 @@ namespace Tizen.NUI.Components
         /// Base constructor with ItemsSource
         /// </summary>
         /// <param name="itemsSource">item's data source</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public CollectionView(IEnumerable itemsSource) : this()
         {
             ItemsSource = itemsSource;
@@ -157,15 +157,15 @@ namespace Tizen.NUI.Components
 
         /// <summary>
         /// Event of Selection changed.
-        /// old selection list and new selection will be provided.
+        /// previous selection list and current selection will be provided.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public event EventHandler<SelectionChangedEventArgs> SelectionChanged;
 
         /// <summary>
         /// Align item in the viewport when ScrollTo() calls.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public enum ItemScrollTo
         {
             /// <summary>
@@ -174,25 +174,29 @@ namespace Tizen.NUI.Components
             /// item is under the scroll viewport, item will be came into end,
             /// item is in the scroll viewport, no scroll.
             /// </summary>
+            /// <since_tizen> 9 </since_tizen>
             Nearest,
             /// <summary>
             /// Scroll to show item in start of the viewport.
             /// </summary>
+            /// <since_tizen> 9 </since_tizen>
             Start,
             /// <summary>
             /// Scroll to show item in center of the viewport.
             /// </summary>
+            /// <since_tizen> 9 </since_tizen>
             Center,
             /// <summary>
             /// Scroll to show item in end of the viewport.
             /// </summary>
+            /// <since_tizen> 9 </since_tizen>
             End,
         }
 
         /// <summary>
-        /// Item's source data.
+        /// Item's source data in IEnumerable.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public override IEnumerable ItemsSource
         {
             get
@@ -240,8 +244,11 @@ namespace Tizen.NUI.Components
 
         /// <summary>
         /// DataTemplate for items.
+        /// Create visual contents and binding properties.
+        /// return object type is restricted RecyclerViewItem.
+        /// <seealso cref="Tizen.NUI.Binding.DataTemplate" />
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public override DataTemplate ItemTemplate
         {
             get
@@ -264,8 +271,12 @@ namespace Tizen.NUI.Components
 
         /// <summary>
         /// Items Layouter.
+        /// Layouting items on the scroll ContentContainer.
+        /// <seealso cref="ItemsLayouter" />
+        /// <seealso cref="LinearLayouter" />
+        /// <seealso cref="GridLayouter" />
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public virtual ItemsLayouter ItemsLayouter
         {
             get
@@ -297,7 +308,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Scrolling direction to display items layout.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public new Direction ScrollingDirection
         {
             get
@@ -318,7 +329,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Selected item in single selection.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public object SelectedItem
         {
             get => GetValue(SelectedItemProperty);
@@ -328,7 +339,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Selected items list in multiple selection.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public IList<object> SelectedItems
         {
             get => (IList<object>)GetValue(SelectedItemsProperty);
@@ -338,7 +349,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Selection mode to handle items selection. See ItemSelectionMode for details.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public ItemSelectionMode SelectionMode
         {
             get => (ItemSelectionMode)GetValue(SelectionModeProperty);
@@ -358,10 +369,10 @@ namespace Tizen.NUI.Components
         public object SelectionChangedCommandParameter { set; get; }
 
         /// <summary>
-        /// Header item which placed in top-most position.
-        /// note : internal index and count will be increased.
+        /// Header item placed in top-most position.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <remarks>Please note that, internal index will be increased by header.</remarks>
+        /// <since_tizen> 9 </since_tizen>
         public RecyclerViewItem Header
         {
             get => header;
@@ -386,10 +397,10 @@ namespace Tizen.NUI.Components
         }
 
         /// <summary>
-        /// Footer item which placed in bottom-most position.
-        /// note : internal count will be increased.
+        /// Footer item placed in bottom-most position.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <remarks>Please note that, internal index will be increased by footer.</remarks>
+        /// <since_tizen> 9 </since_tizen>
         public RecyclerViewItem Footer
         {
             get => footer;
@@ -414,7 +425,7 @@ namespace Tizen.NUI.Components
         }
 
         /// <summary>
-        /// Boolean flag of group feature existence.
+        /// Enable groupable view.
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool IsGrouped
@@ -437,8 +448,10 @@ namespace Tizen.NUI.Components
         }
 
         /// <summary>
-        ///  DataTemplate of group header. Group feature is not supported yet.
+        ///  DataTemplate of group header.
         /// </summary>
+        /// <remarks>Please note that, internal index will be increased by group header.
+        /// GroupHeaderTemplate is essential for groupable view.</remarks>        
         [EditorBrowsable(EditorBrowsableState.Never)]
         public DataTemplate GroupHeaderTemplate
         {
@@ -457,6 +470,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// DataTemplate of group footer. Group feature is not supported yet.
         /// </summary>
+        /// <remarks>Please note that, internal index will be increased by group footer.</remarks>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public DataTemplate GroupFooterTemplate
         {
@@ -494,7 +508,7 @@ namespace Tizen.NUI.Components
         internal ItemSizingStrategy SizingStrategy { get; set; }
 
         /// <inheritdoc/>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public override void OnRelayout(Vector2 size, RelayoutContainer container)
         {
             base.OnRelayout(size, container);
@@ -638,7 +652,7 @@ namespace Tizen.NUI.Components
         /// Update selected items list in multiple selection.
         /// </summary>
         /// <param name="newSelection">updated selection list by user</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public void UpdateSelectedItems(IList<object> newSelection)
         {
             var oldSelection = new List<object>(SelectedItems);
@@ -665,7 +679,7 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <param name="position">Destination.</param>
         /// <param name="animate">Scroll with or without animation</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public new void ScrollTo(float position, bool animate) => base.ScrollTo(position, animate);
 
         /// <summary>
@@ -673,8 +687,8 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <param name="index">Target item index of dataset.</param>
         /// <param name="animate">Boolean flag of animation.</param>
-        /// <param name="align">Align state of item. see details in ItemScrollTo.</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <param name="align">Align state of item. See details in \<see cref="ItemScrollTo"/\>.</param>
+        /// <since_tizen> 9 </since_tizen>
         public virtual void ScrollTo(int index, bool animate = false, ItemScrollTo align = ItemScrollTo.Nearest)
         {
             if (ItemsLayouter == null) throw new Exception("Item Layouter must exist.");
@@ -907,7 +921,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Internal selection callback.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         protected virtual void OnSelectionChanged(SelectionChangedEventArgs args)
         {
             //Selection Callback
@@ -928,11 +942,11 @@ namespace Tizen.NUI.Components
         }
 
         /// <summary>
-        /// OnScroll event callback.
+        /// OnScroll event callback. Requesting layout to the layouter with given scrollPosition.
         /// </summary>
         /// <param name="source">Scroll source object</param>
         /// <param name="args">Scroll event argument</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         protected override void OnScrolling(object source, ScrollEventArgs args)
         {
             if (disposed) return;
@@ -950,6 +964,7 @@ namespace Tizen.NUI.Components
         /// Dispose ItemsView and all children on it.
         /// </summary>
         /// <param name="type">Dispose type.</param>
+        /// <since_tizen> 9 </since_tizen>
         protected override void Dispose(DisposeTypes type)
         {
             if (disposed)
index b72b622..d442144 100755 (executable)
@@ -90,15 +90,7 @@ namespace Tizen.NUI.Components
             return true;
         }
 
-        /// <summary>
-        /// Called when the ViewItem is Clicked by a user
-        /// </summary>
-        /// <param name="eventArgs">The click information.</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        protected virtual void OnClicked(ClickedEventArgs eventArgs)
-        {
-            //Console.WriteLine("On Clicked Called {0}", this.Index);
-        }
+
 
         /// <summary>
         /// Called when the ViewItem need to be updated
@@ -201,25 +193,6 @@ namespace Tizen.NUI.Components
         {
         }
 
-        /// <summary>
-        /// Dispose Item and all children on it.
-        /// </summary>
-        /// <param name="type">Dispose type.</param>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //
-            }
-
-            base.Dispose(type);
-        }
-
         /// <inheritdoc/>
         [EditorBrowsable(EditorBrowsableState.Never)]
         protected override void OnControlStateChanged(ControlStateChangedEventArgs controlStateChangedInfo)
@@ -243,16 +216,6 @@ namespace Tizen.NUI.Components
         }
 
         /// <summary>
-        /// Get ViewItem style.
-        /// </summary>
-        /// <returns>The default ViewItem style.</returns>
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override ViewStyle CreateViewStyle()
-        {
-            return new RecyclerViewItemStyle();
-        }
-
-        /// <summary>
         /// Initializes AT-SPI object.
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
index be8586d..f728cd2 100755 (executable)
@@ -23,13 +23,13 @@ namespace Tizen.NUI.Components
     /// <summary>
     /// This class provides a basic item for CollectionView.
     /// </summary>
-    [EditorBrowsable(EditorBrowsableState.Never)]
+    /// <since_tizen> 9 </since_tizen>
     public partial class RecyclerViewItem : Control
     {
         /// <summary>
         /// Property of boolean Enable flag.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public static readonly BindableProperty IsEnabledProperty = BindableProperty.Create(nameof(IsEnabled), typeof(bool), typeof(RecyclerViewItem), true, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var instance = (RecyclerViewItem)bindable;
@@ -48,7 +48,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Property of boolean Selected flag.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public static readonly BindableProperty IsSelectedProperty = BindableProperty.Create(nameof(IsSelected), typeof(bool), typeof(RecyclerViewItem), true, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var instance = (RecyclerViewItem)bindable;
@@ -74,8 +74,8 @@ namespace Tizen.NUI.Components
 
         /// <summary>
         /// Property of boolean Selectable flag.
-        /// </summary>      
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// </summary>
+        /// <since_tizen> 9 </since_tizen>
         public static readonly BindableProperty IsSelectableProperty = BindableProperty.Create(nameof(IsSelectable), typeof(bool), typeof(RecyclerViewItem), true, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var instance = (RecyclerViewItem)bindable;
@@ -101,7 +101,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Creates a new instance of RecyclerViewItem.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public RecyclerViewItem() : base()
         {
         }
@@ -110,7 +110,7 @@ namespace Tizen.NUI.Components
         /// Creates a new instance of RecyclerViewItem with style.
         /// </summary>
         /// <param name="style">Create RecyclerViewItem by special style defined in UX.</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public RecyclerViewItem(string style) : base(style)
         {
         }
@@ -119,7 +119,7 @@ namespace Tizen.NUI.Components
         /// Creates a new instance of a RecyclerViewItem with style.
         /// </summary>
         /// <param name="itemStyle">Create RecyclerViewItem by style customized by user.</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public RecyclerViewItem(RecyclerViewItemStyle itemStyle) : base(itemStyle)
         {
         }
@@ -127,13 +127,13 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// An event for the RecyclerViewItem clicked signal which can be used to subscribe or unsubscribe the event handler provided by the user.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public event EventHandler<ClickedEventArgs> Clicked;
 
         /// <summary>
         /// Flag to decide RecyclerViewItem can be selected or not.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public bool IsSelectable
         {
             get => (bool)GetValue(IsSelectableProperty);
@@ -143,7 +143,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Flag to decide selected state in RecyclerViewItem.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public bool IsSelected
         {
             get => (bool)GetValue(IsSelectedProperty);
@@ -151,9 +151,10 @@ namespace Tizen.NUI.Components
         }
 
         /// <summary>
-        /// Flag to decide enable or disable in RecyclerViewItem.
+        /// Flag to decide enabled state in RecyclerViewItem.
+        /// Set enabled state false makes item untouchable and unfocusable.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public bool IsEnabled
         {
             get => (bool)GetValue(IsEnabledProperty);
@@ -277,7 +278,7 @@ namespace Tizen.NUI.Components
         /// Apply style to RecyclerViewItem.
         /// </summary>
         /// <param name="viewStyle">The style to apply.</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public override void ApplyStyle(ViewStyle viewStyle)
         {
             styleApplied = false;
@@ -293,5 +294,42 @@ namespace Tizen.NUI.Components
 
             styleApplied = true;
         }
+
+        /// <summary>
+        /// Get ViewItem style.
+        /// </summary>
+        /// <returns>The default ViewItem style.</returns>
+        /// <since_tizen> 9 </since_tizen>
+        protected override ViewStyle CreateViewStyle()
+        {
+            return new RecyclerViewItemStyle();
+        }
+
+        /// <summary>
+        /// Called when the ViewItem is Clicked by a user
+        /// </summary>
+        /// <param name="eventArgs">The click information.</param>
+        /// <since_tizen> 9 </since_tizen>
+        protected virtual void OnClicked(ClickedEventArgs eventArgs)
+        {
+            //Console.WriteLine("On Clicked Called {0}", this.Index);
+        }
+
+        /// <inheritdoc/>
+        /// <since_tizen> 9 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //
+            }
+
+            base.Dispose(type);
+        }
     }
 }
index 84fe4dd..11af799 100755 (executable)
@@ -22,32 +22,32 @@ namespace Tizen.NUI.Components
     /// <summary>
     /// Selection mode of CollecitonView.
     /// </summary>
-    [EditorBrowsable(EditorBrowsableState.Never)]
+    /// <since_tizen> 9 </since_tizen>
     [SuppressMessage("Microsoft.Naming",
                      "CA1720: Identifiers should not contain type names",
                      Justification = "Single is the member of enum ItemSelectionMode. there are no possible danger to miss using Single Identifiers.")]
     public enum ItemSelectionMode
     {
         /// <summary>
-        /// None of item can be selected.
+        /// None of the items can be selected.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         None,
         /// <summary>
-        /// Single selection. select item exclusively so previous selected item will be unselected.
+        /// Single selection. Select item exclusively so previous selected item will be unselected.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         Single,
         /// <summary>
-        /// Single selection always. select item exclusively but selection is always exist after being selected.
-        /// to deselect item, clear selection forcely.
+        /// Single selection always. It's not possible to unselect all, so after user selects an item,
+        /// there is always exactly one item selected. To deselect item, clear selection forcely.
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         SingleAlways,
         /// <summary>
-        /// Multiple selections. select multiple items and previous selected item still remains selected.
+        /// Multiple selections. Select multiple items and previous selected item still remains selected.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         Multiple
     }
 }
index f3aba65..5975351 100755 (executable)
@@ -21,9 +21,9 @@ using Tizen.NUI.BaseComponents;
 namespace Tizen.NUI.Components
 {
     /// <summary>
-    /// This class implements a grid box layout.
+    /// Layouter for CollectionView to display items in grid layout.
     /// </summary>
-    [EditorBrowsable(EditorBrowsableState.Never)]
+    /// <since_tizen> 9 </since_tizen>
     public class GridLayouter : ItemsLayouter
     {
         private CollectionView colView;
@@ -48,8 +48,9 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Clean up ItemsLayouter.
         /// </summary>
-        /// <param name="view"> ItemsView of layouter. </param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <param name="view"> CollectionView of layouter. </param>
+        /// <since_tizen> 9 </since_tizen>
+        /// <remarks>please note that, view must be type of CollectionView</remarks>
         public override void Initialize(RecyclerView view)
         {
             colView = view as CollectionView;
@@ -335,6 +336,7 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <param name="scrollPosition">Scroll position which is calculated by ScrollableBase</param>
         /// <param name="force">boolean force flag to layouting forcely.</param>
+        /// <since_tizen> 9 </since_tizen>
         public override void RequestLayout(float scrollPosition, bool force = false)
         {
             // Layouting is only possible after once it intialized.
index a6ddf79..de5bf13 100755 (executable)
@@ -21,10 +21,11 @@ using System.ComponentModel;
 namespace Tizen.NUI.Components
 {
     /// <summary>
-    /// Default layout manager for CollectionView.
-    /// Lay out ViewItem and recycle ViewItem.
+    /// Default layout manager for RecyclerView.
+    /// Layouting RecyclerViewItem on the scroll ContentContainer
+    /// which need to be visible on the view by scroll position.
     /// </summary>
-    [EditorBrowsable(EditorBrowsableState.Never)]
+    /// <since_tizen> 9 </since_tizen>
     public abstract class ItemsLayouter : ICollectionChangedNotifier, IDisposable
     {
         private bool disposed = false;
@@ -119,7 +120,7 @@ namespace Tizen.NUI.Components
         /// Clean up ItemsLayouter.
         /// </summary>
         /// <param name="view"> ItemsView of layouter.</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public virtual void Initialize(RecyclerView view)
         {
             ItemsView = view ?? throw new ArgumentNullException(nameof(view));
@@ -136,7 +137,7 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <param name="scrollPosition">Scroll position which is calculated by ScrollableBase</param>
         /// <param name="force">boolean force flag to layouting forcely.</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public virtual void RequestLayout(float scrollPosition, bool force = false)
         {
             // Layouting Items in scrollPosition.
@@ -145,7 +146,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Clear the current screen and all properties.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public virtual void Clear()
         {
             foreach (RecyclerViewItem item in VisibleItems)
@@ -302,7 +303,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Dispose ItemsLayouter and all children on it.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public void Dispose()
         {
             Dispose(true);
index 167fbc3..90c3106 100755 (executable)
@@ -21,9 +21,9 @@ using System.ComponentModel;
 namespace Tizen.NUI.Components
 {
     /// <summary>
-    /// [Draft] This class implements a linear box layout.
+    /// layouter for CollectionView to display items in linear layout.
     /// </summary>
-    [EditorBrowsable(EditorBrowsableState.Never)]
+    /// <since_tizen> 9 </since_tizen>
     public class LinearLayouter : ItemsLayouter
     {
         private readonly List<float> ItemPosition = new List<float>();
@@ -48,8 +48,9 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Clean up ItemsLayouter.
         /// </summary>
-        /// <param name="view"> ItemsView of layouter.</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <param name="view"> CollectionView of layouter.</param>
+        /// <since_tizen> 9 </since_tizen>
+        /// <remarks>please note that, view must be type of CollectionView</remarks>
         public override void Initialize(RecyclerView view)
         {
             colView = view as CollectionView;
@@ -336,7 +337,7 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <param name="scrollPosition">Scroll position which is calculated by ScrollableBase</param>
         /// <param name="force">boolean force flag to layouting forcely.</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public override void RequestLayout(float scrollPosition, bool force = false)
         {
             // Layouting is only possible after once it initialized.
index a1d4bd6..b5904b2 100755 (executable)
@@ -22,15 +22,15 @@ using Tizen.NUI.Binding;
 namespace Tizen.NUI.Components
 {
     /// <summary>
-    /// [Draft] This class provides a View that can layouting items in list and grid with high performance.
+    /// A View that serves as a base class for views that contain a templated list of items.
     /// </summary>
-    [EditorBrowsable(EditorBrowsableState.Never)]
+    /// <since_tizen> 9 </since_tizen>
     public abstract class RecyclerView : ScrollableBase, ICollectionChangedNotifier
     {
         /// <summary>
         /// Base Constructor
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public RecyclerView() : base()
         {
             Scrolling += OnScrolling;
@@ -39,13 +39,13 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Item's source data.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public virtual IEnumerable ItemsSource { get; set; }
 
         /// <summary>
         /// DataTemplate for items.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public virtual DataTemplate ItemTemplate { get; set; }
 
         /// <summary>
@@ -72,7 +72,7 @@ namespace Tizen.NUI.Components
         protected int CacheMax { get; set; } = 50;
 
         /// <inheritdoc/>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public override void OnRelayout(Vector2 size, RelayoutContainer container)
         {
             //Console.WriteLine("[NUI] On ReLayout [{0} {0}]", size.X, size.Y);
@@ -339,8 +339,8 @@ namespace Tizen.NUI.Components
 
         /// <summary>
         /// On scroll event callback.
-        /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// </summary>        
+        /// <since_tizen> 9 </since_tizen>
         protected virtual void OnScrolling(object source, ScrollEventArgs args)
         {
             if (args == null) throw new ArgumentNullException(nameof(args));
index f3c9e4b..2982e66 100755 (executable)
@@ -21,9 +21,9 @@ using System.Collections.Generic;
 namespace Tizen.NUI.Components
 {
     /// <summary>
-    /// Selection changed event. this might be deprecated.
+    /// Selection changed event in RecyclerView items.
     /// </summary>
-    [EditorBrowsable(EditorBrowsableState.Never)]
+    /// <since_tizen> 9 </since_tizen>
     public class SelectionChangedEventArgs : EventArgs
     {
         static readonly IReadOnlyList<object> selectEmpty = new List<object>(0);
@@ -31,13 +31,13 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Previous selection list.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public IReadOnlyList<object> PreviousSelection { get; }
 
         /// <summary>
         /// Current selection list.    
         ///  </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public IReadOnlyList<object> CurrentSelection { get; }
 
         internal SelectionChangedEventArgs(object previousSelection, object currentSelection)
index 6414bc9..0d054a1 100755 (executable)
@@ -33,7 +33,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Creates a new instance of a DefaultLinearItemStyle.
         /// </summary>
-        /// <since_tizen> 8 </since_tizen>
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public DefaultLinearItemStyle() : base()
         {
         }
index 72f5fe2..3d36ee7 100755 (executable)
@@ -33,7 +33,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Creates a new instance of a DefaultTitleItemStyle.
         /// </summary>
-        /// <since_tizen> 8 </since_tizen>
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public DefaultTitleItemStyle() : base()
         {
         }
index e134c44..5d0b3bc 100755 (executable)
@@ -23,9 +23,9 @@ using Tizen.NUI.Components.Extension;
 namespace Tizen.NUI.Components
 {
     /// <summary>
-    /// RecyclerViewItemStyle is a class which saves RecyclerViewItem's ux data.
+    /// RecyclerViewItemStyle is a class which saves RecyclerViewItem's UX data.
     /// </summary>
-    [EditorBrowsable(EditorBrowsableState.Never)]
+    /// <since_tizen> 9 </since_tizen>
     public class RecyclerViewItemStyle : ControlStyle
     {
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
@@ -74,7 +74,7 @@ namespace Tizen.NUI.Components
         /// <summary>
         /// Creates a new instance of a RecyclerViewItemStyle.
         /// </summary>
-        /// <since_tizen> 8 </since_tizen>
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public RecyclerViewItemStyle() : base()
         {
         }
index 27ce4ad..54664da 100755 (executable)
@@ -21,13 +21,16 @@ using System.Collections.Generic;
 
 namespace Tizen.NUI.Binding
 {
-    [EditorBrowsable(EditorBrowsableState.Never)]
+    /// <summary>
+    /// A template for multiple bindings, commonly used by RecylerView and CollectionView.
+    /// </summary>
+    /// <since_tizen> 9 </since_tizen>
     public class DataTemplate : ElementTemplate
     {
         /// <summary>
         /// Base constructor.
         /// </summary>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public DataTemplate()
         {
         }
@@ -36,7 +39,7 @@ namespace Tizen.NUI.Binding
         /// Base constructor with specific Type.
         /// </summary>
         /// <param name="type">The Type of content.</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <since_tizen> 9 </since_tizen>
         public DataTemplate(Type type) : base(type)
         {
         }
@@ -45,18 +48,31 @@ namespace Tizen.NUI.Binding
         /// Base constructor with loadTemplate function.
         /// </summary>
         /// <param name="loadTemplate">The function of loading templated object.</param>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+         /// <since_tizen> 9 </since_tizen>
         public DataTemplate(Func<object> loadTemplate) : base(loadTemplate)
         {
         }
 
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <summary>
+        /// Gets a dictionary of bindings, indexed by the bound properties.
+        /// </summary>
+        /// <since_tizen> 9 </since_tizen>
         public IDictionary<BindableProperty, BindingBase> Bindings { get; } = new Dictionary<BindableProperty, BindingBase>();
 
-        [EditorBrowsable(EditorBrowsableState.Never)]
+
+        /// <summary>
+        /// Returns a dictionary of property values for this DataTemplate, indexed by property.
+        /// </summary>
+        /// <since_tizen> 9 </since_tizen>
         public IDictionary<BindableProperty, object> Values { get; } = new Dictionary<BindableProperty, object>();
 
-        [EditorBrowsable(EditorBrowsableState.Never)]
+
+        /// <summary>
+        /// Sets the binding for property.
+        /// </summary>
+        /// <param name="property">The property to which to bind.</param>
+        /// <param name="binding">The binding to use.</param>
+        /// <since_tizen> 9 </since_tizen>
         public void SetBinding(BindableProperty property, BindingBase binding)
         {
             if (property == null)
@@ -68,6 +84,12 @@ namespace Tizen.NUI.Binding
             Bindings[property] = binding;
         }
 
+        /// <summary>
+        /// Sets the value of property.
+        /// </summary>
+        /// <param name="property">The property to set.</param>
+        /// <param name="value">The new value.</param>
+        /// <since_tizen> 9 </since_tizen>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public void SetValue(BindableProperty property, object value)
         {
index ee60914..7131574 100755 (executable)
@@ -21,12 +21,22 @@ using System.Collections.Generic;
 
 namespace Tizen.NUI.Binding
 {
-    [EditorBrowsable(EditorBrowsableState.Never)]
+    /// <summary>
+    /// Selects DataTemplate objects by data type and container.
+    /// </summary>
+    /// <since_tizen> 9 </since_tizen>
     public abstract class DataTemplateSelector : DataTemplate
     {
         Dictionary<Type, DataTemplate> _dataTemplates = new Dictionary<Type, DataTemplate>();
 
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <summary>
+        /// Returns a DataTemplate for item by calling
+        /// OnSelectTemplate(Object, BindableObject) and verifying its result.
+        /// </summary>
+        /// <param name="item">The data for which to return a template.</param>
+        /// <param name="container">An optional container object in which
+        /// the developer may have opted to store DataTemplateSelector objects.</param>
+        /// <returns>A developer-defined DataTemplate that can be used to display item.</returns>
         public DataTemplate SelectTemplate(object item, BindableObject container)
         {
             DataTemplate dataTemplate = null;
@@ -43,7 +53,15 @@ namespace Tizen.NUI.Binding
             return dataTemplate;
         }
 
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <summary>
+        /// The developer overrides this method to return a valid data template for the specified item.
+        /// This method is called by SelectTemplate(Object, BindableObject).
+        /// </summary>
+        /// <param name="item">The data for which to return a template.</param>
+        /// <param name="container">An optional container object in which
+        /// the developer may have opted to store DataTemplateSelector objects.</param>
+        /// <returns>A developer-defined DataTemplate that can be used to display item.</returns>
+        /// <since_tizen> 9 </since_tizen>
         protected abstract DataTemplate OnSelectTemplate(object item, BindableObject container);
     }
 }
index a39d587..b212e6e 100755 (executable)
@@ -24,7 +24,7 @@ namespace Tizen.NUI.Binding
     /// <summary>
     /// Base class for DataTemplate and ControlTemplate classes.
     /// </summary>
-    [EditorBrowsable(EditorBrowsableState.Never)]
+     /// <since_tizen> 9 </since_tizen>
     public class ElementTemplate : IElement, IDataTemplate
     {
         List<Action<object, ResourcesChangedEventArgs>> changeHandlers;
@@ -95,8 +95,8 @@ namespace Tizen.NUI.Binding
         /// <summary>
         /// Used by the XAML infrastructure to load data templates and set up the content of the resulting UI.
         /// </summary>
-        /// <returns></returns>
-        [EditorBrowsable(EditorBrowsableState.Never)]
+        /// <returns>Object created by DataTemplate</returns>
+        /// <since_tizen> 9 </since_tizen>
         public object CreateContent()
         {
             if (LoadTemplate == null)
index e8eabd1..d713153 100755 (executable)
@@ -43,8 +43,8 @@ namespace Tizen.NUI.Samples
                     item.WidthSpecification = 180;
                     item.HeightSpecification = 240;
                     //Decorate Label
-                    item.Caption.SetBinding(TextLabel.TextProperty, "ViewLabel");
-                    item.Caption.HorizontalAlignment = HorizontalAlignment.Center;
+                    item.Label.SetBinding(TextLabel.TextProperty, "ViewLabel");
+                    item.Label.HorizontalAlignment = HorizontalAlignment.Center;
                     //Decorate Image
                     item.Image.SetBinding(ImageView.ResourceUrlProperty, "ImageUrl");
                     item.Image.WidthSpecification = 170;
index b0b044e..e4bccb6 100644 (file)
@@ -47,8 +47,8 @@ namespace Tizen.NUI.Samples
                     item.WidthSpecification = 180;
                     item.HeightSpecification = 240;
                     //Decorate Label
-                    item.Caption.SetBinding(TextLabel.TextProperty, "ViewLabel");
-                    item.Caption.HorizontalAlignment = HorizontalAlignment.Center;
+                    item.Label.SetBinding(TextLabel.TextProperty, "ViewLabel");
+                    item.Label.HorizontalAlignment = HorizontalAlignment.Center;
                     //Decorate Image
                     item.Image.SetBinding(ImageView.ResourceUrlProperty, "ImageUrl");
                     item.Image.WidthSpecification = 170;