Files
RobustToolbox/Robust.Client/ViewVariables/Editors/ViewVariablesPropertyEditorAngle.cs
T
Pieter-Jan BriersandGitHub cb5f2ffae1 Refactor UI system. (#843)
* Refactor UI system.

Deferred updating is used for styling & layout. This fixes the awful time complexity of containers.
Removed SetDefaults and Initialize. They were a bad idea alright.

* Fix build on .NET Framework.
2019-08-14 22:03:51 +02:00

35 lines
1.1 KiB
C#

using System.Globalization;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Shared.Maths;
namespace Robust.Client.ViewVariables.Editors
{
public class ViewVariablesPropertyEditorAngle : ViewVariablesPropertyEditor
{
protected override Control MakeUI(object value)
{
var hBox = new HBoxContainer
{
CustomMinimumSize = new Vector2(200, 0)
};
var angle = (Angle) value;
var lineEdit = new LineEdit
{
Text = angle.Degrees.ToString(CultureInfo.InvariantCulture),
Editable = !ReadOnly,
SizeFlagsHorizontal = Control.SizeFlags.FillExpand
};
if (!ReadOnly)
{
lineEdit.OnTextEntered += e =>
ValueChanged(Angle.FromDegrees(double.Parse(e.Text, CultureInfo.InvariantCulture)));
}
hBox.AddChild(lineEdit);
hBox.AddChild(new Label {Text = "deg"});
return hBox;
}
}
}