mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-09-16 07:12:27 +02:00
42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
using System.Globalization;
|
|
using Robust.Client.UserInterface;
|
|
using Robust.Client.UserInterface.Controls;
|
|
using Robust.Shared.Maths;
|
|
using static Robust.Client.UserInterface.Controls.BoxContainer;
|
|
|
|
namespace Robust.Client.ViewVariables.Editors
|
|
{
|
|
public sealed class VVPropEditorAngle : VVPropEditor
|
|
{
|
|
protected override Control MakeUI(object? value)
|
|
{
|
|
var hBox = new BoxContainer
|
|
{
|
|
Orientation = LayoutOrientation.Horizontal,
|
|
MinSize = new Vector2(200, 0)
|
|
};
|
|
var angle = (Angle) value!;
|
|
var lineEdit = new LineEdit
|
|
{
|
|
Text = angle.Degrees.ToString(CultureInfo.InvariantCulture),
|
|
Editable = !ReadOnly,
|
|
HorizontalExpand = true
|
|
};
|
|
if (!ReadOnly)
|
|
{
|
|
lineEdit.OnTextEntered += e =>
|
|
{
|
|
if (!double.TryParse(e.Text, NumberStyles.Any, CultureInfo.InvariantCulture, out var number))
|
|
return;
|
|
|
|
ValueChanged(Angle.FromDegrees(number));
|
|
};
|
|
}
|
|
|
|
hBox.AddChild(lineEdit);
|
|
hBox.AddChild(new Label {Text = "deg"});
|
|
return hBox;
|
|
}
|
|
}
|
|
}
|