From eddc1fc0cfbf20aeb68904ee9cab9f6fb9953f70 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 8 Apr 2013 22:55:01 +1200 Subject: [PATCH] Remove duplication between ButtonWidget and ToggleButtonWidget. --- OpenRA.Game/Widgets/ButtonWidget.cs | 5 ++--- OpenRA.Mods.Cnc/Widgets/Logic/CncIngameChromeLogic.cs | 2 +- OpenRA.Mods.Cnc/Widgets/Logic/ProductionTabsLogic.cs | 2 +- OpenRA.Mods.Cnc/Widgets/ProductionTabsWidget.cs | 2 +- OpenRA.Mods.Cnc/Widgets/ToggleButtonWidget.cs | 7 ------- mods/cnc-classic/chrome.yaml | 6 +++--- mods/cnc/chrome.yaml | 8 ++++---- mods/ra/chrome.yaml | 6 +++--- 8 files changed, 15 insertions(+), 23 deletions(-) diff --git a/OpenRA.Game/Widgets/ButtonWidget.cs b/OpenRA.Game/Widgets/ButtonWidget.cs index 3dbb483533..41bfa1870e 100644 --- a/OpenRA.Game/Widgets/ButtonWidget.cs +++ b/OpenRA.Game/Widgets/ButtonWidget.cs @@ -166,14 +166,13 @@ namespace OpenRA.Widgets public static void DrawBackground(string baseName, Rectangle rect, bool disabled, bool pressed, bool hover, bool highlighted) { + var variant = highlighted ? "-highlighted" : ""; var state = disabled ? "-disabled" : pressed ? "-pressed" : hover ? "-hover" : ""; - if (highlighted) - state += "-highlighted"; - WidgetUtils.DrawPanel(baseName + state, rect); + WidgetUtils.DrawPanel(baseName + variant + state, rect); } } } diff --git a/OpenRA.Mods.Cnc/Widgets/Logic/CncIngameChromeLogic.cs b/OpenRA.Mods.Cnc/Widgets/Logic/CncIngameChromeLogic.cs index dd2609c3b7..c8dde9418b 100644 --- a/OpenRA.Mods.Cnc/Widgets/Logic/CncIngameChromeLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/Logic/CncIngameChromeLogic.cs @@ -141,7 +141,7 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic { var w = parent.Get(button); w.OnClick = () => world.ToggleInputMode(); - w.IsToggled = () => world.OrderGenerator is T; + w.IsHighlighted = () => world.OrderGenerator is T; w.Get("ICON").GetImageName = () => world.OrderGenerator is T ? icon+"-active" : icon; diff --git a/OpenRA.Mods.Cnc/Widgets/Logic/ProductionTabsLogic.cs b/OpenRA.Mods.Cnc/Widgets/Logic/ProductionTabsLogic.cs index 09bab8b0ce..aeb8f48df0 100644 --- a/OpenRA.Mods.Cnc/Widgets/Logic/ProductionTabsLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/Logic/ProductionTabsLogic.cs @@ -38,7 +38,7 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic button.IsDisabled = () => tabs.Groups[button.ProductionGroup].Tabs.Count == 0; button.OnMouseUp = mi => selectTab(mi.Modifiers.HasModifier(Modifiers.Shift)); button.OnKeyPress = e => selectTab(e.Modifiers.HasModifier(Modifiers.Shift)); - button.IsToggled = () => tabs.QueueGroup == button.ProductionGroup; + button.IsHighlighted = () => tabs.QueueGroup == button.ProductionGroup; var chromeName = button.ProductionGroup.ToLowerInvariant(); var icon = button.Get("ICON"); diff --git a/OpenRA.Mods.Cnc/Widgets/ProductionTabsWidget.cs b/OpenRA.Mods.Cnc/Widgets/ProductionTabsWidget.cs index c584d2cfa8..d83f3bd5b7 100755 --- a/OpenRA.Mods.Cnc/Widgets/ProductionTabsWidget.cs +++ b/OpenRA.Mods.Cnc/Widgets/ProductionTabsWidget.cs @@ -158,7 +158,7 @@ namespace OpenRA.Mods.Cnc.Widgets { var rect = new Rectangle(origin.X + ContentWidth, origin.Y, TabWidth, rb.Height); var hover = !leftHover && !rightHover && Ui.MouseOverWidget == this && rect.Contains(Viewport.LastMousePos); - var baseName = tab.Queue == CurrentQueue ? "button-toggled" : "button"; + var baseName = tab.Queue == CurrentQueue ? "button-highlighted" : "button"; ButtonWidget.DrawBackground(baseName, rect, false, false, hover, false); ContentWidth += TabWidth - 1; diff --git a/OpenRA.Mods.Cnc/Widgets/ToggleButtonWidget.cs b/OpenRA.Mods.Cnc/Widgets/ToggleButtonWidget.cs index a55a807814..662aef4c30 100644 --- a/OpenRA.Mods.Cnc/Widgets/ToggleButtonWidget.cs +++ b/OpenRA.Mods.Cnc/Widgets/ToggleButtonWidget.cs @@ -20,7 +20,6 @@ namespace OpenRA.Mods.Cnc.Widgets public readonly string TooltipTemplate = "BUTTON_TOOLTIP"; public readonly string TooltipText; public readonly string TooltipContainer; - public Func IsToggled = () => false; Lazy tooltipContainer; public ToggleButtonWidget() @@ -52,11 +51,5 @@ namespace OpenRA.Mods.Cnc.Widgets if (TooltipContainer == null) return; tooltipContainer.Value.RemoveTooltip(); } - - public override void DrawBackground(Rectangle rect, bool disabled, bool pressed, bool hover, bool highlighted) - { - var baseName = IsToggled() ? "button-toggled" : "button"; - ButtonWidget.DrawBackground(baseName, rect, disabled, pressed, hover, highlighted); - } } } diff --git a/mods/cnc-classic/chrome.yaml b/mods/cnc-classic/chrome.yaml index 5f7630db6c..fa99b6009b 100644 --- a/mods/cnc-classic/chrome.yaml +++ b/mods/cnc-classic/chrome.yaml @@ -272,7 +272,7 @@ button-hover: dialog.png corner-bl: 512,82,1,1 corner-br: 594,82,1,1 -button-hover-highlighted: dialog.png +button-highlighted-hover: dialog.png background: 513,145,126,126 border-r: 639,145,1,126 border-l: 512,145,1,126 @@ -295,7 +295,7 @@ button-disabled: dialog.png corner-bl: 512,82,1,1 corner-br: 594,82,1,1 -button-disabled-highlighted: dialog.png +button-highlighted-disabled: dialog.png background: 513,145,126,126 border-r: 639,145,1,126 border-l: 512,145,1,126 @@ -318,7 +318,7 @@ button-pressed: dialog.png corner-bl: 640,82,1,1 corner-br: 722,82,1,1 -button-pressed-highlighted: dialog.png +button-highlighted-pressed: dialog.png background: 641,145,126,126 border-r: 767,145,1,126 border-l: 640,145,1,126 diff --git a/mods/cnc/chrome.yaml b/mods/cnc/chrome.yaml index a75519177f..0e0821f783 100644 --- a/mods/cnc/chrome.yaml +++ b/mods/cnc/chrome.yaml @@ -54,7 +54,7 @@ button-pressed: chrome.png corner-bl: 64,254,2,2 corner-br: 126,254,2,2 -button-toggled: chrome.png +button-highlighted: chrome.png background: 257,129,30,30 border-r: 287,129,1,30 border-l: 256,129,1,30 @@ -65,7 +65,7 @@ button-toggled: chrome.png corner-bl: 256,159,1,1 corner-br: 287,159,1,1 -button-toggled-hover: chrome.png +button-highlighted-hover: chrome.png background: 289,129,30,30 border-r: 319,129,1,30 border-l: 288,129,1,30 @@ -76,7 +76,7 @@ button-toggled-hover: chrome.png corner-bl: 288,159,1,1 corner-br: 319,159,1,1 -button-toggled-pressed: chrome.png +button-highlighted-pressed: chrome.png background: 257,161,30,30 border-r: 287,161,1,30 border-l: 256,161,1,30 @@ -87,7 +87,7 @@ button-toggled-pressed: chrome.png corner-bl: 256,191,1,1 corner-br: 287,191,1,1 -button-toggled-disabled: chrome.png +button-highlighted-disabled: chrome.png background: 289,161,30,30 border-r: 319,161,1,30 border-l: 288,161,1,30 diff --git a/mods/ra/chrome.yaml b/mods/ra/chrome.yaml index cabb02a44f..56dc9f0ea0 100644 --- a/mods/ra/chrome.yaml +++ b/mods/ra/chrome.yaml @@ -272,7 +272,7 @@ button-hover: dialog.png corner-bl: 512,82,1,1 corner-br: 594,82,1,1 -button-hover-highlighted: dialog.png +button-highlighted-hover: dialog.png background: 513,145,126,126 border-r: 639,145,1,126 border-l: 512,145,1,126 @@ -295,7 +295,7 @@ button-disabled: dialog.png corner-bl: 512,82,1,1 corner-br: 594,82,1,1 -button-disabled-highlighted: dialog.png +button-highlighted-disabled: dialog.png background: 513,145,126,126 border-r: 639,145,1,126 border-l: 512,145,1,126 @@ -318,7 +318,7 @@ button-pressed: dialog.png corner-bl: 640,82,1,1 corner-br: 722,82,1,1 -button-pressed-highlighted: dialog.png +button-highlighted-pressed: dialog.png background: 641,145,126,126 border-r: 767,145,1,126 border-l: 640,145,1,126