68 lines
2.5 KiB
C#
68 lines
2.5 KiB
C#
namespace Lattice.UI.Docking.Abstractions;
|
||
|
||
/// <summary>
|
||
/// Определяет контракт для команды в UI-слое док-системы.
|
||
/// Команды представляют действия, которые могут быть выполнены пользователем.
|
||
/// </summary>
|
||
public interface IDockCommand
|
||
{
|
||
/// <summary>
|
||
/// Получает уникальный идентификатор команды.
|
||
/// </summary>
|
||
/// <value>
|
||
/// Строковый идентификатор команды.
|
||
/// </value>
|
||
string Id { get; }
|
||
|
||
/// <summary>
|
||
/// Получает отображаемое имя команды.
|
||
/// </summary>
|
||
/// <value>
|
||
/// Имя команды, отображаемое в пользовательском интерфейсе.
|
||
/// </value>
|
||
string Name { get; }
|
||
|
||
/// <summary>
|
||
/// Получает описание команды.
|
||
/// </summary>
|
||
/// <value>
|
||
/// Текстовое описание функциональности команды.
|
||
/// </value>
|
||
string Description { get; }
|
||
|
||
/// <summary>
|
||
/// Получает идентификатор ресурса для иконки команды.
|
||
/// </summary>
|
||
/// <value>
|
||
/// Имя ресурса иконки или путь к файлу иконки.
|
||
/// </value>
|
||
string Icon { get; }
|
||
|
||
/// <summary>
|
||
/// Получает комбинацию клавиш для быстрого вызова команды.
|
||
/// </summary>
|
||
/// <value>
|
||
/// Строковое представление горячей клавиши (например, "Ctrl+S").
|
||
/// </value>
|
||
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;
|
||
} |