using Lattice.Core.Abstractions;
namespace Lattice.Core.Models;
///
/// Абстрактный базовый класс для всех узлов дерева компоновки.
///
public abstract class LayoutNode : ILayoutElement
{
///
public Guid Id { get; } = Guid.NewGuid();
///
public string Name { get; set; } = string.Empty;
///
public double WidthValue { get; set; } = 1.0;
///
public bool IsWidthStar { get; set; } = true;
///
public double HeightValue { get; set; } = 1.0;
///
public bool IsHeightStar { get; set; } = true;
///
public ILayoutElement? Parent { get; set; }
///
/// Возвращает строковое представление узла для отладки.
///
public override string ToString() => $"{GetType().Name} [{Name}] ({Id.ToString()[..4]})";
}