Vixen
dd8b0a81
csharp
public sealed class ChoiceDrawer

A dropdown over the values a member states it accepts.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

⚠ EnumDrawer for a set of legal values that is not a CLR type — #964. A node setting is one of nine measurements, a plugin's own row is one of the names a library published: legal sets both, enumerable both, and neither is an , so both drew as a text box in which a typo is a diagnostic instead of an impossibility.

⚠ Registered for after StringDrawer and declining when there is no list, which is the registry's own idiom: the most recently registered wins and what it declines falls through untouched. So a string member that states nothing is a text box exactly as it was, and this file adds no behaviour to any member that did not ask for it.

⚠ A stored value the list does not hold is offered rather than dropped. A dropdown that silently showed the first option would say the member holds that, and then write it on the next click — losing a value the author has not been told is wrong. Whatever refuses it downstream is what says so; this control's job is to stop showing a lie.

Methods (3)

  • public override bool CanDraw(InspectorMember member)

    Whether this drawer can edit a member.

  • protected override Select Build(InspectorField field, UiElement parent)

    Makes the controls, once.

  • protected override void Show(InspectorField field, Select editor, string? value, bool isMixed)

    Puts the current value into the controls.

Used by (1)

  • DrawerRegistryVixen.Editor.Inspector