MASS4.Autoformers.Excalibur
6.3.0
dotnet add package MASS4.Autoformers.Excalibur --version 6.3.0
NuGet\Install-Package MASS4.Autoformers.Excalibur -Version 6.3.0
<PackageReference Include="MASS4.Autoformers.Excalibur" Version="6.3.0" />
<PackageVersion Include="MASS4.Autoformers.Excalibur" Version="6.3.0" />
<PackageReference Include="MASS4.Autoformers.Excalibur" />
paket add MASS4.Autoformers.Excalibur --version 6.3.0
#r "nuget: MASS4.Autoformers.Excalibur, 6.3.0"
#:package MASS4.Autoformers.Excalibur@6.3.0
#addin nuget:?package=MASS4.Autoformers.Excalibur&version=6.3.0
#tool nuget:?package=MASS4.Autoformers.Excalibur&version=6.3.0
Autoformers.Excalibur
Draws a Autoformers model with Excalibur controls.
var context = new FormRenderContext(); // keep one per panel: fold state lives here
gui.Form(FormBuilder.Build(settings), "settings", context);
gui.FormField(field, id, context)draws one labelled row;gui.FormFieldEditor(...)only its editor.FormDrawersis a registry scope.Add(...)returns anIDisposablethat removes exactly that registration; a child scope falls back to its parent andFormDrawers.Defaultholds the built-ins.- Dispatch: attribute decorators wrap → writable type drawer → predicate drawers → collection → nested object → built-in (bool, string, enum, numbers) → read-only summary.
- Colors come from the
formstylesheet rule and its theme tokens; sizes from inherited control style tokens (CompactHeight,CompactFontSize) plusFormLabelWidth,FormIndent,FormCaretOpenandFormCaretClosed. - Drawing is single-threaded (the GUI thread); registration may happen from any thread.
Depends on MASS4.Guinevere, MASS4.Guinevere.Excalibur and Autoformers only; never on Gaya or Turian.
Enum fields
using MASS4.Attributes;
[Flags]
public enum Permissions { None = 0, Read = 1, Write = 2 }
public enum Mode { Preview, Edit, Play }
public sealed class Settings
{
public Permissions Access { get; set; } // Searchable flag dropdown.
[EnumButtons] public Mode Mode { get; set; } // One horizontal button group.
[EnumPaging] public Mode Step { get; set; } // Dropdown plus previous/next.
}
No enum attribute is needed for the searchable dropdown. [Flags] enables independent checkbox/button selection, and mixed flag edits preserve each owner's unrelated bits. Selecting None clears the full mask; paging replaces the full value and wraps through declared choices. [EnumButtons] takes precedence when both presentation attributes are present. Use button groups for short option lists; they currently occupy one row.
Apply [EnumLabel("Display label")] to an enum member to override its name. FormRenderContext.Translate translates these labels. Read-only enum fields use the read-only summary. See the attribute catalog for custom selection controls.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- MASS4.Autoformers (>= 6.3.0)
- MASS4.Guinevere (>= 6.3.0)
- MASS4.Guinevere.Excalibur (>= 6.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.