DragAndDrop core
This commit is contained in:
97
Lattice.UI.Docking/Abstractions/IAutoHidePanelControl.cs
Normal file
97
Lattice.UI.Docking/Abstractions/IAutoHidePanelControl.cs
Normal file
@@ -0,0 +1,97 @@
|
||||
using Lattice.Core.Docking.Models;
|
||||
|
||||
namespace Lattice.UI.Docking.Abstractions;
|
||||
|
||||
/// <summary>
|
||||
/// Определяет контракт для UI-контрола, который представляет автоскрываемую панель.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоскрываемые панели прикреплены к одной из сторон окна и скрываются,
|
||||
/// оставляя видимым только заголовок. При наведении курсора панель выезжает.
|
||||
/// </remarks>
|
||||
public interface IAutoHidePanelControl : IDockControl
|
||||
{
|
||||
/// <summary>
|
||||
/// Получает или задает сторону прикрепления панели.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// Сторона окна, к которой прикреплена панель.
|
||||
/// </value>
|
||||
DockSide Side { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Получает или задает ширину панели (для левой/правой сторон).
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// Ширина панели в пикселях.
|
||||
/// </value>
|
||||
double Width { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Получает или задает высоту панели (для верхней/нижней сторон).
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// Высота панели в пикселях.
|
||||
/// </value>
|
||||
double Height { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Получает или задает признак видимости панели.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// true, если панель видима; в противном случае — false.
|
||||
/// </value>
|
||||
bool IsVisible { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Получает или задает признак того, что панель всегда видима.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// true, если панель всегда видима; в противном случае — false.
|
||||
/// </value>
|
||||
bool IsPinned { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Получает или задает задержку перед скрытием панели (в миллисекундах).
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// Задержка в миллисекундах.
|
||||
/// </value>
|
||||
int AutoHideDelay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Показывает панель.
|
||||
/// </summary>
|
||||
void Show();
|
||||
|
||||
/// <summary>
|
||||
/// Скрывает панель.
|
||||
/// </summary>
|
||||
void Hide();
|
||||
|
||||
/// <summary>
|
||||
/// Переключает состояние видимости панели.
|
||||
/// </summary>
|
||||
void Toggle();
|
||||
|
||||
/// <summary>
|
||||
/// Задает фиксированное состояние панели.
|
||||
/// </summary>
|
||||
/// <param name="pinned">true, чтобы зафиксировать панель; false, чтобы разрешить автоскрытие.</param>
|
||||
void SetPinned(bool pinned);
|
||||
|
||||
/// <summary>
|
||||
/// Событие, возникающее при изменении видимости панели.
|
||||
/// </summary>
|
||||
event EventHandler VisibilityChanged;
|
||||
|
||||
/// <summary>
|
||||
/// Событие, возникающее при наведении курсора на панель.
|
||||
/// </summary>
|
||||
event EventHandler MouseEntered;
|
||||
|
||||
/// <summary>
|
||||
/// Событие, возникающее при уходе курсора с панели.
|
||||
/// </summary>
|
||||
event EventHandler MouseLeft;
|
||||
}
|
||||
Reference in New Issue
Block a user