Remove duplication between ButtonWidget and ToggleButtonWidget.

This commit is contained in:
Paul Chote
2013-04-08 22:55:01 +12:00
parent 71999bdc52
commit eddc1fc0cf
8 changed files with 15 additions and 23 deletions

View File

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

View File

@@ -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");

View File

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

View File

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