PDA UI refactor and cartridges (#11335)

* Work on cartridges

* Work on PDA UI

* Work on PDA UIs program list

* Work on PDA UI borders

* Add DeviceNetworkingComponent to the pda base prototype

* Fix submodule version

* Fix cartridge loader ui key

* Fix pda menu xaml

* Implement relaying ui messages

* Finish implementing the notekeeper cartridge

* Fix submodule version

* Fix errors from merging master

* Fix test failing

* Implement setting preinstalled programs

* Add some documentation to CartridgeLoaderSystem

* Add more doc comments

* Add localization to program names

* Implement review suggestions

* Fix background programs receiving events twice when active
This commit is contained in:
Julian Giebel
2022-11-08 21:00:20 +01:00
committed by GitHub
parent 1151ca42e5
commit e11cf969fa
79 changed files with 2323 additions and 94 deletions

View File

@@ -0,0 +1,69 @@
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.PDA;
[GenerateTypedNameReferences]
public sealed partial class PDASettingsButton : ContainerButton
{
public const string StylePropertyFgColor = "foregroundColor";
public const string StylePropertyBgColor = "backgroundColor";
public const string NormalBgColor = "#313138";
public const string HoverColor = "#3E6C45";
public const string PressedColor = "#3E6C45";
public const string DisabledFgColor = "#5a5a5a";
public const string EnabledFgColor = "#FFFFFF";
private readonly StyleBoxFlat _styleBox = new()
{
BackgroundColor = Color.FromHex("#25252a")
};
public string? Text
{
get => OptionName.Text;
set => OptionName.Text = value;
}
public string? Description
{
get => OptionDescription.Text;
set => OptionDescription.Text = value;
}
public Color BackgroundColor
{
get => _styleBox.BackgroundColor;
set => _styleBox.BackgroundColor = value;
}
public Color? ForegroundColor
{
get => OptionName.FontColorOverride;
set
{
OptionName.FontColorOverride = value;
OptionDescription.FontColorOverride = value;
}
}
public PDASettingsButton()
{
RobustXamlLoader.Load(this);
Panel.PanelOverride = _styleBox;
}
protected override void Draw(DrawingHandleScreen handle)
{
base.Draw(handle);
if (TryGetStyleProperty<Color>(StylePropertyBgColor, out var bgColor))
BackgroundColor = bgColor;
if (TryGetStyleProperty<Color>(StylePropertyFgColor, out var fgColor))
ForegroundColor = fgColor;
}
}