mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-06-19 13:28:16 +08:00
Add support for markup text in panel header
This commit is contained in:

committed by
Patrik Svensson

parent
be3350a411
commit
b1da5e7ba8
@ -30,10 +30,8 @@ namespace Spectre.Console
|
||||
throw new ArgumentNullException(nameof(text));
|
||||
}
|
||||
|
||||
style ??= panel.Header?.Style;
|
||||
alignment ??= panel.Header?.Alignment;
|
||||
|
||||
return SetHeader(panel, new PanelHeader(text, style, alignment));
|
||||
return SetHeader(panel, new PanelHeader(text, alignment));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -54,5 +52,18 @@ namespace Spectre.Console
|
||||
panel.Header = header;
|
||||
return panel;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the panel header style.
|
||||
/// </summary>
|
||||
/// <param name="panel">The panel.</param>
|
||||
/// <param name="style">The header style.</param>
|
||||
/// <returns>The same instance so that multiple calls can be chained.</returns>
|
||||
[Obsolete("Use markup in header instead.")]
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public static Panel HeaderStyle(this Panel panel, Style style)
|
||||
{
|
||||
return panel;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,10 +12,9 @@ namespace Spectre.Console
|
||||
/// </summary>
|
||||
/// <param name="panel">The panel.</param>
|
||||
/// <param name="text">The header text.</param>
|
||||
/// <param name="style">The header style.</param>
|
||||
/// <param name="alignment">The header alignment.</param>
|
||||
/// <returns>The same instance so that multiple calls can be chained.</returns>
|
||||
public static Panel Header(this Panel panel, string text, Style? style = null, Justify? alignment = null)
|
||||
public static Panel Header(this Panel panel, string text, Justify? alignment = null)
|
||||
{
|
||||
if (panel is null)
|
||||
{
|
||||
@ -27,42 +26,8 @@ namespace Spectre.Console
|
||||
throw new ArgumentNullException(nameof(text));
|
||||
}
|
||||
|
||||
style ??= panel.Header?.Style;
|
||||
alignment ??= panel.Header?.Alignment;
|
||||
|
||||
return Header(panel, new PanelHeader(text, style, alignment));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the panel header style.
|
||||
/// </summary>
|
||||
/// <param name="panel">The panel.</param>
|
||||
/// <param name="style">The header style.</param>
|
||||
/// <returns>The same instance so that multiple calls can be chained.</returns>
|
||||
public static Panel HeaderStyle(this Panel panel, Style style)
|
||||
{
|
||||
if (panel is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(panel));
|
||||
}
|
||||
|
||||
if (style is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(style));
|
||||
}
|
||||
|
||||
if (panel.Header != null)
|
||||
{
|
||||
// Update existing style
|
||||
panel.Header.Style = style;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Create header
|
||||
Header(panel, string.Empty, style, null);
|
||||
}
|
||||
|
||||
return panel;
|
||||
return Header(panel, new PanelHeader(text, alignment));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -86,7 +51,7 @@ namespace Spectre.Console
|
||||
else
|
||||
{
|
||||
// Create header
|
||||
Header(panel, string.Empty, null, alignment);
|
||||
Header(panel, string.Empty, alignment);
|
||||
}
|
||||
|
||||
return panel;
|
||||
|
Reference in New Issue
Block a user