From e54ea92c60c7465f536b7a682eca1b2d1b809a21 Mon Sep 17 00:00:00 2001 From: Andrei Zavatski Date: Sun, 26 Jan 2020 17:21:22 +0300 Subject: [PATCH] Use virtual property for OsuTabControl.AccentColour --- osu.Game/Graphics/UserInterface/OsuTabControl.cs | 15 +++++---------- osu.Game/Overlays/OverlayTabControl.cs | 12 ++++++------ 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/osu.Game/Graphics/UserInterface/OsuTabControl.cs b/osu.Game/Graphics/UserInterface/OsuTabControl.cs index 922535b39e..9fa6085035 100644 --- a/osu.Game/Graphics/UserInterface/OsuTabControl.cs +++ b/osu.Game/Graphics/UserInterface/OsuTabControl.cs @@ -23,14 +23,17 @@ namespace osu.Game.Graphics.UserInterface { private Color4 accentColour; - public Color4 AccentColour + public virtual Color4 AccentColour { get => accentColour; set { accentColour = value; - OnAccentColourChanged(value); + if (Dropdown is IHasAccentColour dropdown) + dropdown.AccentColour = value; + foreach (var i in TabContainer.Children.OfType()) + i.AccentColour = value; } } @@ -90,14 +93,6 @@ namespace osu.Game.Graphics.UserInterface strip.Width = Interpolation.ValueAt(Math.Clamp(Clock.ElapsedFrameTime, 0, 1000), strip.Width, StripWidth, 0, 500, Easing.OutQuint); } - protected virtual void OnAccentColourChanged(Color4 colour) - { - if (Dropdown is IHasAccentColour dropdown) - dropdown.AccentColour = colour; - foreach (var i in TabContainer.Children.OfType()) - i.AccentColour = colour; - } - public class OsuTabItem : TabItem, IHasAccentColour { protected readonly SpriteText Text; diff --git a/osu.Game/Overlays/OverlayTabControl.cs b/osu.Game/Overlays/OverlayTabControl.cs index aa79dde13c..30ae6a9e52 100644 --- a/osu.Game/Overlays/OverlayTabControl.cs +++ b/osu.Game/Overlays/OverlayTabControl.cs @@ -22,6 +22,12 @@ namespace osu.Game.Overlays set => bar.Height = value; } + public override Color4 AccentColour + { + get => base.AccentColour; + set => base.AccentColour = bar.Colour = value; + } + protected OverlayTabControl() { TabContainer.Masking = false; @@ -36,12 +42,6 @@ namespace osu.Game.Overlays }); } - protected override void OnAccentColourChanged(Color4 colour) - { - base.OnAccentColourChanged(colour); - bar.Colour = colour; - } - protected override Dropdown CreateDropdown() => null; protected override TabItem CreateTabItem(T value) => new OverlayTabItem(value);