DragAndDrop core

This commit is contained in:
FrigaT
2026-01-18 16:33:35 +03:00
parent 9ea82af329
commit 79bdd8bc62
229 changed files with 21214 additions and 2494 deletions

View File

@@ -0,0 +1,50 @@
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;
}