Guidebook Tables (#28484)
* PJB's cool table control (it probably doesn't work) * ok wait wrong file * Guidebook Tables
This commit is contained in:
49
Content.Client/Guidebook/Richtext/ColorBox.cs
Normal file
49
Content.Client/Guidebook/Richtext/ColorBox.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Client.Graphics;
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
|
||||
namespace Content.Client.Guidebook.Richtext;
|
||||
|
||||
[UsedImplicitly]
|
||||
public sealed class ColorBox : PanelContainer, IDocumentTag
|
||||
{
|
||||
public bool TryParseTag(Dictionary<string, string> args, [NotNullWhen(true)] out Control? control)
|
||||
{
|
||||
HorizontalExpand = true;
|
||||
VerticalExpand = true;
|
||||
control = this;
|
||||
|
||||
if (args.TryGetValue("Margin", out var margin))
|
||||
Margin = new Thickness(float.Parse(margin));
|
||||
|
||||
if (args.TryGetValue("HorizontalAlignment", out var halign))
|
||||
HorizontalAlignment = Enum.Parse<HAlignment>(halign);
|
||||
else
|
||||
HorizontalAlignment = HAlignment.Stretch;
|
||||
|
||||
if (args.TryGetValue("VerticalAlignment", out var valign))
|
||||
VerticalAlignment = Enum.Parse<VAlignment>(valign);
|
||||
else
|
||||
VerticalAlignment = VAlignment.Stretch;
|
||||
|
||||
var styleBox = new StyleBoxFlat();
|
||||
if (args.TryGetValue("Color", out var color))
|
||||
styleBox.BackgroundColor = Color.FromHex(color);
|
||||
|
||||
if (args.TryGetValue("OutlineThickness", out var outlineThickness))
|
||||
styleBox.BorderThickness = new Thickness(float.Parse(outlineThickness));
|
||||
else
|
||||
styleBox.BorderThickness = new Thickness(1);
|
||||
|
||||
if (args.TryGetValue("OutlineColor", out var outlineColor))
|
||||
styleBox.BorderColor = Color.FromHex(outlineColor);
|
||||
else
|
||||
styleBox.BorderColor = Color.White;
|
||||
|
||||
PanelOverride = styleBox;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user