Vixen
feb85697
csharp
public sealed class MessageLogView

The panel doc 20's A7 asks for: where the toasts accumulate once they have gone.

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

Remarks

NotificationCenter has kept a bounded history since it was written and nothing showed it. A toast is a message that expires, and the thing a person does after an import fails is look away, look back, and find it gone — errors are exempt from expiry precisely because of that, which leaves the editor's corner slowly filling with undismissed errors instead. This is the place they go.

⚠ Not the Console, and the difference is who wrote the line. The console is the whole of Vixen.Core.Diagnostics' ring — every category, every level, the game's lines and the engine's. This is what the editor decided was worth interrupting somebody about, which is a list two orders of magnitude shorter and the one you scan after something went wrong. The console mirror means every entry here is in there too; the reverse is emphatically not true.

⚠ The history is the model and this holds no copy of it. History is newest-first and bounded, so the rows are built from it on change rather than accumulated here — an editor left open for a week is then bounded by the centre's own limit rather than by two lists that have to agree.

The panel is MessageLogView.vxml, its rows an @rows block (#758); this file is the accessibility modifier and the intrinsic tags the rows and the detail pane are written in. The toolbar and the detail pane were ported first (#89); MessageLogViewDumpTests holds the panel to what the hand-written control drew.

Fields and properties (12)

  • protected override string TagName
  • protected override bool AcceptsFocus

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

  • public UiElement Toolbar

    The strip along the top.

  • public SearchBox Search

    The search box.

  • public Select Levels

    The severity picker.

  • public VirtualizingPanel List

    The list.

  • public ScrollView DetailView

    The scroller under the list.

  • public UiElement Detail

    The pane under the list showing the whole of the selected message.

  • public NotificationCenter? Centre

    What it is showing.

  • public IReadOnlyList<Notification> Shown

    What passes the filters, newest first.

  • public int Count

    How many messages pass the filters.

  • public Notification? Selected

    Which message the detail pane is showing, or .

Methods (5)

  • protected override void OnCreated()
  • protected override void OnRemoved()
  • public void Show(NotificationCenter notifications)

    Points the panel at a notification centre.

  • public void Clear()

    Throws the history away.

  • public void Restate()

    Rebuilds the filtered list from the centre's history.

Used by (5)

  • EditorShellVixen.Editor.Ui
  • HarnessVixen.Editor.Ui.Tests
  • MessageLogViewDumpTestsVixen.Editor.Ui.Tests
  • MilestoneE3TestsVixen.Editor.App.Tests
  • ScrollingPanelPictureTestsVixen.Editor.App.Tests