Move OnMouseUp onto ButtonWidget and drop its unnecessary plumbing.

This commit is contained in:
Paul Chote
2011-07-04 02:52:37 +12:00
parent 8189ef109e
commit 193999a040
16 changed files with 95 additions and 203 deletions

View File

@@ -8,6 +8,7 @@
*/
#endregion
using System;
using System.Drawing;
using System.Linq;
using OpenRA.Traits;
@@ -45,28 +46,17 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
void SetupProductionGroupButton(ButtonWidget button, string group)
{
Action<bool> selectTab = reverse =>
{
if (queueTabs.QueueGroup == group)
queueTabs.SelectNextTab(reverse);
else
queueTabs.QueueGroup = group;
};
button.IsDisabled = () => queueTabs.Groups[group].Tabs.Count == 0;
button.OnMouseUp = mi =>
{
if (button.IsDisabled())
return true;
if (queueTabs.QueueGroup == group)
queueTabs.SelectNextTab(mi.Modifiers.HasModifier(Modifiers.Shift));
else
queueTabs.QueueGroup = group;
return true;
};
button.OnKeyPress = e =>
{
if (queueTabs.QueueGroup == group)
queueTabs.SelectNextTab(e.Modifiers.HasModifier(Modifiers.Shift));
else
queueTabs.QueueGroup = group;
};
button.OnMouseUp = mi => selectTab(mi.Modifiers.HasModifier(Modifiers.Shift));
button.OnKeyPress = e => selectTab(e.Modifiers.HasModifier(Modifiers.Shift));
}
[ObjectCreator.UseCtor]