Require LMB for common widget interactions.

This commit is contained in:
Paul Chote
2011-01-03 11:15:54 +13:00
parent abeffbbbf7
commit 1ced0d7ab9
9 changed files with 18 additions and 4 deletions

View File

@@ -46,6 +46,9 @@ namespace OpenRA.Widgets
public override bool HandleInputInner(MouseInput mi) public override bool HandleInputInner(MouseInput mi)
{ {
if (mi.Button != MouseButton.Left)
return false;
if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi)) if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi))
return false; return false;

View File

@@ -41,7 +41,10 @@ namespace OpenRA.Widgets
new float2(rect.Left + 2, rect.Top + 2)); new float2(rect.Left + 2, rect.Top + 2));
} }
public override bool HandleInputInner(MouseInput mi) { return true; } public override bool HandleInputInner(MouseInput mi)
{
return mi.Button == MouseButton.Left;
}
public CheckboxWidget() : base() { } public CheckboxWidget() : base() { }

View File

@@ -127,6 +127,9 @@ namespace OpenRA.Widgets
int2 lastMouseLocation; int2 lastMouseLocation;
public override bool HandleInputInner(MouseInput mi) public override bool HandleInputInner(MouseInput mi)
{ {
if (mi.Button != MouseButton.Left)
return false;
if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi)) if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi))
return false; return false;

View File

@@ -65,6 +65,9 @@ namespace OpenRA.Widgets
public override bool HandleInputInner(MouseInput mi) public override bool HandleInputInner(MouseInput mi)
{ {
if (mi.Button != MouseButton.Left)
return false;
if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi)) if (mi.Event == MouseInputEvent.Down && !TakeFocus(mi))
return false; return false;

View File

@@ -64,7 +64,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
var template = itemTemplate.Clone() as ContainerWidget; var template = itemTemplate.Clone() as ContainerWidget;
template.Id = "MAP_{0}".F(map.Uid); template.Id = "MAP_{0}".F(map.Uid);
template.GetBackground = () => ((Map == map) ? "dialog2" : null); template.GetBackground = () => ((Map == map) ? "dialog2" : null);
template.OnMouseDown = mi => { Map = map; return true; }; template.OnMouseDown = mi => { if (mi.Button != MouseButton.Left) return false; Map = map; return true; };
template.IsVisible = () => true; template.IsVisible = () => true;
template.GetWidget<LabelWidget>("TITLE").GetText = () => " " + map.Title; template.GetWidget<LabelWidget>("TITLE").GetText = () => " " + map.Title;
template.GetWidget<LabelWidget>("TYPE").GetText = () => map.Type + " "; template.GetWidget<LabelWidget>("TYPE").GetText = () => map.Type + " ";

View File

@@ -117,6 +117,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
template.GetBackground = () => ((song == CurrentSong) ? "dialog2" : null); template.GetBackground = () => ((song == CurrentSong) ? "dialog2" : null);
template.OnMouseDown = mi => template.OnMouseDown = mi =>
{ {
if (mi.Button != MouseButton.Left) return false;
CurrentSong = song; CurrentSong = song;
bg.GetWidget("BUTTON_PLAY").OnMouseUp(mi); bg.GetWidget("BUTTON_PLAY").OnMouseUp(mi);
return true; return true;

View File

@@ -104,7 +104,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
entry.Id = "REPLAY_"; entry.Id = "REPLAY_";
entry.GetText = () => " {0}".F(Path.GetFileName(filename)); entry.GetText = () => " {0}".F(Path.GetFileName(filename));
entry.GetBackground = () => (CurrentReplay == filename) ? "dialog2" : null; entry.GetBackground = () => (CurrentReplay == filename) ? "dialog2" : null;
entry.OnMouseDown = mi => { CurrentReplay = filename; return true; }; entry.OnMouseDown = mi => { if (mi.Button != MouseButton.Left) return false; CurrentReplay = filename; return true; };
entry.IsVisible = () => true; entry.IsVisible = () => true;
list.AddChild(entry); list.AddChild(entry);
} }

View File

@@ -171,7 +171,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
game.Name, game.Name,
game.Address); game.Address);
template.GetBackground = () => (currentServer == game) ? "dialog2" : null; template.GetBackground = () => (currentServer == game) ? "dialog2" : null;
template.OnMouseDown = mi => { currentServer = game; return true; }; template.OnMouseDown = mi => { if (mi.Button != MouseButton.Left) return false; currentServer = game; return true; };
template.IsVisible = () => true; template.IsVisible = () => true;
sl.AddChild(template); sl.AddChild(template);

View File

@@ -74,6 +74,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
template.GetBackground = () => ((video == Selected) ? "dialog2" : null); template.GetBackground = () => ((video == Selected) ? "dialog2" : null);
template.OnMouseDown = mi => template.OnMouseDown = mi =>
{ {
if (mi.Button != MouseButton.Left) return false;
Selected = video; Selected = video;
player.Load(video); player.Load(video);
return true; return true;