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)
|
public static void DrawBackground(string baseName, Rectangle rect, bool disabled, bool pressed, bool hover, bool highlighted)
|
||||||
{
|
{
|
||||||
|
var variant = highlighted ? "-highlighted" : "";
|
||||||
var state = disabled ? "-disabled" :
|
var state = disabled ? "-disabled" :
|
||||||
pressed ? "-pressed" :
|
pressed ? "-pressed" :
|
||||||
hover ? "-hover" :
|
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);
|
var w = parent.Get<ToggleButtonWidget>(button);
|
||||||
w.OnClick = () => world.ToggleInputMode<T>();
|
w.OnClick = () => world.ToggleInputMode<T>();
|
||||||
w.IsToggled = () => world.OrderGenerator is T;
|
w.IsHighlighted = () => world.OrderGenerator is T;
|
||||||
|
|
||||||
w.Get<ImageWidget>("ICON").GetImageName =
|
w.Get<ImageWidget>("ICON").GetImageName =
|
||||||
() => world.OrderGenerator is T ? icon+"-active" : icon;
|
() => 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.IsDisabled = () => tabs.Groups[button.ProductionGroup].Tabs.Count == 0;
|
||||||
button.OnMouseUp = mi => selectTab(mi.Modifiers.HasModifier(Modifiers.Shift));
|
button.OnMouseUp = mi => selectTab(mi.Modifiers.HasModifier(Modifiers.Shift));
|
||||||
button.OnKeyPress = e => selectTab(e.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 chromeName = button.ProductionGroup.ToLowerInvariant();
|
||||||
var icon = button.Get<ImageWidget>("ICON");
|
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 rect = new Rectangle(origin.X + ContentWidth, origin.Y, TabWidth, rb.Height);
|
||||||
var hover = !leftHover && !rightHover && Ui.MouseOverWidget == this && rect.Contains(Viewport.LastMousePos);
|
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);
|
ButtonWidget.DrawBackground(baseName, rect, false, false, hover, false);
|
||||||
ContentWidth += TabWidth - 1;
|
ContentWidth += TabWidth - 1;
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ namespace OpenRA.Mods.Cnc.Widgets
|
|||||||
public readonly string TooltipTemplate = "BUTTON_TOOLTIP";
|
public readonly string TooltipTemplate = "BUTTON_TOOLTIP";
|
||||||
public readonly string TooltipText;
|
public readonly string TooltipText;
|
||||||
public readonly string TooltipContainer;
|
public readonly string TooltipContainer;
|
||||||
public Func<bool> IsToggled = () => false;
|
|
||||||
Lazy<TooltipContainerWidget> tooltipContainer;
|
Lazy<TooltipContainerWidget> tooltipContainer;
|
||||||
|
|
||||||
public ToggleButtonWidget()
|
public ToggleButtonWidget()
|
||||||
@@ -52,11 +51,5 @@ namespace OpenRA.Mods.Cnc.Widgets
|
|||||||
if (TooltipContainer == null) return;
|
if (TooltipContainer == null) return;
|
||||||
tooltipContainer.Value.RemoveTooltip();
|
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-bl: 512,82,1,1
|
||||||
corner-br: 594,82,1,1
|
corner-br: 594,82,1,1
|
||||||
|
|
||||||
button-hover-highlighted: dialog.png
|
button-highlighted-hover: dialog.png
|
||||||
background: 513,145,126,126
|
background: 513,145,126,126
|
||||||
border-r: 639,145,1,126
|
border-r: 639,145,1,126
|
||||||
border-l: 512,145,1,126
|
border-l: 512,145,1,126
|
||||||
@@ -295,7 +295,7 @@ button-disabled: dialog.png
|
|||||||
corner-bl: 512,82,1,1
|
corner-bl: 512,82,1,1
|
||||||
corner-br: 594,82,1,1
|
corner-br: 594,82,1,1
|
||||||
|
|
||||||
button-disabled-highlighted: dialog.png
|
button-highlighted-disabled: dialog.png
|
||||||
background: 513,145,126,126
|
background: 513,145,126,126
|
||||||
border-r: 639,145,1,126
|
border-r: 639,145,1,126
|
||||||
border-l: 512,145,1,126
|
border-l: 512,145,1,126
|
||||||
@@ -318,7 +318,7 @@ button-pressed: dialog.png
|
|||||||
corner-bl: 640,82,1,1
|
corner-bl: 640,82,1,1
|
||||||
corner-br: 722,82,1,1
|
corner-br: 722,82,1,1
|
||||||
|
|
||||||
button-pressed-highlighted: dialog.png
|
button-highlighted-pressed: dialog.png
|
||||||
background: 641,145,126,126
|
background: 641,145,126,126
|
||||||
border-r: 767,145,1,126
|
border-r: 767,145,1,126
|
||||||
border-l: 640,145,1,126
|
border-l: 640,145,1,126
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ button-pressed: chrome.png
|
|||||||
corner-bl: 64,254,2,2
|
corner-bl: 64,254,2,2
|
||||||
corner-br: 126,254,2,2
|
corner-br: 126,254,2,2
|
||||||
|
|
||||||
button-toggled: chrome.png
|
button-highlighted: chrome.png
|
||||||
background: 257,129,30,30
|
background: 257,129,30,30
|
||||||
border-r: 287,129,1,30
|
border-r: 287,129,1,30
|
||||||
border-l: 256,129,1,30
|
border-l: 256,129,1,30
|
||||||
@@ -65,7 +65,7 @@ button-toggled: chrome.png
|
|||||||
corner-bl: 256,159,1,1
|
corner-bl: 256,159,1,1
|
||||||
corner-br: 287,159,1,1
|
corner-br: 287,159,1,1
|
||||||
|
|
||||||
button-toggled-hover: chrome.png
|
button-highlighted-hover: chrome.png
|
||||||
background: 289,129,30,30
|
background: 289,129,30,30
|
||||||
border-r: 319,129,1,30
|
border-r: 319,129,1,30
|
||||||
border-l: 288,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-bl: 288,159,1,1
|
||||||
corner-br: 319,159,1,1
|
corner-br: 319,159,1,1
|
||||||
|
|
||||||
button-toggled-pressed: chrome.png
|
button-highlighted-pressed: chrome.png
|
||||||
background: 257,161,30,30
|
background: 257,161,30,30
|
||||||
border-r: 287,161,1,30
|
border-r: 287,161,1,30
|
||||||
border-l: 256,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-bl: 256,191,1,1
|
||||||
corner-br: 287,191,1,1
|
corner-br: 287,191,1,1
|
||||||
|
|
||||||
button-toggled-disabled: chrome.png
|
button-highlighted-disabled: chrome.png
|
||||||
background: 289,161,30,30
|
background: 289,161,30,30
|
||||||
border-r: 319,161,1,30
|
border-r: 319,161,1,30
|
||||||
border-l: 288,161,1,30
|
border-l: 288,161,1,30
|
||||||
|
|||||||
@@ -272,7 +272,7 @@ button-hover: dialog.png
|
|||||||
corner-bl: 512,82,1,1
|
corner-bl: 512,82,1,1
|
||||||
corner-br: 594,82,1,1
|
corner-br: 594,82,1,1
|
||||||
|
|
||||||
button-hover-highlighted: dialog.png
|
button-highlighted-hover: dialog.png
|
||||||
background: 513,145,126,126
|
background: 513,145,126,126
|
||||||
border-r: 639,145,1,126
|
border-r: 639,145,1,126
|
||||||
border-l: 512,145,1,126
|
border-l: 512,145,1,126
|
||||||
@@ -295,7 +295,7 @@ button-disabled: dialog.png
|
|||||||
corner-bl: 512,82,1,1
|
corner-bl: 512,82,1,1
|
||||||
corner-br: 594,82,1,1
|
corner-br: 594,82,1,1
|
||||||
|
|
||||||
button-disabled-highlighted: dialog.png
|
button-highlighted-disabled: dialog.png
|
||||||
background: 513,145,126,126
|
background: 513,145,126,126
|
||||||
border-r: 639,145,1,126
|
border-r: 639,145,1,126
|
||||||
border-l: 512,145,1,126
|
border-l: 512,145,1,126
|
||||||
@@ -318,7 +318,7 @@ button-pressed: dialog.png
|
|||||||
corner-bl: 640,82,1,1
|
corner-bl: 640,82,1,1
|
||||||
corner-br: 722,82,1,1
|
corner-br: 722,82,1,1
|
||||||
|
|
||||||
button-pressed-highlighted: dialog.png
|
button-highlighted-pressed: dialog.png
|
||||||
background: 641,145,126,126
|
background: 641,145,126,126
|
||||||
border-r: 767,145,1,126
|
border-r: 767,145,1,126
|
||||||
border-l: 640,145,1,126
|
border-l: 640,145,1,126
|
||||||
|
|||||||
Reference in New Issue
Block a user