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