mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-24 04:02:50 +08:00

Fixes some tree rendering problems where lines were not properly drawn at some levels during some circumstances. * Change the API back to only allow one root. * Now uses a stack based approach to rendering instead of recursion. * Removes the need for measuring the whole tree in advance. Leave this up to each child to render.
22 lines
725 B
C#
22 lines
725 B
C#
using Spectre.Console.Rendering;
|
|
|
|
namespace Spectre.Console
|
|
{
|
|
/// <summary>
|
|
/// Represents tree guide lines.
|
|
/// </summary>
|
|
public abstract partial class TreeGuide
|
|
{
|
|
/// <summary>
|
|
/// Gets the safe guide lines or <c>null</c> if none exist.
|
|
/// </summary>
|
|
public virtual TreeGuide? SafeTreeGuide { get; }
|
|
|
|
/// <summary>
|
|
/// Get the set of characters used to render the corresponding <see cref="TreeGuidePart"/>.
|
|
/// </summary>
|
|
/// <param name="part">The part of the tree to get rendering string for.</param>
|
|
/// <returns>Rendering string for the tree part.</returns>
|
|
public abstract string GetPart(TreeGuidePart part);
|
|
}
|
|
} |