Files
Terminal.Gui/UICatalog/Scenarios/MarginEditor.cs
Tig 149bedf19b Added more AnchorEnd unit tests.
Found bugs with Pos.View and Dim.View.
Fixed.
2024-07-20 14:22:04 -06:00

52 lines
1.4 KiB
C#

using System;
using System.Linq;
using Terminal.Gui;
namespace UICatalog.Scenarios;
public class MarginEditor : AdornmentEditor
{
public MarginEditor ()
{
Title = "_Margin";
Initialized += MarginEditor_Initialized;
AdornmentChanged += MarginEditor_AdornmentChanged;
}
RadioGroup _rgShadow;
private void MarginEditor_AdornmentChanged (object sender, EventArgs e)
{
if (AdornmentToEdit is { })
{
_rgShadow.SelectedItem = (int)((Margin)AdornmentToEdit).ShadowStyle;
}
}
private void MarginEditor_Initialized (object sender, EventArgs e)
{
_rgShadow = new RadioGroup
{
X = 0,
Y = Pos.AnchorEnd (),
SuperViewRendersLineCanvas = true,
Title = "_Shadow",
BorderStyle = LineStyle.Dashed,
Enabled = AdornmentToEdit is { },
RadioLabels = Enum.GetNames (typeof (ShadowStyle)),
};
if (AdornmentToEdit is { })
{
_rgShadow.SelectedItem = (int)((Margin)AdornmentToEdit).ShadowStyle;
}
_rgShadow.SelectedItemChanged += (sender, args) =>
{
((Margin)AdornmentToEdit).ShadowStyle = (ShadowStyle)args.SelectedItem;
};
Add (_rgShadow);
}
}