Vixen
02b45cc4
csharp
public abstract class DockNode

One node of a docking arrangement.

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

Remarks

A model, entirely separate from the elements that show it. The arrangement is what gets saved, restored, reset to a preset and compared against one; the elements are what happens to be on screen. Every docking implementation that skipped this step ended up reconstructing the arrangement by walking its own widgets, which works until a panel is hidden.

⚠ Splits are binary. A three-way split is a split whose second half is a split, which is what every docking system stores internally whatever it draws — and it is what makes a splitter a thing between exactly two neighbours rather than a thing that has to know which of N siblings it is between.

Methods (3)

  • public abstract YamlNode ToYaml()

    Writes it as a YAML node.

  • public static DockNode? FromYaml(YamlNode? node)

    Reads one back.

  • public abstract void Collect(List<DockGroupNode> into)

    Every group in this subtree, in order.

Used by (5)

  • DockGroupNodeVixen.Ui.Controls.Advanced
  • DockLayoutVixen.Ui.Controls.Advanced
  • DockSplitNodeVixen.Ui.Controls.Advanced
  • DockingHostVixen.Ui.Controls.Advanced
  • LayoutPresetsVixen.Editor.Ui