114 lines
3.6 KiB
C#
114 lines
3.6 KiB
C#
namespace Lattice.UI.Docking.Abstractions;
|
|
|
|
/// <summary>
|
|
/// Определяет контракт для темы оформления док-системы.
|
|
/// </summary>
|
|
public interface IDockTheme
|
|
{
|
|
/// <summary>
|
|
/// Получает имя темы.
|
|
/// </summary>
|
|
string Name { get; }
|
|
|
|
/// <summary>
|
|
/// Получает или задает основной цвет фона.
|
|
/// </summary>
|
|
string BackgroundColor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Получает или задает цвет фона панелей.
|
|
/// </summary>
|
|
string PanelBackgroundColor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Получает или задает цвет фона вкладок.
|
|
/// </summary>
|
|
string TabBackgroundColor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Получает или задает цвет активной вкладки.
|
|
/// </summary>
|
|
string ActiveTabBackgroundColor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Получает или задает цвет границ.
|
|
/// </summary>
|
|
string BorderColor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Получает или задает цвет разделителей.
|
|
/// </summary>
|
|
string SplitterColor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Получает или задает цвет текста.
|
|
/// </summary>
|
|
string TextColor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Получает или задает цвет акцента.
|
|
/// </summary>
|
|
string AccentColor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Получает или задает радиус скругления углов.
|
|
/// </summary>
|
|
double CornerRadius { get; set; }
|
|
|
|
/// <summary>
|
|
/// Получает или задает толщину границ.
|
|
/// </summary>
|
|
double BorderThickness { get; set; }
|
|
|
|
/// <summary>
|
|
/// Получает или задает ширину разделителей.
|
|
/// </summary>
|
|
double SplitterWidth { get; set; }
|
|
|
|
/// <summary>
|
|
/// Применяет тему к системе.
|
|
/// </summary>
|
|
void Apply();
|
|
|
|
/// <summary>
|
|
/// Сбрасывает тему к значениям по умолчанию.
|
|
/// </summary>
|
|
void Reset();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Предоставляет данные для события показа контекстного меню.
|
|
/// </summary>
|
|
public class ContextMenuShownEventArgs : EventArgs
|
|
{
|
|
/// <summary>
|
|
/// Получает элемент, для которого показано меню.
|
|
/// </summary>
|
|
public IDockControl Target { get; }
|
|
|
|
/// <summary>
|
|
/// Получает координату X меню.
|
|
/// </summary>
|
|
public double X { get; }
|
|
|
|
/// <summary>
|
|
/// Получает координату Y меню.
|
|
/// </summary>
|
|
public double Y { get; }
|
|
|
|
/// <summary>
|
|
/// Инициализирует новый экземпляр класса <see cref="ContextMenuShownEventArgs"/>.
|
|
/// </summary>
|
|
/// <param name="target">Элемент, для которого показано меню.</param>
|
|
/// <param name="x">Координата X меню.</param>
|
|
/// <param name="y">Координата Y меню.</param>
|
|
/// <exception cref="ArgumentNullException">
|
|
/// Выбрасывается, если <paramref name="target"/> равен null.
|
|
/// </exception>
|
|
public ContextMenuShownEventArgs(IDockControl target, double x, double y)
|
|
{
|
|
Target = target ?? throw new ArgumentNullException(nameof(target));
|
|
X = x;
|
|
Y = y;
|
|
}
|
|
} |