Remove duplication between ButtonWidget and ToggleButtonWidget.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
|
||||
{
|
||||
var w = parent.Get<ToggleButtonWidget>(button);
|
||||
w.OnClick = () => world.ToggleInputMode<T>();
|
||||
w.IsToggled = () => world.OrderGenerator is T;
|
||||
w.IsHighlighted = () => world.OrderGenerator is T;
|
||||
|
||||
w.Get<ImageWidget>("ICON").GetImageName =
|
||||
() => world.OrderGenerator is T ? icon+"-active" : icon;
|
||||
|
||||
@@ -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<ImageWidget>("ICON");
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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<bool> IsToggled = () => false;
|
||||
Lazy<TooltipContainerWidget> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user