1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 18:42:56 +08:00

Add xmldoc to multiple selection row

This commit is contained in:
Bartłomiej Dach 2020-10-28 23:37:21 +01:00
parent 016e920aa9
commit 1313ab89e7

View File

@ -25,8 +25,11 @@ namespace osu.Game.Overlays.BeatmapListing
Current.BindTo(filter.Current); Current.BindTo(filter.Current);
} }
protected override Drawable CreateFilter() => filter = CreateMultipleSelectionFilter(); protected sealed override Drawable CreateFilter() => filter = CreateMultipleSelectionFilter();
/// <summary>
/// Creates a filter control that can be used to simultaneously select multiple values of type <typeparamref name="T"/>.
/// </summary>
protected virtual MultipleSelectionFilter CreateMultipleSelectionFilter() => new MultipleSelectionFilter(); protected virtual MultipleSelectionFilter CreateMultipleSelectionFilter() => new MultipleSelectionFilter();
protected class MultipleSelectionFilter : FillFlowContainer<MultipleSelectionFilterTabItem> protected class MultipleSelectionFilter : FillFlowContainer<MultipleSelectionFilterTabItem>
@ -53,8 +56,14 @@ namespace osu.Game.Overlays.BeatmapListing
item.Active.BindValueChanged(active => toggleItem(item.Value, active.NewValue)); item.Active.BindValueChanged(active => toggleItem(item.Value, active.NewValue));
} }
/// <summary>
/// Returns all values to be displayed in this filter row.
/// </summary>
protected virtual IEnumerable<T> GetValues() => Enum.GetValues(typeof(T)).Cast<T>(); protected virtual IEnumerable<T> GetValues() => Enum.GetValues(typeof(T)).Cast<T>();
/// <summary>
/// Creates a <see cref="MultipleSelectionFilterTabItem"/> representing the supplied <paramref name="value"/>.
/// </summary>
protected virtual MultipleSelectionFilterTabItem CreateTabItem(T value) => new MultipleSelectionFilterTabItem(value); protected virtual MultipleSelectionFilterTabItem CreateTabItem(T value) => new MultipleSelectionFilterTabItem(value);
private void toggleItem(T value, bool active) private void toggleItem(T value, bool active)