Rasagar/Library/PackageCache/com.unity.test-framework/UnityEditor.TestRunner/GUI/Controls/ISelectionDropDownContentProvider.cs
2024-08-26 23:07:20 +03:00

47 lines
1.7 KiB
C#

using System;
namespace UnityEditor.TestTools.TestRunner.GUI.Controls
{
/// <summary>
/// Defines a content provider that can be used with the <see cref="SelectionDropDown" /> control.
/// </summary>
internal interface ISelectionDropDownContentProvider
{
/// <summary>
/// The total number of items to display.
/// </summary>
int Count { get; }
/// <summary>
/// Multiple selection support.
/// Multiple selection dropdowns don't get closed on selection change.
/// </summary>
bool IsMultiSelection { get; }
/// <summary>
/// The indices of items which should be followed by separator lines.
/// </summary>
int[] SeparatorIndices { get; }
/// <summary>
/// Returns the display name of the item at the specified index.
/// </summary>
/// <param name="index">The index of the item whose display name is to be returned.</param>
/// <returns>The display name of the item at the specified index.</returns>
string GetName(int index);
/// <summary>
/// Signals a request to select the item at the specified index.
/// </summary>
/// <param name="index">The index of the item to be selected.</param>
void SelectItem(int index);
/// <summary>
/// Returns the selection status of the item at the specified index.
/// </summary>
/// <param name="index">The index of the item whose selection status is to be returned.</param>
/// <returns><c>true</c> if the item is currently selected; otherwise, <c>false</c>. </returns>
bool IsSelected(int index);
}
}