DragAndDrop core
This commit is contained in:
47
Lattice.Serialization.Docking/DTO/LayoutDto.cs
Normal file
47
Lattice.Serialization.Docking/DTO/LayoutDto.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
namespace Lattice.Serialization.Docking;
|
||||
|
||||
/// <summary>
|
||||
/// Data Transfer Object (DTO) для сериализации состояния макета док-системы.
|
||||
/// Содержит все необходимые данные для сохранения и восстановления состояния макета.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Этот DTO является независимым от формата сериализации (JSON, XML, Binary) и используется
|
||||
/// как промежуточное представление между объектной моделью и сериализованными данными.
|
||||
/// </remarks>
|
||||
public class LayoutDto
|
||||
{
|
||||
/// <summary>
|
||||
/// Версия формата DTO для контроля совместимости.
|
||||
/// </summary>
|
||||
public string Version { get; set; } = "1.0";
|
||||
|
||||
/// <summary>
|
||||
/// Дата и время создания DTO в UTC.
|
||||
/// </summary>
|
||||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор приложения, создавшего DTO.
|
||||
/// </summary>
|
||||
public string? ApplicationId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Корневой элемент дерева компоновки.
|
||||
/// </summary>
|
||||
public ElementDto? Root { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Список плавающих окон.
|
||||
/// </summary>
|
||||
public List<WindowDto> FloatingWindows { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Список автоскрываемых панелей.
|
||||
/// </summary>
|
||||
public List<AutoHidePanelDto> AutoHidePanels { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Дополнительные метаданные, специфичные для приложения.
|
||||
/// </summary>
|
||||
public Dictionary<string, string> Metadata { get; set; } = new();
|
||||
}
|
||||
Reference in New Issue
Block a user