39 lines
1.4 KiB
C#
39 lines
1.4 KiB
C#
using Lattice.Core.Models.Enums;
|
||
|
||
namespace Lattice.Core.Models;
|
||
|
||
/// <summary>
|
||
/// Узел-контейнер, разделяющий пространство между дочерними элементами в определенной ориентации.
|
||
/// </summary>
|
||
public class SplitContainerNode : LayoutNode
|
||
{
|
||
/// <summary>
|
||
/// Ориентация разделения (горизонтальная или вертикальная).
|
||
/// </summary>
|
||
public SplitOrientation Orientation { get; set; }
|
||
|
||
/// <summary>
|
||
/// Список дочерних узлов, находящихся внутри данного контейнера.
|
||
/// </summary>
|
||
public List<LayoutNode> Children { get; } = new();
|
||
|
||
/// <summary>
|
||
/// Инициализирует новый экземпляр <see cref="SplitContainerNode"/>.
|
||
/// </summary>
|
||
/// <param name="orientation">Ориентация контейнера.</param>
|
||
public SplitContainerNode(SplitOrientation orientation)
|
||
{
|
||
Orientation = orientation;
|
||
}
|
||
|
||
/// <summary>
|
||
/// Добавляет дочерний узел в контейнер и устанавливает связь с родителем.
|
||
/// </summary>
|
||
/// <param name="child">Узел для добавления.</param>
|
||
public void AddChild(LayoutNode child)
|
||
{
|
||
child.Parent = this;
|
||
Children.Add(child);
|
||
}
|
||
}
|