Files
tbd-station-14/Content.Client/PDA/PDASettingsButton.xaml.cs
Julian Giebel e11cf969fa 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
2022-11-08 14:00:20 -06:00

70 lines
1.8 KiB
C#

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;
}
}