Files
Lattice/Lattice.Core/Models/ActionDefinition.cs

38 lines
1.3 KiB
C#

namespace Lattice.Core.Models;
/// <summary>
/// Определение действия (команды), которое может быть отображено в интерфейсе.
/// </summary>
public record ActionDefinition
{
/// <summary>
/// Уникальный идентификатор команды.
/// </summary>
public string Id { get; init; } = Guid.NewGuid().ToString();
/// <summary>
/// Текст кнопки, отображаемый пользователю.
/// </summary>
public string Label { get; init; } = "Action";
/// <summary>
/// Код иконки из шрифта Segoe Fluent Icons (например, "\uE102").
/// </summary>
public string IconKey { get; init; } = "\uE102";
/// <summary>
/// Группа контекста, к которой привязана кнопка (например, "CodeEditor", "Common").
/// </summary>
public string TargetContext { get; init; } = "Common";
/// <summary>
/// Указывает, активна ли кнопка в данный момент.
/// </summary>
public bool IsEnabled { get; set; } = true;
/// <summary>
/// Подсказка, отображаемая при наведении (Tooltip).
/// </summary>
public string Tooltip { get; init; } = string.Empty;
}