Files
2026-02-01 09:26:13 +03:00

43 lines
1.7 KiB
C#

namespace Lattice.Core.Docking.Abstractions;
/// <summary>
/// Определяет контракт для содержимого (вкладки), которое может быть размещено внутри контейнера.
/// </summary>
public interface IDockContent
{
/// <summary>
/// Получает уникальный идентификатор контента.
/// Используется для идентификации вкладки в системе.
/// </summary>
string Id { get; }
/// <summary>
/// Устанавливает идентификатор контента.
/// </summary>
/// <param name="id">Новый идентификатор.</param>
void SetId(string id);
/// <summary>
/// Получает заголовок, отображаемый пользователю на вкладке.
/// </summary>
string Title { get; }
/// <summary>
/// Получает или задает визуальный элемент для отображения в теле вкладки.
/// </summary>
object View { get; set; }
/// <summary>
/// Получает значение, указывающее, можно ли закрыть вкладку.
/// </summary>
bool CanClose { get; }
/// <summary>
/// Вызывается системой при попытке закрытия контента.
/// Позволяет выполнить дополнительные проверки или сохранить состояние.
/// </summary>
/// <returns>
/// true, если закрытие разрешено; в противном случае false.
/// </returns>
bool OnClosing();
}