Vixen
dd8b0a81
csharp
public sealed class StatisticsView

What is in the scene, against what somebody said should be.

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

Remarks

The panel is StatisticsView.vxml; this file exists only to make it public. The markup compiler emits a partial class with no accessibility modifier, which is internal — deliberately, so that a component is not public API by accident — and a panel the editor's diagnostics module constructs from another assembly has to be. One hand-written part is the whole of the mechanism.

⚠ It is a Component and no longer a Control — which was forced when this was ported and is now a choice. Wave 1a had no @inherits: the emitter hardcoded the base, so markup could only produce something that builds elements, and every consumer that said panel.Add<StatisticsView>() had to say BuildContext.Build<StatisticsView>(…) instead. Wave 1b added the header, and this panel keeps the component base anyway: the four element properties it used to expose — Toolbar, Refresh, Body, Warnings — are gone rather than reimplemented, because nothing outside the class ever read one. A panel with no public parts is exactly what a component is for.

Fields and properties (3)

  • protected override string TagName
  • public Func<SceneStatistics>? Source

    What produces a fresh count, or when nothing can.

  • public SceneStatistics? Statistics

    The count on screen, or before one has been taken.

Methods (3)

  • protected override void Build(BuildContext ctx)
  • public void Take()

    Takes a fresh count, if there is anything to count.

  • public void Show(SceneStatistics counted)

    Shows a count somebody else took.

Used by (3)

  • DiagnosticsModuleVixen.Editor.Diagnostics
  • DiagnosticsPanelTestsVixen.Editor.App.Tests
  • MarkupPanelTestsVixen.Editor.Profiler.Tests