Vixen
dd8b0a81
csharp
public record class ToolbarGroup

Several commands drawn as one segmented control, of which exactly one is chosen.

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

Remarks

⚠ Translate, Rotate and Scale are a choice and have to look like one. Three adjacent buttons that happen to be next to each other say nothing about being mutually exclusive; a segmented control says it before anything is clicked, and says it to a screen reader as well — one radiogroup announcing "two of three" rather than three independent pressed-or-not buttons.

⚠ A claim about the commands, and the presenter now acts on it. This is drawn as a SegmentedControl, which has exclusivity and wrapping arrows of its own — so a set of commands that are not alternatives must not be described with this. ToolbarBox is what a merely-adjacent set is; the transport is the one in the tree, and its own comment already said it was a different claim.

⚠ What makes the members exclusive is still the commands, not this. Each one's Checked predicate reads the same state, and the control shows whichever says yes. ⚠ EditorCommand.RadioGroup is not what marks a group — this record's remarks used to say it was, and the three gizmo commands have never set it.

Fields and properties (1)

  • public string[] CommandIds

    Its members, in order.

Methods (1)

  • public ToolbarGroup(params string[] CommandIds)

    Several commands drawn as one segmented control, of which exactly one is chosen.

Used by (13)

  • BlockoutModeVixen.Editor.Blockout
  • BlockoutModeTestsVixen.Editor.Blockout.Tests
  • ChromeFixtureVixen.Editor.Ui.Tests
  • EditorModeTestsVixen.Editor.App.Tests
  • EditorModesVixen.Editor.Ui
  • FoliageModeVixen.Editor.Terrain
  • ModeTestsVixen.Editor.Ui.Tests
  • TerrainModeVixen.Editor.Terrain
  • TerrainModeTestsVixen.Editor.Terrain.Tests
  • ToolbarPresenterVixen.Editor.Ui
  • ToolbarSectionTestsVixen.Editor.Ui.Tests
  • ViewportChromeVixen.Editor.App
  • WaterModeVixen.Editor.Water