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