| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- using Content.Client._RMC14.UserInterface;
- using Content.Client.UserInterface.ControlExtensions;
- using Robust.Client.AutoGenerated;
- using Robust.Client.UserInterface.Controls;
- using Robust.Client.UserInterface.CustomControls;
- using Robust.Client.UserInterface.XAML;
- using Robust.Shared.Input;
- namespace Content.Client._RMC14.Mortar;
- [GenerateTypedNameReferences]
- public sealed partial class MortarWindow : DefaultWindow
- {
- public readonly FloatSpinBox TargetX;
- public readonly FloatSpinBox TargetY;
- public readonly FloatSpinBox DialX;
- public readonly FloatSpinBox DialY;
- public MortarWindow()
- {
- RobustXamlLoader.Load(this);
- static LineEdit? SpinBoxGetLineEdit(FloatSpinBox box)
- {
- foreach (var edit in box.GetControlOfType<LineEdit>())
- {
- return edit;
- }
- return null;
- }
- void SpinBoxTab(FloatSpinBox from, FloatSpinBox to)
- {
- if (SpinBoxGetLineEdit(from) is not { } fromEdit ||
- SpinBoxGetLineEdit(to) is not { } toEdit)
- {
- return;
- }
- fromEdit.OnKeyBindDown += args =>
- {
- if (args.Function == EngineKeyFunctions.GuiTabNavigateNext)
- toEdit.GrabKeyboardFocus();
- };
- toEdit.OnKeyBindDown += args =>
- {
- if (args.Function == EngineKeyFunctions.GuiTabNavigatePrev)
- fromEdit.GrabKeyboardFocus();
- };
- }
- TargetX = UIExtensions.CreateDialSpinBox();
- TargetXContainer.AddChild(TargetX);
- TargetY = UIExtensions.CreateDialSpinBox();
- TargetYContainer.AddChild(TargetY);
- DialX = UIExtensions.CreateDialSpinBox();
- DialXContainer.AddChild(DialX);
- DialY = UIExtensions.CreateDialSpinBox();
- DialYContainer.AddChild(DialY);
- SpinBoxTab(TargetX, TargetY);
- SpinBoxTab(TargetY, DialX);
- SpinBoxTab(DialX, DialY);
- SpinBoxTab(DialY, TargetX);
- }
- }
|