using Lattice.Core.Docking.Models; namespace Lattice.UI.Docking.Abstractions; /// /// Определяет контракт для UI-контрола, который представляет автоскрываемую панель. /// /// /// Автоскрываемые панели прикреплены к одной из сторон окна и скрываются, /// оставляя видимым только заголовок. При наведении курсора панель выезжает. /// public interface IAutoHidePanelControl : IDockControl { /// /// Получает или задает сторону прикрепления панели. /// /// /// Сторона окна, к которой прикреплена панель. /// DockSide Side { get; set; } /// /// Получает или задает ширину панели (для левой/правой сторон). /// /// /// Ширина панели в пикселях. /// double Width { get; set; } /// /// Получает или задает высоту панели (для верхней/нижней сторон). /// /// /// Высота панели в пикселях. /// double Height { get; set; } /// /// Получает или задает признак видимости панели. /// /// /// true, если панель видима; в противном случае — false. /// bool IsVisible { get; set; } /// /// Получает или задает признак того, что панель всегда видима. /// /// /// true, если панель всегда видима; в противном случае — false. /// bool IsPinned { get; set; } /// /// Получает или задает задержку перед скрытием панели (в миллисекундах). /// /// /// Задержка в миллисекундах. /// int AutoHideDelay { get; set; } /// /// Показывает панель. /// void Show(); /// /// Скрывает панель. /// void Hide(); /// /// Переключает состояние видимости панели. /// void Toggle(); /// /// Задает фиксированное состояние панели. /// /// /// true, чтобы зафиксировать панель; false, чтобы разрешить автоскрытие. /// void SetPinned(bool pinned); /// /// Происходит при изменении видимости панели. /// event EventHandler VisibilityChanged; /// /// Происходит при наведении курсора на панель. /// event EventHandler MouseEntered; /// /// Происходит при уходе курсора с панели. /// event EventHandler MouseLeft; }