Vixen
feb85697
csharp
public sealed class AddressableGroupsView

The addressable groups a project defines, one group's policy, and what a build would say.

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

Remarks

The panel is AddressableGroupsView.vxml; this file exists only to make it public and sealed (#89). The markup compiler emits a partial class with no accessibility modifier, which is internal, and this one is constructed from the application and read by two test suites. The file header there carries the port's model decision.

Doc 11's three things for this editor: the group list, the per-group policy, and doc 08's analysis view. The first two are this control's; the third is deliberately not.

⚠ The analysis is the real planner, run by the host. BuildPlanner needs the import cache — an analysis that reimplemented its rules would be a second set of rules, and the way that drift shows up is a panel saying a project is fine and the build refusing it. So the panel takes a delegate that produces a BuildPlan, and the application hands it one that runs against a ProjectWorkspace on a background task. A panel with no analyser shows the list and says analysis is unavailable.

⚠ The list is the project's .vxgroup files, not the groups a build invented. A project that configures nothing still builds, in a Default group the planner reports; that group has no file and so is not in this list, and the analysis is where it appears. Showing it here would offer a policy editor for a group that does not exist.

Fields and properties (10)

  • protected override string TagName
  • protected override bool AcceptsFocus

    Whether the focus can rest on this kind of control at all.

  • public TreeView Groups

    The groups the project defines.

  • public InspectorView Policy

    The selected group's policy.

  • public Button Analyse

    The button that runs the analysis.

  • public UiElement Analysis

    What the analysis said, worst first.

  • public EmptyState Empty

    Shown when no group is selected.

  • public AddressableGroupDocument? Selected

    The document for the group being shown, or .

  • public int Count

    How many groups the project defines.

  • public int AnalysisRows

    How many rows the analysis produced.

Events (1)

Methods (6)

  • protected override void OnCreated()
  • protected override void OnRemoved()
  • public void Show(EditorProject opened, Func<BuildPlan>? analysis = null)

    Shows a project's groups.

  • public void Rebuild()

    Rebuilds the group list from the asset database as it stands.

  • public AddressableGroupDocument Open(AssetEntry entry)

    Opens one group's policy.

  • public int Run()

    Runs the analysis and lists what it said.

Used by (5)

  • AddressableGroupEditorViewVixen.Editor.AssetEditors
  • AddressableGroupsViewDumpTestsVixen.Editor.AssetEditors.Tests
  • AssetEditorsModuleVixen.Editor.AssetEditors
  • EditorViewTestsVixen.Editor.AssetEditors.Tests
  • HarnessVixen.Editor.AssetEditors.Tests