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,110 @@
namespace Lattice.UI.Docking.Abstractions;
/// <summary>
/// Определяет контракт для UI-контрола, который представляет плавающее окно док-системы.
/// </summary>
/// <remarks>
/// Плавающие окна могут перемещаться по экрану, изменять размер и содержать
/// любой элемент док-системы (группу или лист).
/// </remarks>
public interface IFloatingWindowControl : IDockControl
{
/// <summary>
/// Получает или задает заголовок окна.
/// </summary>
/// <value>
/// Текст заголовка окна.
/// </value>
string Title { get; set; }
/// <summary>
/// Получает или задает позицию X окна на экране.
/// </summary>
/// <value>
/// Координата X левого верхнего угла окна.
/// </value>
double Left { get; set; }
/// <summary>
/// Получает или задает позицию Y окна на экране.
/// </summary>
/// <value>
/// Координата Y левого верхнего угла окна.
/// </value>
double Top { get; set; }
/// <summary>
/// Получает или задает ширину окна.
/// </summary>
/// <value>
/// Ширина окна в пикселях.
/// </value>
double Width { get; set; }
/// <summary>
/// Получает или задает высоту окна.
/// </summary>
/// <value>
/// Высота окна в пикселях.
/// </value>
double Height { get; set; }
/// <summary>
/// Получает или задает признак того, что окно можно изменять.
/// </summary>
/// <value>
/// true, если размеры окна можно изменять; в противном случае — false.
/// </value>
bool CanResize { get; set; }
/// <summary>
/// Получает или задает признак того, что окно можно перемещать.
/// </summary>
/// <value>
/// true, если окно можно перемещать; в противном случае — false.
/// </value>
bool CanMove { get; set; }
/// <summary>
/// Получает или задает признак того, что окно всегда поверх других окон.
/// </summary>
/// <value>
/// true, если окно всегда поверх; в противном случае — false.
/// </value>
bool AlwaysOnTop { get; set; }
/// <summary>
/// Показывает окно.
/// </summary>
void Show();
/// <summary>
/// Скрывает окно.
/// </summary>
void Hide();
/// <summary>
/// Закрывает окно.
/// </summary>
void Close();
/// <summary>
/// Активирует окно (переводит фокус).
/// </summary>
void Activate();
/// <summary>
/// Событие, возникающее при закрытии окна.
/// </summary>
event EventHandler Closing;
/// <summary>
/// Событие, возникающее при изменении положения окна.
/// </summary>
event EventHandler LocationChanged;
/// <summary>
/// Событие, возникающее при изменении размера окна.
/// </summary>
event EventHandler SizeChanged;
}