This is ACR Patch to make CollectionView APIs public.
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) =>
/// <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) =>
/// <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) =>
/// <summary>
/// Base constructor.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 9 </since_tizen>
public CollectionView() : base()
{
FocusGroup = true;
/// 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;
/// <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>
/// 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
/// <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
/// <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
/// <summary>
/// Scrolling direction to display items layout.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 9 </since_tizen>
public new Direction ScrollingDirection
{
get
/// <summary>
/// Selected item in single selection.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 9 </since_tizen>
public object SelectedItem
{
get => GetValue(SelectedItemProperty);
/// <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);
/// <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);
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;
}
/// <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;
}
/// <summary>
- /// Boolean flag of group feature existence.
+ /// Enable groupable view.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public bool IsGrouped
}
/// <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
{
/// <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
{
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);
/// 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);
/// </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>
/// </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.");
/// <summary>
/// Internal selection callback.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 9 </since_tizen>
protected virtual void OnSelectionChanged(SelectionChangedEventArgs args)
{
//Selection Callback
}
/// <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;
/// 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)
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
{
}
- /// <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)
}
}
- /// <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>
/// <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;
/// <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;
/// <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;
/// <summary>
/// Creates a new instance of RecyclerViewItem.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 9 </since_tizen>
public RecyclerViewItem() : base()
{
}
/// 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)
{
}
/// 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)
{
}
/// <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);
/// <summary>
/// Flag to decide selected state in RecyclerViewItem.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 9 </since_tizen>
public bool IsSelected
{
get => (bool)GetValue(IsSelectedProperty);
}
/// <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);
/// 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;
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);
+ }
}
}
/// <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
}
}
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;
/// <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;
/// </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.
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;
/// 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));
/// </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.
/// <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)
/// <summary>
/// Dispose ItemsLayouter and all children on it.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 9 </since_tizen>
public void Dispose()
{
Dispose(true);
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>();
/// <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;
/// </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.
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;
/// <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>
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);
/// <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));
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);
/// <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)
/// <summary>
/// Creates a new instance of a DefaultLinearItemStyle.
/// </summary>
- /// <since_tizen> 8 </since_tizen>
+ [EditorBrowsable(EditorBrowsableState.Never)]
public DefaultLinearItemStyle() : base()
{
}
/// <summary>
/// Creates a new instance of a DefaultTitleItemStyle.
/// </summary>
- /// <since_tizen> 8 </since_tizen>
+ [EditorBrowsable(EditorBrowsableState.Never)]
public DefaultTitleItemStyle() : base()
{
}
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.
/// <summary>
/// Creates a new instance of a RecyclerViewItemStyle.
/// </summary>
- /// <since_tizen> 8 </since_tizen>
+ [EditorBrowsable(EditorBrowsableState.Never)]
public RecyclerViewItemStyle() : base()
{
}
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()
{
}
/// 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)
{
}
/// 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)
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)
{
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;
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);
}
}
/// <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;
/// <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)
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;
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;