Files
RobustToolbox/Robust.Client/UserInterface/DevWindow/DevWindow.xaml.cs
T
538535db9a Engine default stylesheet + debug connect screen (#4017)
* Debug connection screen

* [ContentAccessAllowed] so I can use IStateManager on engine types.

* Implement a default engine stylesheet.

* awa

* Fix an issue that can cause hangs when resolving a color.

---------

Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2023-05-11 06:38:50 -05:00

65 lines
2.0 KiB
C#

using System.Linq;
using JetBrains.Annotations;
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.Stylesheets;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Console;
using Robust.Shared.IoC;
namespace Robust.Client.UserInterface
{
[GenerateTypedNameReferences]
public sealed partial class DevWindow : Control
{
public DevWindow()
{
InitializeComponent();
}
private void InitializeComponent()
{
RobustXamlLoader.Load(this);
TabContainer.SetTabTitle(DebugConsole, "Debug Console");
TabContainer.SetTabTitle(UI, "User Interface");
TabContainer.SetTabTitle(Perf, "Profiling");
Stylesheet =
new DefaultStylesheet(IoCManager.Resolve<IResourceCache>(), IoCManager.Resolve<IUserInterfaceManager>()).Stylesheet;
}
}
[UsedImplicitly]
internal sealed class TestWindowCommand : LocalizedCommands
{
public override string Command => "devwindow";
public override void Execute(IConsoleShell shell, string argStr, string[] args)
{
var clyde = IoCManager.Resolve<IClyde>();
var monitor = clyde.EnumerateMonitors().First();
if (args.Length > 0)
{
var id = int.Parse(args[0]);
monitor = clyde.EnumerateMonitors().Single(m => m.Id == id);
}
var window = clyde.CreateWindow(new WindowCreateParameters
{
//Maximized = true,
Title = "Robust Debug Window",
//Monitor = monitor,
});
var root = IoCManager.Resolve<IUserInterfaceManager>().CreateWindowRoot(window);
window.DisposeOnClose = true;
var control = new DevWindow();
root.AddChild(control);
}
}
}