Files
Lattice/Lattice.UI.Docking/Abstractions/IDockCommand.cs
2026-01-18 16:33:35 +03:00

51 lines
1.6 KiB
C#

namespace Lattice.UI.Docking.Abstractions;
/// <summary>
/// Определяет контракт для команды док-системы.
/// </summary>
public interface IDockCommand
{
/// <summary>
/// Получает идентификатор команды.
/// </summary>
string Id { get; }
/// <summary>
/// Получает отображаемое имя команды.
/// </summary>
string Name { get; }
/// <summary>
/// Получает описание команды.
/// </summary>
string Description { get; }
/// <summary>
/// Получает значок команды.
/// </summary>
string Icon { get; }
/// <summary>
/// Получает комбинацию клавиш для команды.
/// </summary>
string Shortcut { get; }
/// <summary>
/// Определяет, можно ли выполнить команду.
/// </summary>
/// <param name="parameter">Параметр команды.</param>
/// <returns>true, если команду можно выполнить; в противном случае — false.</returns>
bool CanExecute(object? parameter);
/// <summary>
/// Выполняет команду.
/// </summary>
/// <param name="parameter">Параметр команды.</param>
void Execute(object? parameter);
/// <summary>
/// Событие, возникающее при изменении возможности выполнения команды.
/// </summary>
event EventHandler CanExecuteChanged;
}