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,43 @@
namespace Lattice.UI.Docking.Abstractions;
/// <summary>
/// Определяет контракт для менеджера контекстных меню док-системы.
/// </summary>
public interface IDockContextManager
{
/// <summary>
/// Показывает контекстное меню для указанного элемента.
/// </summary>
/// <param name="element">Элемент, для которого показывается меню.</param>
/// <param name="x">Координата X для отображения меню.</param>
/// <param name="y">Координата Y для отображения меню.</param>
void ShowContextMenu(IDockControl element, double x, double y);
/// <summary>
/// Скрывает текущее контекстное меню.
/// </summary>
void HideContextMenu();
/// <summary>
/// Регистрирует команду в контекстном меню.
/// </summary>
/// <param name="commandId">Идентификатор команды.</param>
/// <param name="command">Команда для регистрации.</param>
void RegisterCommand(string commandId, IDockCommand command);
/// <summary>
/// Удаляет команду из контекстного меню.
/// </summary>
/// <param name="commandId">Идентификатор команды.</param>
void UnregisterCommand(string commandId);
/// <summary>
/// Событие, возникающее при показе контекстного меню.
/// </summary>
event EventHandler<ContextMenuShownEventArgs> ContextMenuShown;
/// <summary>
/// Событие, возникающее при скрытии контекстного меню.
/// </summary>
event EventHandler ContextMenuHidden;
}