using AIStudio.Tools.Rust; namespace AIStudio.Components; /// /// UI binding data for a configurable keyboard shortcut. /// public sealed class ConfigurationShortcutData { /// /// Empty shortcut binding. /// public static ConfigurationShortcutData Empty { get; } = new(); /// /// The name/identifier of the shortcut, used for conflict detection and registration. /// public Shortcut Id { get; init; } = Shortcut.NONE; /// /// The current shortcut value. /// public Func Value { get; init; } = () => string.Empty; /// /// An action that is called when the shortcut was changed. /// public Action ValueUpdate { get; init; } = _ => { }; /// /// The optional user-facing shortcut label. /// public Func DisplayName { get; init; } = () => string.Empty; /// /// The canonical shortcut value the optional user-facing label belongs to. /// public Func DisplaySource { get; init; } = () => string.Empty; /// /// An action that is called when the user-facing shortcut label was changed. /// public Action DisplayUpdate { get; init; } = (_, _) => { }; }