Fixes #806. Button now support clicks.

This commit is contained in:
BDisp
2020-07-18 01:19:49 +01:00
parent 609a2514ea
commit c5f6e89abf

View File

@@ -203,29 +203,19 @@ namespace Terminal.Gui {
/// </remarks>
public Action Clicked;
/// <summary>
/// Method invoked when a mouse event is generated
/// </summary>
/// <param name="mouseEvent"></param>
/// <returns><c>true</c>, if the event was handled, <c>false</c> otherwise.</returns>
public override bool OnMouseEvent (MouseEvent mouseEvent)
///<inheritdoc/>
public override bool MouseEvent (MouseEvent me)
{
MouseEventArgs args = new MouseEventArgs (mouseEvent);
MouseClick?.Invoke (args);
if (args.Handled)
return true;
if (MouseEvent (mouseEvent))
return true;
if (mouseEvent.Flags == MouseFlags.Button1Clicked || mouseEvent.Flags == MouseFlags.Button1DoubleClicked ||
mouseEvent.Flags == MouseFlags.Button1TripleClicked) {
if (!HasFocus && SuperView != null) {
SuperView.SetFocus (this);
SetNeedsDisplay ();
if (me.Flags == MouseFlags.Button1Clicked || me.Flags == MouseFlags.Button1DoubleClicked ||
me.Flags == MouseFlags.Button1TripleClicked) {
if (CanFocus) {
if (!HasFocus) {
SuperView?.SetFocus (this);
SetNeedsDisplay ();
}
Clicked?.Invoke ();
}
Clicked?.Invoke ();
return true;
}
return false;