using Lattice.Core.Docking.Abstractions;
namespace Lattice.Core.Docking.Models;
///
/// Представляет плавающее окно в системе докинга.
/// Плавающие окна могут перемещаться по экрану независимо от главного окна.
///
public class DockWindow
{
///
/// Получает уникальный идентификатор окна.
///
///
/// Строковый идентификатор, сгенерированный с помощью GUID.
/// Используется для сохранения позиции и размера окна в конфигурации.
///
public string Id { get; } = Guid.NewGuid().ToString();
///
/// Получает или задает корневой элемент макета внутри данного окна.
///
///
/// Корневой элемент дерева компоновки плавающего окна.
///
public IDockElement? Root { get; set; }
///
/// Получает или задает позицию X окна на экране.
///
///
/// Координата X левого верхнего угла окна в пикселях.
///
public double X { get; set; }
///
/// Получает или задает позицию Y окна на экране.
///
///
/// Координата Y левого верхнего угла окна в пикселях.
///
public double Y { get; set; }
///
/// Получает или задает ширину окна.
///
///
/// Ширина окна в пикселях. Значение по умолчанию: 800.
///
public double Width { get; set; } = 800;
///
/// Получает или задает высоту окна.
///
///
/// Высота окна в пикселях. Значение по умолчанию: 600.
///
public double Height { get; set; } = 600;
///
/// Получает или задает заголовок окна.
///
///
/// Текст заголовка окна. Обычно берется из активного контента.
/// Значение по умолчанию: "Lattice Tool Window".
///
public string Title { get; set; } = "Lattice Tool Window";
}