79 lines
3.1 KiB
C#
79 lines
3.1 KiB
C#
|
using System.Collections.Generic;
|
||
|
using JetBrains.Annotations;
|
||
|
using Unity.Cloud.Collaborate.Models.Structures;
|
||
|
using Unity.Cloud.Collaborate.Presenters;
|
||
|
|
||
|
namespace Unity.Cloud.Collaborate.Views
|
||
|
{
|
||
|
internal interface IChangesView : IView<IChangesPresenter>
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Set busy status in the view.
|
||
|
/// </summary>
|
||
|
/// <param name="busy">Whether or not the presenter is busy with a request.</param>
|
||
|
void SetBusyStatus(bool busy);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Set the search query in the view.
|
||
|
/// </summary>
|
||
|
/// <param name="query">Latest search query to set.</param>
|
||
|
void SetSearchQuery([NotNull] string query);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Set the revision summary in the view.
|
||
|
/// </summary>
|
||
|
/// <param name="message">Latest summary to set.</param>
|
||
|
void SetRevisionSummary([NotNull] string message);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Set the conflicts to be displayed.
|
||
|
/// </summary>
|
||
|
/// <param name="list">List of conflicts to display.</param>
|
||
|
void SetConflicts([NotNull] IReadOnlyList<IChangeEntryData> list);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Set the changes to be selected.
|
||
|
/// </summary>
|
||
|
void SetSelectedChanges();
|
||
|
|
||
|
/// <summary>
|
||
|
/// Set the changes to be displayed.
|
||
|
/// </summary>
|
||
|
/// <param name="list">List of changes to be displayed.</param>
|
||
|
void SetChanges([NotNull] IReadOnlyList<IChangeEntryData> list);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Set the count of toggled entries.
|
||
|
/// </summary>
|
||
|
/// <param name="count">Latest toggled count.</param>
|
||
|
void SetToggledCount(int count);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Enable or disable the publish button based on the provided values. The optional reason is to be used as a
|
||
|
/// hint to users about why the functionality is blocked.
|
||
|
/// </summary>
|
||
|
/// <param name="enabled">Whether or not the publish is to be enabled.</param>
|
||
|
/// <param name="reason">Reason for the publish to be disabled.</param>
|
||
|
void SetPublishEnabled(bool enabled, [CanBeNull] string reason = null);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Display a dialogue to the user.
|
||
|
/// </summary>
|
||
|
/// <param name="title">Title for the dialogue.</param>
|
||
|
/// <param name="message">Message inside the dialogue.</param>
|
||
|
/// <param name="affirmative">Affirmative button text.</param>
|
||
|
/// <returns>True if affirmative is clicked.</returns>
|
||
|
bool DisplayDialogue([NotNull] string title, [NotNull] string message, [NotNull] string affirmative);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Display a dialogue to the user.
|
||
|
/// </summary>
|
||
|
/// <param name="title">Title for the dialogue.</param>
|
||
|
/// <param name="message">Message inside the dialogue.</param>
|
||
|
/// <param name="affirmative">Affirmative button text.</param>
|
||
|
/// <param name="negative">Negative button text.</param>
|
||
|
/// <returns>True if affirmative is clicked.</returns>
|
||
|
bool DisplayDialogue([NotNull] string title, [NotNull] string message, [NotNull] string affirmative, [NotNull] string negative);
|
||
|
}
|
||
|
}
|