using Lattice.Core.Docking.Models;
namespace Lattice.Core.Docking.Abstractions;
///
/// Определяет контракт для контейнеров, содержащих коллекцию вкладок.
/// Контейнеры являются листьями дерева компоновки и непосредственно отображают содержимое.
///
public interface IDockContainer : IDockElement
{
///
/// Получает список вкладок, находящихся в данном контейнере.
///
IList Children { get; }
///
/// Получает или задает текущую активную (выбранную) вкладку.
///
IDockContent? ActiveContent { get; set; }
///
/// Добавляет контент в контейнер и делает его активным.
///
/// Контент для добавления.
void AddContent(IDockContent content);
///
/// Удаляет контент из контейнера. Если коллекция становится пустой,
/// контейнер может быть удален из дерева макета.
///
/// Контент для удаления.
void RemoveContent(IDockContent content);
///
/// Получает или задает положение панели вкладок в интерфейсе.
///
TabPlacement TabPlacement { get; set; }
}