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