diff --git a/Terminal.Gui/Application/Application.Initialization.cs b/Terminal.Gui/Application/Application.Initialization.cs index c1058f838..02351612f 100644 --- a/Terminal.Gui/Application/Application.Initialization.cs +++ b/Terminal.Gui/Application/Application.Initialization.cs @@ -180,7 +180,7 @@ public static partial class Application // Initialization (Init/Shutdown) private static void Driver_SizeChanged (object? sender, SizeChangedEventArgs e) { OnSizeChanging (e); } private static void Driver_KeyDown (object? sender, Key e) { RaiseKeyDownEvent (e); } private static void Driver_KeyUp (object? sender, Key e) { RaiseKeyUpEvent (e); } - private static void Driver_MouseEvent (object? sender, MouseEvent e) { RaiseMouseEvent (e); } + private static void Driver_MouseEvent (object? sender, MouseEventArgs e) { RaiseMouseEvent (e); } /// Gets of list of types that are available. /// diff --git a/Terminal.Gui/Application/Application.Mouse.cs b/Terminal.Gui/Application/Application.Mouse.cs index 9ac7df27a..47714c03f 100644 --- a/Terminal.Gui/Application/Application.Mouse.cs +++ b/Terminal.Gui/Application/Application.Mouse.cs @@ -130,7 +130,7 @@ public static partial class Application // Mouse handling /// /// This method can be used to simulate a mouse event, e.g. in unit tests. /// The mouse event with coordinates relative to the screen. - internal static void RaiseMouseEvent (MouseEvent mouseEvent) + internal static void RaiseMouseEvent (MouseEventArgs mouseEvent) { _lastMousePosition = mouseEvent.ScreenPosition; @@ -187,7 +187,7 @@ public static partial class Application // Mouse handling } // Create a view-relative mouse event to send to the view that is under the mouse. - MouseEvent? viewMouseEvent; + MouseEventArgs? viewMouseEvent; if (deepestViewUnderMouse is Adornment adornment) { @@ -255,25 +255,25 @@ public static partial class Application // Mouse handling } /// - /// Raised when a mouse event occurs. Can be cancelled by setting to . + /// Raised when a mouse event occurs. Can be cancelled by setting to . /// /// /// - /// coordinates are screen-relative. + /// coordinates are screen-relative. /// /// - /// will be the deepest view under the under the mouse. + /// will be the deepest view under the under the mouse. /// /// - /// coordinates are view-relative. + /// coordinates are view-relative. /// /// /// Use this evento to handle mouse events at the application level, before View-specific handling. /// /// - public static event EventHandler? MouseEvent; + public static event EventHandler? MouseEvent; - internal static bool HandleMouseGrab (View? deepestViewUnderMouse, MouseEvent mouseEvent) + internal static bool HandleMouseGrab (View? deepestViewUnderMouse, MouseEventArgs mouseEvent) { if (MouseGrabView is { }) { @@ -288,7 +288,7 @@ public static partial class Application // Mouse handling // The coordinates are relative to the Bounds of the view that grabbed the mouse. Point frameLoc = MouseGrabView.ScreenToViewport (mouseEvent.ScreenPosition); - var viewRelativeMouseEvent = new MouseEvent + var viewRelativeMouseEvent = new MouseEventArgs { Position = frameLoc, Flags = mouseEvent.Flags, diff --git a/Terminal.Gui/ConsoleDrivers/ConsoleDriver.cs b/Terminal.Gui/ConsoleDrivers/ConsoleDriver.cs index 9f2a45465..7d6de3834 100644 --- a/Terminal.Gui/ConsoleDrivers/ConsoleDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/ConsoleDriver.cs @@ -588,11 +588,11 @@ public abstract class ConsoleDriver public void OnKeyUp (Key a) { KeyUp?.Invoke (this, a); } /// Event fired when a mouse event occurs. - public event EventHandler? MouseEvent; + public event EventHandler? MouseEvent; /// Called when a mouse event occurs. Fires the event. /// - public void OnMouseEvent (MouseEvent a) + public void OnMouseEvent (MouseEventArgs a) { // Ensure ScreenPosition is set a.ScreenPosition = a.Position; diff --git a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs index 0b11949a9..b806457d4 100644 --- a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs @@ -1004,7 +1004,7 @@ internal class CursesDriver : ConsoleDriver _lastMouseFlags = mouseFlag; - var me = new MouseEvent { Flags = mouseFlag, Position = pos }; + var me = new MouseEventArgs { Flags = mouseFlag, Position = pos }; //Debug.WriteLine ($"CursesDriver: ({me.Position}) - {me.Flags}"); OnMouseEvent (me); diff --git a/Terminal.Gui/ConsoleDrivers/NetDriver.cs b/Terminal.Gui/ConsoleDrivers/NetDriver.cs index 1298c1c35..8aaddc321 100644 --- a/Terminal.Gui/ConsoleDrivers/NetDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/NetDriver.cs @@ -1154,7 +1154,7 @@ internal class NetDriver : ConsoleDriver break; case EventType.Mouse: - MouseEvent me = ToDriverMouse (inputEvent.MouseEvent); + MouseEventArgs me = ToDriverMouse (inputEvent.MouseEvent); //Debug.WriteLine ($"NetDriver: ({me.X},{me.Y}) - {me.Flags}"); OnMouseEvent (me); @@ -1393,7 +1393,7 @@ internal class NetDriver : ConsoleDriver } } - private MouseEvent ToDriverMouse (NetEvents.MouseEvent me) + private MouseEventArgs ToDriverMouse (NetEvents.MouseEvent me) { //System.Diagnostics.Debug.WriteLine ($"X: {me.Position.X}; Y: {me.Position.Y}; ButtonState: {me.ButtonState}"); @@ -1539,7 +1539,7 @@ internal class NetDriver : ConsoleDriver mouseFlag |= MouseFlags.ButtonAlt; } - return new MouseEvent { Position = me.Position, Flags = mouseFlag }; + return new MouseEventArgs { Position = me.Position, Flags = mouseFlag }; } #endregion Mouse Handling diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 2a9bef081..fd5c6901c 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -1483,7 +1483,7 @@ internal class WindowsDriver : ConsoleDriver break; case WindowsConsole.EventType.Mouse: - MouseEvent me = ToDriverMouse (inputEvent.MouseEvent); + MouseEventArgs me = ToDriverMouse (inputEvent.MouseEvent); if (me is null || me.Flags == MouseFlags.None) { @@ -1827,9 +1827,9 @@ internal class WindowsDriver : ConsoleDriver } await Task.Delay (delay); - var me = new MouseEvent + var me = new MouseEventArgs { - Position = _pointMove, + ScreenPosition = _pointMove, Flags = mouseFlag }; @@ -1883,7 +1883,7 @@ internal class WindowsDriver : ConsoleDriver } [CanBeNull] - private MouseEvent ToDriverMouse (WindowsConsole.MouseEventRecord mouseEvent) + private MouseEventArgs ToDriverMouse (WindowsConsole.MouseEventRecord mouseEvent) { var mouseFlag = MouseFlags.AllEvents; @@ -2127,7 +2127,7 @@ internal class WindowsDriver : ConsoleDriver //System.Diagnostics.Debug.WriteLine ( // $"point.X:{(point is { } ? ((Point)point).X : -1)};point.Y:{(point is { } ? ((Point)point).Y : -1)}"); - return new MouseEvent + return new MouseEventArgs { Position = new (mouseEvent.MousePosition.X, mouseEvent.MousePosition.Y), Flags = mouseFlag diff --git a/Terminal.Gui/Input/MouseEventArgs.cs b/Terminal.Gui/Input/MouseEventArgs.cs new file mode 100644 index 000000000..90b746d5f --- /dev/null +++ b/Terminal.Gui/Input/MouseEventArgs.cs @@ -0,0 +1,31 @@ +using System.ComponentModel; + +namespace Terminal.Gui; + +/// +/// Specifies the event arguments for . This is a higher-level construct than +/// the wrapped class and is used for the events defined on and subclasses +/// of View (e.g. and ). +/// +public class MouseEventArgs : HandledEventArgs +{ + /// + /// Flags indicating the state of the mouse buttons and the type of event that occurred. + /// + public MouseFlags Flags { get; set; } + + /// + /// The screen-relative mouse position. + /// + public Point ScreenPosition { get; set; } + + /// The deepest View who's screen coordinates are . + public View View { get; set; } + + /// The position of the mouse in 's Viewport-relative coordinates. + public Point Position { get; set; } + + /// Returns a that represents the current . + /// A that represents the current . + public override string ToString () { return $"({Position}):{Flags}"; } +} diff --git a/Terminal.Gui/Input/MouseEventEventArgs.cs b/Terminal.Gui/Input/MouseEventEventArgs.cs deleted file mode 100644 index 79aaff00d..000000000 --- a/Terminal.Gui/Input/MouseEventEventArgs.cs +++ /dev/null @@ -1,32 +0,0 @@ -namespace Terminal.Gui; - -/// -/// Specifies the event arguments for . This is a higher-level construct than -/// the wrapped class and is used for the events defined on and subclasses -/// of View (e.g. and ). -/// -public class MouseEventArgs : EventArgs -{ - /// Constructs. - /// The mouse event. - public MouseEventArgs (MouseEvent me) { MouseEvent = me; } - - /// - /// Indicates if the current mouse event has already been processed and the driver should stop notifying any other - /// event subscriber. It's important to set this value to true specially when updating any View's layout from inside the - /// subscriber method. - /// - /// - /// This property forwards to the property and is provided as a convenience and - /// for backwards compatibility - /// - public bool Handled - { - get => MouseEvent.Handled; - set => MouseEvent.Handled = value; - } - - // TODO: Merge MouseEvent and MouseEventEventArgs into a single class. - /// The for the event. - public MouseEvent MouseEvent { get; set; } -} diff --git a/Terminal.Gui/Input/Mouse.cs b/Terminal.Gui/Input/MouseFlags.cs similarity index 59% rename from Terminal.Gui/Input/Mouse.cs rename to Terminal.Gui/Input/MouseFlags.cs index 8069a339d..e77175f75 100644 --- a/Terminal.Gui/Input/Mouse.cs +++ b/Terminal.Gui/Input/MouseFlags.cs @@ -1,12 +1,12 @@ namespace Terminal.Gui; -/// Mouse flags reported in . +/// Mouse flags reported in . /// They just happen to map to the ncurses ones. [Flags] public enum MouseFlags { /// - /// No mouse event. This is the default value for when no mouse event is being reported. + /// No mouse event. This is the default value for when no mouse event is being reported. /// None = 0, @@ -97,50 +97,3 @@ public enum MouseFlags /// Mask that captures all the events. AllEvents = 0x7ffffff } - -// TODO: Merge MouseEvent and MouseEventEventArgs into a single class. - -/// -/// Conveys the details of mouse events, such as coordinates and button state, from -/// ConsoleDrivers up to and Views. -/// -/// -/// The class includes the event which takes a -/// MouseEvent argument. -/// -public class MouseEvent -{ - /// Flags indicating the kind of mouse event that is being posted. - public MouseFlags Flags { get; set; } - - /// The View at the location for the mouse event. - public View View { get; set; } - - /// The position of the mouse in -relative coordinates. - public Point Position { get; set; } - - /// - /// The screen-relative mouse position. - /// - /// - /// - /// is -relative. When the mouse is grabbed by a view, - /// provides the mouse position screen-relative coordinates, enabling the grabbed view to know how much the - /// mouse has moved. - /// - /// - /// Calculated and processed in . - /// - /// - public Point ScreenPosition { get; set; } - - /// - /// Indicates if the current mouse event has been processed. Set this value to to indicate the mouse - /// event was handled. - /// - public bool Handled { get; set; } - - /// Returns a that represents the current . - /// A that represents the current . - public override string ToString () { return $"({Position}):{Flags}"; } -} diff --git a/Terminal.Gui/Text/Autocomplete/AppendAutocomplete.cs b/Terminal.Gui/Text/Autocomplete/AppendAutocomplete.cs index 2fa920e70..9602776f5 100644 --- a/Terminal.Gui/Text/Autocomplete/AppendAutocomplete.cs +++ b/Terminal.Gui/Text/Autocomplete/AppendAutocomplete.cs @@ -59,7 +59,7 @@ public class AppendAutocomplete : AutocompleteBase } /// - public override bool OnMouseEvent (MouseEvent me, bool fromHost = false) { return false; } + public override bool OnMouseEvent (MouseEventArgs me, bool fromHost = false) { return false; } /// public override bool ProcessKey (Key a) diff --git a/Terminal.Gui/Text/Autocomplete/AutocompleteBase.cs b/Terminal.Gui/Text/Autocomplete/AutocompleteBase.cs index 39d725ca4..ad51d5e22 100644 --- a/Terminal.Gui/Text/Autocomplete/AutocompleteBase.cs +++ b/Terminal.Gui/Text/Autocomplete/AutocompleteBase.cs @@ -49,7 +49,7 @@ public abstract class AutocompleteBase : IAutocomplete public virtual AutocompleteContext Context { get; set; } /// - public abstract bool OnMouseEvent (MouseEvent me, bool fromHost = false); + public abstract bool OnMouseEvent (MouseEventArgs me, bool fromHost = false); /// public abstract bool ProcessKey (Key a); diff --git a/Terminal.Gui/Text/Autocomplete/IAutocomplete.cs b/Terminal.Gui/Text/Autocomplete/IAutocomplete.cs index 6305386bd..88d3a8026 100644 --- a/Terminal.Gui/Text/Autocomplete/IAutocomplete.cs +++ b/Terminal.Gui/Text/Autocomplete/IAutocomplete.cs @@ -45,7 +45,7 @@ public interface IAutocomplete /// The mouse event. /// If was called from the popup or from the host. /// trueif the mouse can be handled falseotherwise. - bool OnMouseEvent (MouseEvent me, bool fromHost = false); + bool OnMouseEvent (MouseEventArgs me, bool fromHost = false); /// Gets or sets where the popup will be displayed. bool PopupInsideContainer { get; set; } diff --git a/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.PopUp.cs b/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.PopUp.cs index e53cbc0aa..39bdd7522 100644 --- a/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.PopUp.cs +++ b/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.PopUp.cs @@ -25,6 +25,6 @@ public abstract partial class PopupAutocomplete _autoComplete.RenderOverlay (_autoComplete.LastPopupPos.Value); } - protected override bool OnMouseEvent (MouseEvent mouseEvent) { return _autoComplete.OnMouseEvent (mouseEvent); } + protected override bool OnMouseEvent (MouseEventArgs mouseEvent) { return _autoComplete.OnMouseEvent (mouseEvent); } } } diff --git a/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.cs b/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.cs index c17695ee7..4f332bd54 100644 --- a/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.cs +++ b/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.cs @@ -105,7 +105,7 @@ public abstract partial class PopupAutocomplete : AutocompleteBase /// The mouse event. /// If was called from the popup or from the host. /// trueif the mouse can be handled falseotherwise. - public override bool OnMouseEvent (MouseEvent me, bool fromHost = false) + public override bool OnMouseEvent (MouseEventArgs me, bool fromHost = false) { if (fromHost) { @@ -488,7 +488,7 @@ public abstract partial class PopupAutocomplete : AutocompleteBase /// Render the current selection in the Autocomplete context menu by the mouse reporting. /// - protected void RenderSelectedIdxByMouse (MouseEvent me) + protected void RenderSelectedIdxByMouse (MouseEventArgs me) { if (SelectedIdx != me.Position.Y - ScrollOffset) { diff --git a/Terminal.Gui/View/Adornment/Border.cs b/Terminal.Gui/View/Adornment/Border.cs index a9c87919a..add7527e6 100644 --- a/Terminal.Gui/View/Adornment/Border.cs +++ b/Terminal.Gui/View/Adornment/Border.cs @@ -262,7 +262,7 @@ public class Border : Adornment private Point _startGrabPoint; /// - protected override bool OnMouseEvent (MouseEvent mouseEvent) + protected override bool OnMouseEvent (MouseEventArgs mouseEvent) { // BUGBUG: See https://github.com/gui-cs/Terminal.Gui/issues/3312 if (!_dragPosition.HasValue && mouseEvent.Flags.HasFlag (MouseFlags.Button1Pressed) @@ -1365,7 +1365,7 @@ public class Border : Adornment KeyBindings.Add (Key.Tab.WithShift, KeyBindingScope.HotKey, Command.BackTab); } - private void ApplicationOnMouseEvent (object? sender, MouseEvent e) + private void ApplicationOnMouseEvent (object? sender, MouseEventArgs e) { if (e.Flags != MouseFlags.Button1Clicked) { diff --git a/Terminal.Gui/View/Adornment/Padding.cs b/Terminal.Gui/View/Adornment/Padding.cs index 5eb1eda72..7dbc1cd70 100644 --- a/Terminal.Gui/View/Adornment/Padding.cs +++ b/Terminal.Gui/View/Adornment/Padding.cs @@ -50,7 +50,7 @@ public class Padding : Adornment /// /// /// , if the event was handled, otherwise. - protected override bool OnMouseEvent (MouseEvent mouseEvent) + protected override bool OnMouseEvent (MouseEventArgs mouseEvent) { if (Parent is null) { diff --git a/Terminal.Gui/View/View.Mouse.cs b/Terminal.Gui/View/View.Mouse.cs index e6d81687c..8ff82b164 100644 --- a/Terminal.Gui/View/View.Mouse.cs +++ b/Terminal.Gui/View/View.Mouse.cs @@ -220,12 +220,12 @@ public partial class View // Mouse APIs /// /// /// If is , the / event - /// will be raised on any new mouse event where indicates a button is pressed. + /// will be raised on any new mouse event where indicates a button is pressed. /// /// /// /// if the event was handled, otherwise. - public bool? NewMouseEvent (MouseEvent mouseEvent) + public bool? NewMouseEvent (MouseEventArgs mouseEvent) { // Pre-conditions if (!Enabled) @@ -286,7 +286,7 @@ public partial class View // Mouse APIs // If it's a click, and we didn't handle it, then we need to generate a click event // We get here if the view did not handle the mouse event via OnMouseEvent/MouseEvent and // it did not handle the press/release/clicked events via HandlePress/HandleRelease/HandleClicked - return OnMouseClick (new (mouseEvent)); + return OnMouseClick (mouseEvent); } return false; @@ -297,18 +297,16 @@ public partial class View // Mouse APIs /// /// /// , if the event was handled, otherwise. - public bool RaiseMouseEvent (MouseEvent mouseEvent) + public bool RaiseMouseEvent (MouseEventArgs mouseEvent) { - var args = new MouseEventArgs (mouseEvent); - if (OnMouseEvent (mouseEvent) || mouseEvent.Handled == true) { return true; } - MouseEvent?.Invoke (this, args); + MouseEvent?.Invoke (this, mouseEvent); - return args.Handled; + return mouseEvent.Handled; } /// Called when a mouse event occurs within the view's . @@ -319,7 +317,7 @@ public partial class View // Mouse APIs /// /// /// , if the event was handled, otherwise. - protected virtual bool OnMouseEvent (MouseEvent mouseEvent) + protected virtual bool OnMouseEvent (MouseEventArgs mouseEvent) { return false; } @@ -341,7 +339,7 @@ public partial class View // Mouse APIs /// /// /// Fired when the mouse is either clicked or double-clicked. Check - /// to see which button was clicked. + /// to see which button was clicked. /// /// /// The coordinates are relative to . @@ -353,7 +351,7 @@ public partial class View // Mouse APIs /// /// /// Called when the mouse is either clicked or double-clicked. Check - /// to see which button was clicked. + /// to see which button was clicked. /// /// /// , if the event was handled, otherwise. @@ -383,7 +381,7 @@ public partial class View // Mouse APIs // Always invoke Select command on MouseClick // By default, this will raise Selecting/OnSelecting - Subclasses can override this via AddCommand (Command.Select ...). - args.Handled = InvokeCommand (Command.Select, ctx: new (Command.Select, key: null, data: args.MouseEvent)) == true; + args.Handled = InvokeCommand (Command.Select, ctx: new (Command.Select, key: null, data: args)) == true; return args.Handled; } @@ -397,7 +395,7 @@ public partial class View // Mouse APIs /// /// /// , if the event was handled, otherwise. - internal bool WhenGrabbedHandleClicked (MouseEvent mouseEvent) + internal bool WhenGrabbedHandleClicked (MouseEventArgs mouseEvent) { if (Application.MouseGrabView == this && (mouseEvent.Flags.HasFlag (MouseFlags.Button1Clicked) @@ -416,7 +414,7 @@ public partial class View // Mouse APIs // If mouse is still in bounds, generate a click if (!WantMousePositionReports && Viewport.Contains (mouseEvent.Position)) { - return OnMouseClick (new (mouseEvent)); + return OnMouseClick (mouseEvent); } return mouseEvent.Handled = true; @@ -434,7 +432,7 @@ public partial class View // Mouse APIs /// /// /// , if the event was handled, otherwise. - internal bool WhenGrabbedHandleReleased (MouseEvent mouseEvent) + internal bool WhenGrabbedHandleReleased (MouseEventArgs mouseEvent) { if (mouseEvent.Flags.HasFlag (MouseFlags.Button1Released) || mouseEvent.Flags.HasFlag (MouseFlags.Button2Released) @@ -463,7 +461,7 @@ public partial class View // Mouse APIs /// /// /// , if the event was handled, otherwise. - private bool WhenGrabbedHandlePressed (MouseEvent mouseEvent) + private bool WhenGrabbedHandlePressed (MouseEventArgs mouseEvent) { if (mouseEvent.Flags.HasFlag (MouseFlags.Button1Pressed) || mouseEvent.Flags.HasFlag (MouseFlags.Button2Pressed) @@ -505,7 +503,7 @@ public partial class View // Mouse APIs if (WantContinuousButtonPressed && Application.MouseGrabView == this) { // If this is not the first pressed event, generate a click - return OnMouseClick (new (mouseEvent)); + return OnMouseClick (mouseEvent); } return mouseEvent.Handled = true; diff --git a/Terminal.Gui/Views/Bar.cs b/Terminal.Gui/Views/Bar.cs index 8e570eaf9..1511cd68a 100644 --- a/Terminal.Gui/Views/Bar.cs +++ b/Terminal.Gui/Views/Bar.cs @@ -49,23 +49,23 @@ public class Bar : View, IOrientation, IDesignable { NavigationDirection direction = NavigationDirection.Backward; - if (e.MouseEvent.Flags == MouseFlags.WheeledDown) + if (e.Flags == MouseFlags.WheeledDown) { e.Handled = true; } - if (e.MouseEvent.Flags == MouseFlags.WheeledUp) + if (e.Flags == MouseFlags.WheeledUp) { direction = NavigationDirection.Forward; e.Handled = true; } - if (e.MouseEvent.Flags == MouseFlags.WheeledRight) + if (e.Flags == MouseFlags.WheeledRight) { e.Handled = true; } - if (e.MouseEvent.Flags == MouseFlags.WheeledLeft) + if (e.Flags == MouseFlags.WheeledLeft) { direction = NavigationDirection.Forward; e.Handled = true; diff --git a/Terminal.Gui/Views/ColorBar.cs b/Terminal.Gui/Views/ColorBar.cs index ea6197959..581606d17 100644 --- a/Terminal.Gui/Views/ColorBar.cs +++ b/Terminal.Gui/Views/ColorBar.cs @@ -110,7 +110,7 @@ internal abstract class ColorBar : View, IColorBar public event EventHandler>? ValueChanged; /// - protected override bool OnMouseEvent (MouseEvent mouseEvent) + protected override bool OnMouseEvent (MouseEventArgs mouseEvent) { if (mouseEvent.Flags.HasFlag (MouseFlags.Button1Pressed)) { diff --git a/Terminal.Gui/Views/ColorPicker.16.cs b/Terminal.Gui/Views/ColorPicker.16.cs index b3a294369..c1cb72cc2 100644 --- a/Terminal.Gui/Views/ColorPicker.16.cs +++ b/Terminal.Gui/Views/ColorPicker.16.cs @@ -185,7 +185,7 @@ public class ColorPicker16 : View { // if (CanFocus) { - Cursor = new (me.MouseEvent.Position.X / _boxWidth, me.MouseEvent.Position.Y / _boxHeight); + Cursor = new (me.Position.X / _boxWidth, me.Position.Y / _boxHeight); SetFocus (); me.Handled = true; } diff --git a/Terminal.Gui/Views/ComboBox.cs b/Terminal.Gui/Views/ComboBox.cs index e7702519d..996056068 100644 --- a/Terminal.Gui/Views/ComboBox.cs +++ b/Terminal.Gui/Views/ComboBox.cs @@ -253,7 +253,7 @@ public class ComboBox : View, IDesignable public event EventHandler Expanded; /// - protected override bool OnMouseEvent (MouseEvent me) + protected override bool OnMouseEvent (MouseEventArgs me) { if (me.Position.X == Viewport.Right - 1 && me.Position.Y == Viewport.Top @@ -836,7 +836,7 @@ public class ComboBox : View, IDesignable set => _hideDropdownListOnClick = WantContinuousButtonPressed = value; } - protected override bool OnMouseEvent (MouseEvent me) + protected override bool OnMouseEvent (MouseEventArgs me) { bool isMousePositionValid = IsMousePositionValid (me); @@ -985,7 +985,7 @@ public class ComboBox : View, IDesignable return res; } - private bool IsMousePositionValid (MouseEvent me) + private bool IsMousePositionValid (MouseEventArgs me) { if (me.Position.X >= 0 && me.Position.X < Frame.Width && me.Position.Y >= 0 && me.Position.Y < Frame.Height) { diff --git a/Terminal.Gui/Views/DateField.cs b/Terminal.Gui/Views/DateField.cs index 0abc62984..0c8b253c2 100644 --- a/Terminal.Gui/Views/DateField.cs +++ b/Terminal.Gui/Views/DateField.cs @@ -114,7 +114,7 @@ public class DateField : TextField } /// - protected override bool OnMouseEvent (MouseEvent ev) + protected override bool OnMouseEvent (MouseEventArgs ev) { if (SelectedLength == 0 && ev.Flags.HasFlag (MouseFlags.Button1Pressed)) { diff --git a/Terminal.Gui/Views/FileDialog.cs b/Terminal.Gui/Views/FileDialog.cs index 95d7330a8..874e76dec 100644 --- a/Terminal.Gui/Views/FileDialog.cs +++ b/Terminal.Gui/Views/FileDialog.cs @@ -1009,16 +1009,16 @@ public class FileDialog : Dialog private void OnTableViewMouseClick (object sender, MouseEventArgs e) { - Point? clickedCell = _tableView.ScreenToCell (e.MouseEvent.Position.X, e.MouseEvent.Position.Y, out int? clickedCol); + Point? clickedCell = _tableView.ScreenToCell (e.Position.X, e.Position.Y, out int? clickedCol); if (clickedCol is { }) { - if (e.MouseEvent.Flags.HasFlag (MouseFlags.Button1Clicked)) + if (e.Flags.HasFlag (MouseFlags.Button1Clicked)) { // left click in a header SortColumn (clickedCol.Value); } - else if (e.MouseEvent.Flags.HasFlag (MouseFlags.Button3Clicked)) + else if (e.Flags.HasFlag (MouseFlags.Button3Clicked)) { // right click in a header ShowHeaderContextMenu (clickedCol.Value, e); @@ -1026,7 +1026,7 @@ public class FileDialog : Dialog } else { - if (clickedCell is { } && e.MouseEvent.Flags.HasFlag (MouseFlags.Button3Clicked)) + if (clickedCell is { } && e.Flags.HasFlag (MouseFlags.Button3Clicked)) { // right click in rest of table ShowCellContextMenu (clickedCell, e); @@ -1207,7 +1207,7 @@ public class FileDialog : Dialog var contextMenu = new ContextMenu { - Position = new Point (e.MouseEvent.Position.X + 1, e.MouseEvent.Position.Y + 1) + Position = new Point (e.Position.X + 1, e.Position.Y + 1) }; var menuItems = new MenuBarItem ( @@ -1228,7 +1228,7 @@ public class FileDialog : Dialog var contextMenu = new ContextMenu { - Position = new Point (e.MouseEvent.Position.X + 1, e.MouseEvent.Position.Y + 1) + Position = new Point (e.Position.X + 1, e.Position.Y + 1) }; var menuItems = new MenuBarItem ( diff --git a/Terminal.Gui/Views/HexView.cs b/Terminal.Gui/Views/HexView.cs index a6e838233..e1cca01ed 100644 --- a/Terminal.Gui/Views/HexView.cs +++ b/Terminal.Gui/Views/HexView.cs @@ -250,7 +250,7 @@ public class HexView : View, IDesignable public event EventHandler Edited; /// - protected override bool OnMouseEvent (MouseEvent me) + protected override bool OnMouseEvent (MouseEventArgs me) { if (!me.Flags.HasFlag (MouseFlags.Button1Clicked) && !me.Flags.HasFlag (MouseFlags.Button1DoubleClicked) diff --git a/Terminal.Gui/Views/ListView.cs b/Terminal.Gui/Views/ListView.cs index e1f3a4f19..564b1cfed 100644 --- a/Terminal.Gui/Views/ListView.cs +++ b/Terminal.Gui/Views/ListView.cs @@ -472,7 +472,7 @@ public class ListView : View, IDesignable } /// - protected override bool OnMouseEvent (MouseEvent me) + protected override bool OnMouseEvent (MouseEventArgs me) { if (!me.Flags.HasFlag (MouseFlags.Button1Clicked) && !me.Flags.HasFlag (MouseFlags.Button1DoubleClicked) diff --git a/Terminal.Gui/Views/Menu/Menu.cs b/Terminal.Gui/Views/Menu/Menu.cs index 9f672ec23..a8c50755b 100644 --- a/Terminal.Gui/Views/Menu/Menu.cs +++ b/Terminal.Gui/Views/Menu/Menu.cs @@ -337,7 +337,7 @@ internal sealed class Menu : View } } - private void Application_RootMouseEvent (object? sender, MouseEvent a) + private void Application_RootMouseEvent (object? sender, MouseEventArgs a) { if (a.View is { } and (MenuBar or not Menu)) { @@ -353,7 +353,7 @@ internal sealed class Menu : View Point boundsPoint = view.ScreenToViewport (new (a.Position.X, a.Position.Y)); - var me = new MouseEvent + var me = new MouseEventArgs { Position = boundsPoint, Flags = a.Flags, @@ -808,7 +808,7 @@ internal sealed class Menu : View _host.SetNeedsDisplay (); } - protected override bool OnMouseEvent (MouseEvent me) + protected override bool OnMouseEvent (MouseEventArgs me) { if (!_host._handled && !_host.HandleGrabView (me, this)) { diff --git a/Terminal.Gui/Views/Menu/MenuBar.cs b/Terminal.Gui/Views/Menu/MenuBar.cs index 8dbcfe29b..a15d1e463 100644 --- a/Terminal.Gui/Views/Menu/MenuBar.cs +++ b/Terminal.Gui/Views/Menu/MenuBar.cs @@ -137,7 +137,7 @@ public class MenuBar : View, IDesignable }); AddCommand (Command.Select, ctx => { - if (ctx.Data is MouseEvent) + if (ctx.Data is MouseEventArgs) { // HACK: Work around the fact that View.MouseClick always invokes Select return false; @@ -1400,7 +1400,7 @@ public class MenuBar : View, IDesignable } /// - protected override bool OnMouseEvent (MouseEvent me) + protected override bool OnMouseEvent (MouseEventArgs me) { if (!_handled && !HandleGrabView (me, this)) { @@ -1513,7 +1513,7 @@ public class MenuBar : View, IDesignable internal bool _isContextMenuLoading; private MenuBarItem [] _menus = []; - internal bool HandleGrabView (MouseEvent me, View current) + internal bool HandleGrabView (MouseEventArgs me, View current) { if (Application.MouseGrabView is { }) { @@ -1541,7 +1541,7 @@ public class MenuBar : View, IDesignable Application.UngrabMouse (); View v = me.View; Application.GrabMouse (v); - MouseEvent nme; + MouseEventArgs nme; if (me.Position.Y > -1) { diff --git a/Terminal.Gui/Views/RadioGroup.cs b/Terminal.Gui/Views/RadioGroup.cs index c45ae6e47..f929d0ce5 100644 --- a/Terminal.Gui/Views/RadioGroup.cs +++ b/Terminal.Gui/Views/RadioGroup.cs @@ -222,10 +222,10 @@ public class RadioGroup : View, IDesignable, IOrientation private void RadioGroup_MouseClick (object? sender, MouseEventArgs e) { - if (e.MouseEvent.Flags.HasFlag (MouseFlags.Button1Clicked)) + if (e.Flags.HasFlag (MouseFlags.Button1Clicked)) { - int viewportX = e.MouseEvent.Position.X; - int viewportY = e.MouseEvent.Position.Y; + int viewportX = e.Position.X; + int viewportY = e.Position.Y; int pos = Orientation == Orientation.Horizontal ? viewportX : viewportY; @@ -249,7 +249,7 @@ public class RadioGroup : View, IDesignable, IOrientation return; } - if (DoubleClickAccepts && e.MouseEvent.Flags.HasFlag (MouseFlags.Button1DoubleClicked)) + if (DoubleClickAccepts && e.Flags.HasFlag (MouseFlags.Button1DoubleClicked)) { // NOTE: Drivers ALWAYS generate a Button1Clicked event before Button1DoubleClicked // NOTE: So, we've already selected an item. diff --git a/Terminal.Gui/Views/ScrollBarView.cs b/Terminal.Gui/Views/ScrollBarView.cs index 5eb955fb2..f6e8da296 100644 --- a/Terminal.Gui/Views/ScrollBarView.cs +++ b/Terminal.Gui/Views/ScrollBarView.cs @@ -270,7 +270,7 @@ public class ScrollBarView : View public event EventHandler ChangedPosition; /// - protected override bool OnMouseEvent (MouseEvent mouseEvent) + protected override bool OnMouseEvent (MouseEventArgs mouseEvent) { if (mouseEvent.Flags != MouseFlags.Button1Pressed && mouseEvent.Flags != MouseFlags.Button1DoubleClicked @@ -779,14 +779,14 @@ public class ScrollBarView : View private void ContentBottomRightCorner_MouseClick (object sender, MouseEventArgs me) { - if (me.MouseEvent.Flags == MouseFlags.WheeledDown - || me.MouseEvent.Flags == MouseFlags.WheeledUp - || me.MouseEvent.Flags == MouseFlags.WheeledRight - || me.MouseEvent.Flags == MouseFlags.WheeledLeft) + if (me.Flags == MouseFlags.WheeledDown + || me.Flags == MouseFlags.WheeledUp + || me.Flags == MouseFlags.WheeledRight + || me.Flags == MouseFlags.WheeledLeft) { - NewMouseEvent (me.MouseEvent); + NewMouseEvent (me); } - else if (me.MouseEvent.Flags == MouseFlags.Button1Clicked) + else if (me.Flags == MouseFlags.Button1Clicked) { Host.SetFocus (); } diff --git a/Terminal.Gui/Views/ScrollView.cs b/Terminal.Gui/Views/ScrollView.cs index e419904b6..35d4409e5 100644 --- a/Terminal.Gui/Views/ScrollView.cs +++ b/Terminal.Gui/Views/ScrollView.cs @@ -406,7 +406,7 @@ public class ScrollView : View } /// - protected override bool OnMouseEvent (MouseEvent me) + protected override bool OnMouseEvent (MouseEventArgs me) { if (!Enabled) { diff --git a/Terminal.Gui/Views/Slider.cs b/Terminal.Gui/Views/Slider.cs index d68cffa17..af2ff1366 100644 --- a/Terminal.Gui/Views/Slider.cs +++ b/Terminal.Gui/Views/Slider.cs @@ -1282,7 +1282,7 @@ public class Slider : View, IOrientation private Point? _moveRenderPosition; /// - protected override bool OnMouseEvent (MouseEvent mouseEvent) + protected override bool OnMouseEvent (MouseEventArgs mouseEvent) { // Note(jmperricone): Maybe we click to focus the cursor, and on next click we set the option. // That will make OptionFocused Event more relevant. @@ -1382,7 +1382,7 @@ public class Slider : View, IOrientation mouseEvent.Handled = true; // BUGBUG: OnMouseClick is/should be internal. - return OnMouseClick (new (mouseEvent)); + return OnMouseClick (mouseEvent); } return false; diff --git a/Terminal.Gui/Views/TabMouseEventArgs.cs b/Terminal.Gui/Views/TabMouseEventArgs.cs index 6b91a3531..707f68211 100644 --- a/Terminal.Gui/Views/TabMouseEventArgs.cs +++ b/Terminal.Gui/Views/TabMouseEventArgs.cs @@ -6,17 +6,17 @@ public class TabMouseEventArgs : EventArgs /// Creates a new instance of the class. /// that the mouse was over when the event occurred. /// The mouse activity being reported - public TabMouseEventArgs (Tab tab, MouseEvent mouseEvent) + public TabMouseEventArgs (Tab tab, MouseEventArgs mouseEvent) { Tab = tab; MouseEvent = mouseEvent; } /// - /// Gets the actual mouse event. Use to cancel this event and perform custom + /// Gets the actual mouse event. Use to cancel this event and perform custom /// behavior (e.g. show a context menu). /// - public MouseEvent MouseEvent { get; } + public MouseEventArgs MouseEvent { get; } /// Gets the (if any) that the mouse was over when the occurred. /// This will be null if the click is after last tab or before first. diff --git a/Terminal.Gui/Views/TabView.cs b/Terminal.Gui/Views/TabView.cs index 8de57757a..62f403364 100644 --- a/Terminal.Gui/Views/TabView.cs +++ b/Terminal.Gui/Views/TabView.cs @@ -510,7 +510,7 @@ public class TabView : View private void Tab_MouseClick (object sender, MouseEventArgs e) { - e.Handled = _tabsBar.NewMouseEvent (e.MouseEvent) == true; + e.Handled = _tabsBar.NewMouseEvent (e) == true; } private void UnSetCurrentTabs () @@ -569,7 +569,7 @@ public class TabView : View Add (_rightScrollIndicator, _leftScrollIndicator); } - protected override bool OnMouseEvent (MouseEvent me) + protected override bool OnMouseEvent (MouseEventArgs me) { Tab hit = me.View is Tab ? (Tab)me.View : null; diff --git a/Terminal.Gui/Views/TableView/CheckBoxTableSourceWrapper.cs b/Terminal.Gui/Views/TableView/CheckBoxTableSourceWrapper.cs index d0f7fed26..abbb2c704 100644 --- a/Terminal.Gui/Views/TableView/CheckBoxTableSourceWrapper.cs +++ b/Terminal.Gui/Views/TableView/CheckBoxTableSourceWrapper.cs @@ -153,12 +153,12 @@ public abstract class CheckBoxTableSourceWrapperBase : ITableSource private void TableView_MouseClick (object sender, MouseEventArgs e) { // we only care about clicks (not movements) - if (!e.MouseEvent.Flags.HasFlag (MouseFlags.Button1Clicked)) + if (!e.Flags.HasFlag (MouseFlags.Button1Clicked)) { return; } - Point? hit = tableView.ScreenToCell (e.MouseEvent.Position.X, e.MouseEvent.Position.Y, out int? headerIfAny); + Point? hit = tableView.ScreenToCell (e.Position.X, e.Position.Y, out int? headerIfAny); if (headerIfAny.HasValue && headerIfAny.Value == 0) { diff --git a/Terminal.Gui/Views/TableView/TableView.cs b/Terminal.Gui/Views/TableView/TableView.cs index b2fc063dd..ee39726c9 100644 --- a/Terminal.Gui/Views/TableView/TableView.cs +++ b/Terminal.Gui/Views/TableView/TableView.cs @@ -801,7 +801,7 @@ public class TableView : View } /// - protected override bool OnMouseEvent (MouseEvent me) + protected override bool OnMouseEvent (MouseEventArgs me) { if (!me.Flags.HasFlag (MouseFlags.Button1Clicked) && !me.Flags.HasFlag (MouseFlags.Button1DoubleClicked) @@ -1646,7 +1646,7 @@ public class TableView : View return colStyle is { } ? colStyle.GetRepresentation (value) : value.ToString (); } - private bool HasControlOrAlt (MouseEvent me) { return me.Flags.HasFlag (MouseFlags.ButtonAlt) || me.Flags.HasFlag (MouseFlags.ButtonCtrl); } + private bool HasControlOrAlt (MouseEventArgs me) { return me.Flags.HasFlag (MouseFlags.ButtonAlt) || me.Flags.HasFlag (MouseFlags.ButtonCtrl); } /// /// Returns true if the given indexes a visible column otherwise false. Returns diff --git a/Terminal.Gui/Views/TableView/TreeTableSource.cs b/Terminal.Gui/Views/TableView/TreeTableSource.cs index 88ab0cb3a..c3458b32d 100644 --- a/Terminal.Gui/Views/TableView/TreeTableSource.cs +++ b/Terminal.Gui/Views/TableView/TreeTableSource.cs @@ -168,7 +168,7 @@ public class TreeTableSource : IEnumerableTableSource, IDisposable where T private void Table_MouseClick (object sender, MouseEventArgs e) { - Point? hit = _tableView.ScreenToCell (e.MouseEvent.Position.X, e.MouseEvent.Position.Y, out int? headerIfAny, out int? offsetX); + Point? hit = _tableView.ScreenToCell (e.Position.X, e.Position.Y, out int? headerIfAny, out int? offsetX); if (hit is null || headerIfAny is { } || !IsInTreeColumn (hit.Value.X, false) || offsetX is null) { diff --git a/Terminal.Gui/Views/TextField.cs b/Terminal.Gui/Views/TextField.cs index e49470f0a..b9f601493 100644 --- a/Terminal.Gui/Views/TextField.cs +++ b/Terminal.Gui/Views/TextField.cs @@ -798,7 +798,7 @@ public class TextField : View } /// - protected override bool OnMouseEvent (MouseEvent ev) + protected override bool OnMouseEvent (MouseEventArgs ev) { if (!ev.Flags.HasFlag (MouseFlags.Button1Pressed) && !ev.Flags.HasFlag (MouseFlags.ReportMousePosition) @@ -1645,7 +1645,7 @@ public class TextField : View return 0; //offB; } - private int PositionCursor (MouseEvent ev) { return PositionCursor (TextModel.GetColFromX (_text, ScrollOffset, ev.Position.X), false); } + private int PositionCursor (MouseEventArgs ev) { return PositionCursor (TextModel.GetColFromX (_text, ScrollOffset, ev.Position.X), false); } private int PositionCursor (int x, bool getX = true) { diff --git a/Terminal.Gui/Views/TextValidateField.cs b/Terminal.Gui/Views/TextValidateField.cs index d526513f6..289855c30 100644 --- a/Terminal.Gui/Views/TextValidateField.cs +++ b/Terminal.Gui/Views/TextValidateField.cs @@ -531,7 +531,7 @@ namespace Terminal.Gui } /// - protected override bool OnMouseEvent (MouseEvent mouseEvent) + protected override bool OnMouseEvent (MouseEventArgs mouseEvent) { if (mouseEvent.Flags.HasFlag (MouseFlags.Button1Pressed)) { diff --git a/Terminal.Gui/Views/TextView.cs b/Terminal.Gui/Views/TextView.cs index 8290caaf0..7400fe2c4 100644 --- a/Terminal.Gui/Views/TextView.cs +++ b/Terminal.Gui/Views/TextView.cs @@ -3274,7 +3274,7 @@ public class TextView : View } /// - protected override bool OnMouseEvent (MouseEvent ev) + protected override bool OnMouseEvent (MouseEventArgs ev) { if (!ev.Flags.HasFlag (MouseFlags.Button1Clicked) && !ev.Flags.HasFlag (MouseFlags.Button1Pressed) @@ -5875,7 +5875,7 @@ public class TextView : View KillWordForward (); } - private void ProcessMouseClick (MouseEvent ev, out List line) + private void ProcessMouseClick (MouseEventArgs ev, out List line) { List? r = null; diff --git a/Terminal.Gui/Views/TileView.cs b/Terminal.Gui/Views/TileView.cs index 8702243f9..6ad42ce98 100644 --- a/Terminal.Gui/Views/TileView.cs +++ b/Terminal.Gui/Views/TileView.cs @@ -910,7 +910,7 @@ public class TileView : View } } - protected override bool OnMouseEvent (MouseEvent mouseEvent) + protected override bool OnMouseEvent (MouseEventArgs mouseEvent) { if (!dragPosition.HasValue && mouseEvent.Flags == MouseFlags.Button1Pressed) { diff --git a/Terminal.Gui/Views/TimeField.cs b/Terminal.Gui/Views/TimeField.cs index d32ea9d22..e520e479c 100644 --- a/Terminal.Gui/Views/TimeField.cs +++ b/Terminal.Gui/Views/TimeField.cs @@ -163,7 +163,7 @@ public class TimeField : TextField } /// - protected override bool OnMouseEvent (MouseEvent ev) + protected override bool OnMouseEvent (MouseEventArgs ev) { if (SelectedLength == 0 && ev.Flags.HasFlag (MouseFlags.Button1Pressed)) { diff --git a/Terminal.Gui/Views/TreeView/TreeView.cs b/Terminal.Gui/Views/TreeView/TreeView.cs index b59b5ed6b..9b1bfce44 100644 --- a/Terminal.Gui/Views/TreeView/TreeView.cs +++ b/Terminal.Gui/Views/TreeView/TreeView.cs @@ -990,7 +990,7 @@ public class TreeView : View, ITreeView where T : class // BUGBUG: OnMouseEvent is internal. TreeView should not be overriding. /// - protected override bool OnMouseEvent (MouseEvent me) + protected override bool OnMouseEvent (MouseEventArgs me) { // If it is not an event we care about if (!me.Flags.HasFlag (MouseFlags.Button1Clicked) diff --git a/UICatalog/Scenarios/ASCIICustomButton.cs b/UICatalog/Scenarios/ASCIICustomButton.cs index c1a906a4d..45889f3e8 100644 --- a/UICatalog/Scenarios/ASCIICustomButton.cs +++ b/UICatalog/Scenarios/ASCIICustomButton.cs @@ -127,7 +127,7 @@ public class ASCIICustomButtonTest : Scenario } public event Action PointerEnter; - private void This_MouseClick (object sender, MouseEventArgs obj) { NewMouseEvent (obj.MouseEvent); } + private void This_MouseClick (object sender, MouseEventArgs obj) { NewMouseEvent (obj); } } public class ScrollViewTestWindow : Window @@ -312,7 +312,7 @@ public class ASCIICustomButtonTest : Scenario private void Button_MouseClick (object sender, MouseEventArgs obj) { - if (obj.MouseEvent.Flags == MouseFlags.WheeledDown) + if (obj.Flags == MouseFlags.WheeledDown) { _scrollView.ContentOffset = new Point ( _scrollView.ContentOffset.X, @@ -320,7 +320,7 @@ public class ASCIICustomButtonTest : Scenario ); obj.Handled = true; } - else if (obj.MouseEvent.Flags == MouseFlags.WheeledUp) + else if (obj.Flags == MouseFlags.WheeledUp) { _scrollView.ContentOffset = new Point ( _scrollView.ContentOffset.X, diff --git a/UICatalog/Scenarios/AdornmentsEditor.cs b/UICatalog/Scenarios/AdornmentsEditor.cs index 7bd6ec042..d50714c5f 100644 --- a/UICatalog/Scenarios/AdornmentsEditor.cs +++ b/UICatalog/Scenarios/AdornmentsEditor.cs @@ -108,7 +108,7 @@ public class AdornmentsEditor : View ViewToEdit = Application.Navigation!.GetFocused (); } - private void ApplicationOnMouseEvent (object? sender, MouseEvent e) + private void ApplicationOnMouseEvent (object? sender, MouseEventArgs e) { if (e.Flags != MouseFlags.Button1Clicked || !AutoSelectViewToEdit) { diff --git a/UICatalog/Scenarios/ArrangementEditor.cs b/UICatalog/Scenarios/ArrangementEditor.cs index 13a48380d..396c493d6 100644 --- a/UICatalog/Scenarios/ArrangementEditor.cs +++ b/UICatalog/Scenarios/ArrangementEditor.cs @@ -147,7 +147,7 @@ public sealed class ArrangementEditor : View } } - private void ApplicationOnMouseEvent (object? sender, MouseEvent e) + private void ApplicationOnMouseEvent (object? sender, MouseEventArgs e) { if (e.Flags != MouseFlags.Button1Clicked || !AutoSelectViewToEdit) { diff --git a/UICatalog/Scenarios/Bars.cs b/UICatalog/Scenarios/Bars.cs index 23b13cee5..b0d226148 100644 --- a/UICatalog/Scenarios/Bars.cs +++ b/UICatalog/Scenarios/Bars.cs @@ -189,10 +189,10 @@ public class Bars : Scenario void MenuLikeExamplesMouseClick (object sender, MouseEventArgs e) { - if (e.MouseEvent.Flags.HasFlag (MouseFlags.Button3Clicked)) + if (e.Flags.HasFlag (MouseFlags.Button3Clicked)) { - popOverMenu.X = e.MouseEvent.Position.X; - popOverMenu.Y = e.MouseEvent.Position.Y; + popOverMenu.X = e.Position.X; + popOverMenu.Y = e.Position.Y; popOverMenu.Visible = true; //popOverMenu.Enabled = popOverMenu.Visible; popOverMenu.SetFocus (); @@ -275,7 +275,7 @@ public class Bars : Scenario //private void ShowContextMenu (object s, MouseEventEventArgs e) //{ - // if (e.MouseEvent.Flags != MouseFlags.Button3Clicked) + // if (e.Flags != MouseFlags.Button3Clicked) // { // return; // } @@ -283,8 +283,8 @@ public class Bars : Scenario // var contextMenu = new Bar // { // Id = "contextMenu", - // X = e.MouseEvent.Position.X, - // Y = e.MouseEvent.Position.Y, + // X = e.Position.X, + // Y = e.Position.Y, // Width = Dim.Auto (DimAutoStyle.Content), // Height = Dim.Auto (DimAutoStyle.Content), // Orientation = Orientation.Vertical, @@ -387,7 +387,7 @@ public class Bars : Scenario // contextMenu.Initialized += Menu_Initialized; - // void Application_MouseEvent (object sender, MouseEvent e) + // void Application_MouseEvent (object sender, MouseEventArgs e) // { // // If user clicks outside of the menuWindow, close it // if (!contextMenu.Frame.Contains (e.Position.X, e.Position.Y)) diff --git a/UICatalog/Scenarios/CharacterMap.cs b/UICatalog/Scenarios/CharacterMap.cs index caebcb406..33c64d003 100644 --- a/UICatalog/Scenarios/CharacterMap.cs +++ b/UICatalog/Scenarios/CharacterMap.cs @@ -98,9 +98,9 @@ public class CharacterMap : Scenario // if user clicks the mouse in TableView _categoryList.MouseClick += (s, e) => { - _categoryList.ScreenToCell (e.MouseEvent.Position, out int? clickedCol); + _categoryList.ScreenToCell (e.Position, out int? clickedCol); - if (clickedCol != null && e.MouseEvent.Flags.HasFlag (MouseFlags.Button1Clicked)) + if (clickedCol != null && e.Flags.HasFlag (MouseFlags.Button1Clicked)) { EnumerableTableSource table = (EnumerableTableSource)_categoryList.Table; string prevSelection = table.Data.ElementAt (_categoryList.SelectedRow).Category; @@ -529,7 +529,7 @@ internal class CharMap : View private void Handle_MouseEvent (object sender, MouseEventArgs e) { - if (e.MouseEvent.Flags == MouseFlags.WheeledDown) + if (e.Flags == MouseFlags.WheeledDown) { ScrollVertical (1); e.Handled = true; @@ -537,7 +537,7 @@ internal class CharMap : View return; } - if (e.MouseEvent.Flags == MouseFlags.WheeledUp) + if (e.Flags == MouseFlags.WheeledUp) { ScrollVertical (-1); e.Handled = true; @@ -545,7 +545,7 @@ internal class CharMap : View return; } - if (e.MouseEvent.Flags == MouseFlags.WheeledRight) + if (e.Flags == MouseFlags.WheeledRight) { ScrollHorizontal (1); e.Handled = true; @@ -553,7 +553,7 @@ internal class CharMap : View return; } - if (e.MouseEvent.Flags == MouseFlags.WheeledLeft) + if (e.Flags == MouseFlags.WheeledLeft) { ScrollHorizontal (-1); e.Handled = true; @@ -839,10 +839,8 @@ internal class CharMap : View private void CopyCodePoint () { Clipboard.Contents = $"U+{SelectedCodePoint:x5}"; } private void CopyGlyph () { Clipboard.Contents = $"{new Rune (SelectedCodePoint)}"; } - private void Handle_MouseClick (object sender, MouseEventArgs args) + private void Handle_MouseClick (object sender, MouseEventArgs me) { - MouseEvent me = args.MouseEvent; - if (me.Flags != MouseFlags.ReportMousePosition && me.Flags != MouseFlags.Button1Clicked && me.Flags != MouseFlags.Button1DoubleClicked) { return; @@ -883,7 +881,7 @@ internal class CharMap : View SetFocus (); } - args.Handled = true; + me.Handled = true; if (me.Flags == MouseFlags.Button1Clicked) { diff --git a/UICatalog/Scenarios/ContentScrolling.cs b/UICatalog/Scenarios/ContentScrolling.cs index 8c97d3e2a..b6986067e 100644 --- a/UICatalog/Scenarios/ContentScrolling.cs +++ b/UICatalog/Scenarios/ContentScrolling.cs @@ -54,28 +54,28 @@ public class ContentScrolling : Scenario private void VirtualDemoView_MouseEvent (object sender, MouseEventArgs e) { - if (e.MouseEvent.Flags == MouseFlags.WheeledDown) + if (e.Flags == MouseFlags.WheeledDown) { ScrollVertical (1); return; } - if (e.MouseEvent.Flags == MouseFlags.WheeledUp) + if (e.Flags == MouseFlags.WheeledUp) { ScrollVertical (-1); return; } - if (e.MouseEvent.Flags == MouseFlags.WheeledRight) + if (e.Flags == MouseFlags.WheeledRight) { ScrollHorizontal (1); return; } - if (e.MouseEvent.Flags == MouseFlags.WheeledLeft) + if (e.Flags == MouseFlags.WheeledLeft) { ScrollHorizontal (-1); } diff --git a/UICatalog/Scenarios/ContextMenus.cs b/UICatalog/Scenarios/ContextMenus.cs index 816f80384..63a207d69 100644 --- a/UICatalog/Scenarios/ContextMenus.cs +++ b/UICatalog/Scenarios/ContextMenus.cs @@ -75,16 +75,16 @@ public class ContextMenus : Scenario appWindow.MouseClick += (s, e) => { - if (e.MouseEvent.Flags == _contextMenu.MouseFlags) + if (e.Flags == _contextMenu.MouseFlags) { - ShowContextMenu (e.MouseEvent.Position.X, e.MouseEvent.Position.Y); + ShowContextMenu (e.Position.X, e.Position.Y); e.Handled = true; } }; Application.MouseEvent += ApplicationMouseEvent; - void ApplicationMouseEvent (object sender, MouseEvent a) { mousePos = a.Position; } + void ApplicationMouseEvent (object sender, MouseEventArgs a) { mousePos = a.Position; } appWindow.WantMousePositionReports = true; diff --git a/UICatalog/Scenarios/LineDrawing.cs b/UICatalog/Scenarios/LineDrawing.cs index b173dd7bc..38ea3bbfb 100644 --- a/UICatalog/Scenarios/LineDrawing.cs +++ b/UICatalog/Scenarios/LineDrawing.cs @@ -8,7 +8,7 @@ namespace UICatalog.Scenarios; public interface ITool { - void OnMouseEvent (DrawingArea area, MouseEvent mouseEvent); + void OnMouseEvent (DrawingArea area, MouseEventArgs mouseEvent); } internal class DrawLineTool : ITool @@ -17,7 +17,7 @@ internal class DrawLineTool : ITool public LineStyle LineStyle { get; set; } = LineStyle.Single; /// - public void OnMouseEvent (DrawingArea area, MouseEvent mouseEvent) + public void OnMouseEvent (DrawingArea area, MouseEventArgs mouseEvent) { if (mouseEvent.Flags.HasFlag (MouseFlags.Button1Pressed)) { @@ -323,7 +323,7 @@ public class DrawingArea : View return false; } - protected override bool OnMouseEvent (MouseEvent mouseEvent) + protected override bool OnMouseEvent (MouseEventArgs mouseEvent) { CurrentTool.OnMouseEvent (this, mouseEvent); @@ -431,7 +431,7 @@ public class AttributeView : View } /// - protected override bool OnMouseEvent (MouseEvent mouseEvent) + protected override bool OnMouseEvent (MouseEventArgs mouseEvent) { if (mouseEvent.Flags.HasFlag (MouseFlags.Button1Clicked)) { diff --git a/UICatalog/Scenarios/ListColumns.cs b/UICatalog/Scenarios/ListColumns.cs index 6bd6dd4be..05859bfbc 100644 --- a/UICatalog/Scenarios/ListColumns.cs +++ b/UICatalog/Scenarios/ListColumns.cs @@ -248,7 +248,7 @@ public class ListColumns : Scenario }; // if user clicks the mouse in TableView - _listColView.MouseClick += (s, e) => { _listColView.ScreenToCell (e.MouseEvent.Position, out int? clickedCol); }; + _listColView.MouseClick += (s, e) => { _listColView.ScreenToCell (e.Position, out int? clickedCol); }; _listColView.KeyBindings.ReplaceCommands (Key.Space, Command.Accept); diff --git a/UICatalog/Scenarios/Mouse.cs b/UICatalog/Scenarios/Mouse.cs index 0b07c48e3..dd1a08789 100644 --- a/UICatalog/Scenarios/Mouse.cs +++ b/UICatalog/Scenarios/Mouse.cs @@ -251,18 +251,18 @@ public class Mouse : Scenario win.MouseEvent += (sender, a) => { - int i = filterSlider.Options.FindIndex (o => o.Data == a.MouseEvent.Flags); + int i = filterSlider.Options.FindIndex (o => o.Data == a.Flags); if (filterSlider.GetSetOptions ().Contains (i)) { - winLogList.Add ($"MouseEvent: ({a.MouseEvent.Position}) - {a.MouseEvent.Flags} {count++}"); + winLogList.Add ($"MouseEvent: ({a.Position}) - {a.Flags} {count++}"); winLog.MoveDown (); } }; win.MouseClick += (sender, a) => { - winLogList.Add ($"MouseClick: ({a.MouseEvent.Position}) - {a.MouseEvent.Flags} {count++}"); + winLogList.Add ($"MouseClick: ({a.Position}) - {a.Flags} {count++}"); winLog.MoveDown (); }; diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index eaeab748e..c676eac23 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -752,16 +752,16 @@ public class TableEditor : Scenario return; } - _tableView.ScreenToCell (e.MouseEvent.Position, out int? clickedCol); + _tableView.ScreenToCell (e.Position, out int? clickedCol); if (clickedCol != null) { - if (e.MouseEvent.Flags.HasFlag (MouseFlags.Button1Clicked)) + if (e.Flags.HasFlag (MouseFlags.Button1Clicked)) { // left click in a header SortColumn (clickedCol.Value); } - else if (e.MouseEvent.Flags.HasFlag (MouseFlags.Button3Clicked)) + else if (e.Flags.HasFlag (MouseFlags.Button3Clicked)) { // right click in a header ShowHeaderContextMenu (clickedCol.Value, e); @@ -1266,7 +1266,7 @@ public class TableEditor : Scenario var contextMenu = new ContextMenu { - Position = new (e.MouseEvent.Position.X + 1, e.MouseEvent.Position.Y + 1) + Position = new (e.Position.X + 1, e.Position.Y + 1) }; MenuBarItem menuItems = new ( diff --git a/UICatalog/Scenarios/TreeViewFileSystem.cs b/UICatalog/Scenarios/TreeViewFileSystem.cs index ae288a5df..6c46a7996 100644 --- a/UICatalog/Scenarios/TreeViewFileSystem.cs +++ b/UICatalog/Scenarios/TreeViewFileSystem.cs @@ -487,9 +487,9 @@ public class TreeViewFileSystem : Scenario private void TreeViewFiles_MouseClick (object sender, MouseEventArgs obj) { // if user right clicks - if (obj.MouseEvent.Flags.HasFlag (MouseFlags.Button3Clicked)) + if (obj.Flags.HasFlag (MouseFlags.Button3Clicked)) { - IFileSystemInfo rightClicked = _treeViewFiles.GetObjectOnRow (obj.MouseEvent.Position.Y); + IFileSystemInfo rightClicked = _treeViewFiles.GetObjectOnRow (obj.Position.Y); // nothing was clicked if (rightClicked == null) @@ -499,8 +499,8 @@ public class TreeViewFileSystem : Scenario ShowContextMenu ( new Point ( - obj.MouseEvent.Position.X + _treeViewFiles.Frame.X, - obj.MouseEvent.Position.Y + _treeViewFiles.Frame.Y + 2 + obj.Position.X + _treeViewFiles.Frame.X, + obj.Position.Y + _treeViewFiles.Frame.Y + 2 ), rightClicked ); diff --git a/UnitTests/Application/Mouse/ApplicationMouseEnterLeaveTests.cs b/UnitTests/Application/Mouse/ApplicationMouseEnterLeaveTests.cs index f1d0a7847..60eb8b25e 100644 --- a/UnitTests/Application/Mouse/ApplicationMouseEnterLeaveTests.cs +++ b/UnitTests/Application/Mouse/ApplicationMouseEnterLeaveTests.cs @@ -47,7 +47,7 @@ public class ApplicationMouseEnterLeaveTests var mousePosition = new Point (1, 1); List currentViewsUnderMouse = new () { view }; - var mouseEvent = new MouseEvent + var mouseEvent = new MouseEventArgs { Position = mousePosition, ScreenPosition = mousePosition @@ -80,7 +80,7 @@ public class ApplicationMouseEnterLeaveTests Application.Top.Add (view); var mousePosition = new Point (0, 0); List currentViewsUnderMouse = new (); - var mouseEvent = new MouseEvent (); + var mouseEvent = new MouseEventArgs (); Application._cachedViewsUnderMouse.Clear (); Application._cachedViewsUnderMouse.Add (view); @@ -203,7 +203,7 @@ public class ApplicationMouseEnterLeaveTests Application.Top.Add (view); var mousePosition = new Point (0, 0); List currentViewsUnderMouse = new (); - var mouseEvent = new MouseEvent (); + var mouseEvent = new MouseEventArgs (); Application._cachedViewsUnderMouse.Clear (); diff --git a/UnitTests/Application/Mouse/ApplicationMouseTests.cs b/UnitTests/Application/Mouse/ApplicationMouseTests.cs index 963807695..64000649d 100644 --- a/UnitTests/Application/Mouse/ApplicationMouseTests.cs +++ b/UnitTests/Application/Mouse/ApplicationMouseTests.cs @@ -42,10 +42,10 @@ public class ApplicationMouseTests bool expectedClicked ) { - var mouseEvent = new MouseEvent { ScreenPosition = new (clickX, clickY), Flags = MouseFlags.Button1Pressed }; + var mouseEvent = new MouseEventArgs { ScreenPosition = new (clickX, clickY), Flags = MouseFlags.Button1Pressed }; var clicked = false; - void OnApplicationOnMouseEvent (object s, MouseEvent e) + void OnApplicationOnMouseEvent (object s, MouseEventArgs e) { Assert.Equal (expectedX, e.ScreenPosition.X); Assert.Equal (expectedY, e.ScreenPosition.Y); @@ -116,12 +116,12 @@ public class ApplicationMouseTests Height = size.Height }; - var mouseEvent = new MouseEvent { ScreenPosition = new (clickX, clickY), Flags = MouseFlags.Button1Clicked }; + var mouseEvent = new MouseEventArgs { ScreenPosition = new (clickX, clickY), Flags = MouseFlags.Button1Clicked }; view.MouseClick += (s, e) => { - Assert.Equal (expectedX, e.MouseEvent.Position.X); - Assert.Equal (expectedY, e.MouseEvent.Position.Y); + Assert.Equal (expectedX, e.Position.X); + Assert.Equal (expectedY, e.Position.Y); clicked = true; }; @@ -218,12 +218,12 @@ public class ApplicationMouseTests Application.Top.Add (view); - var mouseEvent = new MouseEvent { Position = new (clickX, clickY), ScreenPosition = new (clickX, clickY), Flags = MouseFlags.Button1Clicked }; + var mouseEvent = new MouseEventArgs { Position = new (clickX, clickY), ScreenPosition = new (clickX, clickY), Flags = MouseFlags.Button1Clicked }; view.MouseClick += (s, e) => { - Assert.Equal (expectedX, e.MouseEvent.Position.X); - Assert.Equal (expectedY, e.MouseEvent.Position.Y); + Assert.Equal (expectedX, e.Position.X); + Assert.Equal (expectedY, e.Position.Y); clicked = true; }; diff --git a/UnitTests/Input/ResponderTests.cs b/UnitTests/Input/ResponderTests.cs index cac5c549e..183e06885 100644 --- a/UnitTests/Input/ResponderTests.cs +++ b/UnitTests/Input/ResponderTests.cs @@ -234,7 +234,7 @@ public class ResponderTests //Assert.False (r.OnKeyDown (new KeyEventArgs () { Key = Key.Unknown })); Assert.False (r.NewKeyDownEvent (new Key { KeyCode = KeyCode.Null })); Assert.False (r.NewKeyDownEvent (new Key { KeyCode = KeyCode.Null })); - Assert.False (r.NewMouseEvent (new MouseEvent { Flags = MouseFlags.AllEvents })); + Assert.False (r.NewMouseEvent (new MouseEventArgs { Flags = MouseFlags.AllEvents })); var v = new View (); //Assert.False (r.OnEnter (v)); diff --git a/UnitTests/View/Mouse/MouseEnterLeaveTests.cs b/UnitTests/View/Mouse/MouseEnterLeaveTests.cs index 28c002eba..e91154c5d 100644 --- a/UnitTests/View/Mouse/MouseEnterLeaveTests.cs +++ b/UnitTests/View/Mouse/MouseEnterLeaveTests.cs @@ -63,7 +63,7 @@ public class MouseEnterLeaveTests Visible = true }; - var mouseEvent = new MouseEvent (); + var mouseEvent = new MouseEventArgs (); var eventArgs = new CancelEventArgs (); @@ -136,7 +136,7 @@ public class MouseEnterLeaveTests Enabled = true, Visible = true }; - var mouseEvent = new MouseEvent (); + var mouseEvent = new MouseEventArgs (); // Act view.NewMouseLeaveEvent (); @@ -159,7 +159,7 @@ public class MouseEnterLeaveTests Visible = false }; - var mouseEvent = new MouseEvent (); + var mouseEvent = new MouseEventArgs (); // Act view.NewMouseLeaveEvent (); @@ -256,7 +256,7 @@ public class MouseEnterLeaveTests Visible = true }; - var mouseEvent = new MouseEvent (); + var mouseEvent = new MouseEventArgs (); // Act view.NewMouseLeaveEvent (); @@ -279,7 +279,7 @@ public class MouseEnterLeaveTests Visible = false }; - var mouseEvent = new MouseEvent (); + var mouseEvent = new MouseEventArgs (); // Act view.NewMouseLeaveEvent (); diff --git a/UnitTests/View/Mouse/MouseTests.cs b/UnitTests/View/Mouse/MouseTests.cs index 87f3e71b5..770536e8b 100644 --- a/UnitTests/View/Mouse/MouseTests.cs +++ b/UnitTests/View/Mouse/MouseTests.cs @@ -121,9 +121,9 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews { MouseFlags mouseFlagsFromEvent = MouseFlags.None; var view = new View (); - view.MouseEvent += (s, e) => mouseFlagsFromEvent = e.MouseEvent.Flags; + view.MouseEvent += (s, e) => mouseFlagsFromEvent = e.Flags; - view.NewMouseEvent (new MouseEvent () { Flags = mouseFlags }); + view.NewMouseEvent (new MouseEventArgs () { Flags = mouseFlags }); Assert.Equal (mouseFlagsFromEvent, expectedMouseFlagsFromEvent); } @@ -142,7 +142,7 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews e.Handled = true; }; - MouseEvent me = new (); + MouseEventArgs me = new (); view.NewMouseEvent (me); Assert.True (mouseEventInvoked); Assert.True (me.Handled); @@ -163,7 +163,7 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews } view.Enabled = false; - var me = new MouseEvent (); + var me = new MouseEventArgs (); view.NewMouseEvent (me); Assert.False (me.Handled); view.Dispose (); @@ -182,7 +182,7 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews } view.Enabled = false; - var me = new MouseEvent () + var me = new MouseEventArgs () { Flags = MouseFlags.Button1Clicked }; @@ -198,7 +198,7 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews [InlineData (MouseFlags.Button4Pressed, MouseFlags.Button4Released, MouseFlags.Button4Clicked)] public void WantContinuousButtonPressed_False_Button_Press_Release_DoesNotClick (MouseFlags pressed, MouseFlags released, MouseFlags clicked) { - var me = new MouseEvent (); + var me = new MouseEventArgs (); var view = new View () { @@ -241,7 +241,7 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews [InlineData (MouseFlags.Button4Clicked)] public void WantContinuousButtonPressed_True_Button_Clicked_Raises_MouseClick (MouseFlags clicked) { - var me = new MouseEvent (); + var me = new MouseEventArgs (); var view = new View () { @@ -269,7 +269,7 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews [InlineData (MouseFlags.Button4Clicked)] public void WantContinuousButtonPressed_True_Button_Clicked_Raises_Selecting (MouseFlags clicked) { - var me = new MouseEvent (); + var me = new MouseEventArgs (); var view = new View () { @@ -296,7 +296,7 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews [InlineData (MouseFlags.Button4Pressed, MouseFlags.Button4Released)] public void WantContinuousButtonPressed_True_And_WantMousePositionReports_True_Button_Press_Release_Clicks (MouseFlags pressed, MouseFlags released) { - var me = new MouseEvent (); + var me = new MouseEventArgs (); var view = new View () { @@ -328,7 +328,7 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews [InlineData (MouseFlags.Button4Pressed, MouseFlags.Button4Released, MouseFlags.Button4Clicked)] public void WantContinuousButtonPressed_True_And_WantMousePositionReports_True_Button_Press_Release_Clicks_Repeatedly (MouseFlags pressed, MouseFlags released, MouseFlags clicked) { - var me = new MouseEvent (); + var me = new MouseEventArgs (); var view = new View () { @@ -368,7 +368,7 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews [Fact] public void WantContinuousButtonPressed_True_And_WantMousePositionReports_True_Move_InViewport_OutOfViewport_Keeps_Counting () { - var me = new MouseEvent (); + var me = new MouseEventArgs (); var view = new View () { diff --git a/UnitTests/Views/ButtonTests.cs b/UnitTests/Views/ButtonTests.cs index e4b4f7efd..1029acfd6 100644 --- a/UnitTests/Views/ButtonTests.cs +++ b/UnitTests/Views/ButtonTests.cs @@ -599,7 +599,7 @@ public class ButtonTests (ITestOutputHelper output) [InlineData (MouseFlags.Button4Pressed, MouseFlags.Button4Released, MouseFlags.Button4Clicked)] public void WantContinuousButtonPressed_True_ButtonClick_Accepts (MouseFlags pressed, MouseFlags released, MouseFlags clicked) { - var me = new MouseEvent (); + var me = new MouseEventArgs (); var button = new Button () { @@ -618,19 +618,19 @@ public class ButtonTests (ITestOutputHelper output) e.Cancel = true; }; - me = new MouseEvent (); + me = new MouseEventArgs (); me.Flags = pressed; button.NewMouseEvent (me); Assert.Equal (0, selectingCount); Assert.Equal (0, acceptedCount); - me = new MouseEvent (); + me = new MouseEventArgs (); me.Flags = released; button.NewMouseEvent (me); Assert.Equal (0, selectingCount); Assert.Equal (0, acceptedCount); - me = new MouseEvent (); + me = new MouseEventArgs (); me.Flags = clicked; button.NewMouseEvent (me); Assert.Equal (1, selectingCount); @@ -646,7 +646,7 @@ public class ButtonTests (ITestOutputHelper output) [InlineData (MouseFlags.Button4Pressed, MouseFlags.Button4Released)] public void WantContinuousButtonPressed_True_ButtonPressRelease_Does_Not_Raise_Selected_Or_Accepted (MouseFlags pressed, MouseFlags released) { - var me = new MouseEvent (); + var me = new MouseEventArgs (); var button = new Button () { diff --git a/UnitTests/Views/ComboBoxTests.cs b/UnitTests/Views/ComboBoxTests.cs index 99a0576a0..afc435ca4 100644 --- a/UnitTests/Views/ComboBoxTests.cs +++ b/UnitTests/Views/ComboBoxTests.cs @@ -137,7 +137,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.Equal (-1, cb.SelectedItem); Assert.Equal ("", cb.Text); - Assert.True (cb.NewMouseEvent (new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed })); + Assert.True (cb.NewMouseEvent (new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed })); Assert.Equal ("", selected); Assert.True (cb.IsShow); Assert.Equal (0, cb.SelectedItem); @@ -193,7 +193,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -231,7 +231,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -289,7 +289,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -300,7 +300,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (0, 1), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (0, 1), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -311,7 +311,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (0, 1), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (0, 1), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -324,7 +324,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (0, 2), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (0, 2), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("Three", selected); @@ -334,14 +334,14 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (0, 2), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (0, 2), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("Three", selected); @@ -351,7 +351,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("Three", selected); @@ -362,7 +362,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (0, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("One", selected); @@ -391,14 +391,14 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -409,7 +409,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (-1, 0), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (-1, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -422,7 +422,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -433,7 +433,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (0, -1), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (0, -1), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -446,7 +446,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -457,7 +457,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (cb.Frame.Width, 0), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (cb.Frame.Width, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -470,7 +470,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -481,7 +481,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { Position = new (0, cb.Frame.Height), Flags = MouseFlags.Button1Clicked } + new MouseEventArgs { Position = new (0, cb.Frame.Height), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -515,7 +515,7 @@ public class ComboBoxTests (ITestOutputHelper output) Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -673,7 +673,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -685,7 +685,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -695,7 +695,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -707,7 +707,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -736,7 +736,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -794,7 +794,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } + new MouseEventArgs { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); diff --git a/UnitTests/Views/ContextMenuTests.cs b/UnitTests/Views/ContextMenuTests.cs index 098ee3aac..1bd08ed72 100644 --- a/UnitTests/Views/ContextMenuTests.cs +++ b/UnitTests/Views/ContextMenuTests.cs @@ -115,11 +115,11 @@ public class ContextMenuTests (ITestOutputHelper output) Assert.True (ContextMenu.IsShow); Assert.Equal (cm.MenuBar, Application.MouseGrabView); Assert.False (menu.IsMenuOpen); - Assert.False (menu.NewMouseEvent (new MouseEvent { Position = new (1, 0), Flags = MouseFlags.ReportMousePosition, View = menu })); + Assert.False (menu.NewMouseEvent (new MouseEventArgs { Position = new (1, 0), Flags = MouseFlags.ReportMousePosition, View = menu })); Assert.True (ContextMenu.IsShow); Assert.Equal (cm.MenuBar, Application.MouseGrabView); Assert.False (menu.IsMenuOpen); - Assert.True (menu.NewMouseEvent (new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1Clicked, View = menu })); + Assert.True (menu.NewMouseEvent (new MouseEventArgs { Position = new (1, 0), Flags = MouseFlags.Button1Clicked, View = menu })); Assert.False (ContextMenu.IsShow); Assert.Equal (menu, Application.MouseGrabView); Assert.True (menu.IsMenuOpen); @@ -148,7 +148,7 @@ public class ContextMenuTests (ITestOutputHelper output) output ); - Application.RaiseMouseEvent (new MouseEvent { ScreenPosition = new (8, 2), Flags = MouseFlags.Button3Clicked }); + Application.RaiseMouseEvent (new MouseEventArgs { ScreenPosition = new (8, 2), Flags = MouseFlags.Button3Clicked }); var firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -231,7 +231,7 @@ public class ContextMenuTests (ITestOutputHelper output) output ); - Application.RaiseMouseEvent (new MouseEvent { ScreenPosition = new (9, 3), Flags = MouseFlags.Button3Clicked }); + Application.RaiseMouseEvent (new MouseEventArgs { ScreenPosition = new (9, 3), Flags = MouseFlags.Button3Clicked }); var firstIteration = false; Application.RunIteration (ref rsDialog, ref firstIteration); @@ -287,7 +287,7 @@ public class ContextMenuTests (ITestOutputHelper output) output ); - Application.RaiseMouseEvent (new MouseEvent { ScreenPosition = new (9, 3), Flags = MouseFlags.Button3Clicked }); + Application.RaiseMouseEvent (new MouseEventArgs { ScreenPosition = new (9, 3), Flags = MouseFlags.Button3Clicked }); var firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -532,7 +532,7 @@ public class ContextMenuTests (ITestOutputHelper output) Assert.True ( top.Subviews [0] .NewMouseEvent ( - new MouseEvent { Position = new (0, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } + new MouseEventArgs { Position = new (0, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } ) ); Application.Refresh (); @@ -580,7 +580,7 @@ public class ContextMenuTests (ITestOutputHelper output) Assert.True ( top.Subviews [0] .NewMouseEvent ( - new MouseEvent { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } + new MouseEventArgs { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } ) ); Application.Refresh (); @@ -627,7 +627,7 @@ public class ContextMenuTests (ITestOutputHelper output) Assert.True ( top.Subviews [0] .NewMouseEvent ( - new MouseEvent { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } + new MouseEventArgs { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } ) ); Application.Refresh (); @@ -671,7 +671,7 @@ public class ContextMenuTests (ITestOutputHelper output) Assert.True ( top.Subviews [0] .NewMouseEvent ( - new MouseEvent { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } + new MouseEventArgs { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } ) ); Application.Refresh (); @@ -715,7 +715,7 @@ public class ContextMenuTests (ITestOutputHelper output) Assert.True ( top.Subviews [0] .NewMouseEvent ( - new MouseEvent { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } + new MouseEventArgs { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } ) ); Application.Refresh (); @@ -747,7 +747,7 @@ public class ContextMenuTests (ITestOutputHelper output) lbl.MouseClick += (s, e) => { - if (e.MouseEvent.Flags == cm.MouseFlags) + if (e.Flags == cm.MouseFlags) { lbl.Text = "Replaced"; e.Handled = true; @@ -758,12 +758,12 @@ public class ContextMenuTests (ITestOutputHelper output) top.Add (lbl); Application.Begin (top); - Assert.True (lbl.NewMouseEvent (new MouseEvent { Flags = cm.MouseFlags })); + Assert.True (lbl.NewMouseEvent (new MouseEventArgs { Flags = cm.MouseFlags })); Assert.Equal ("Replaced", lbl.Text); lbl.Text = "Original"; cm.MouseFlags = MouseFlags.Button2Clicked; - Assert.True (lbl.NewMouseEvent (new MouseEvent { Flags = cm.MouseFlags })); + Assert.True (lbl.NewMouseEvent (new MouseEventArgs { Flags = cm.MouseFlags })); Assert.Equal ("Replaced", lbl.Text); top.Dispose (); } @@ -1235,7 +1235,7 @@ public class ContextMenuTests (ITestOutputHelper output) ); // X=5 is the border and so need to use at least one more - Application.RaiseMouseEvent (new MouseEvent { ScreenPosition = new (6, 13), Flags = MouseFlags.Button1Clicked }); + Application.RaiseMouseEvent (new MouseEventArgs { ScreenPosition = new (6, 13), Flags = MouseFlags.Button1Clicked }); var firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -1253,7 +1253,7 @@ public class ContextMenuTests (ITestOutputHelper output) output ); - Application.RaiseMouseEvent (new MouseEvent { ScreenPosition = new (6, 12), Flags = MouseFlags.Button1Clicked }); + Application.RaiseMouseEvent (new MouseEventArgs { ScreenPosition = new (6, 12), Flags = MouseFlags.Button1Clicked }); firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -1327,7 +1327,7 @@ public class ContextMenuTests (ITestOutputHelper output) output ); - Application.RaiseMouseEvent (new MouseEvent { ScreenPosition = new (6, 13), Flags = MouseFlags.ReportMousePosition }); + Application.RaiseMouseEvent (new MouseEventArgs { ScreenPosition = new (6, 13), Flags = MouseFlags.ReportMousePosition }); var firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -1344,7 +1344,7 @@ public class ContextMenuTests (ITestOutputHelper output) output ); - Application.RaiseMouseEvent (new MouseEvent { ScreenPosition = new (6, 14), Flags = MouseFlags.ReportMousePosition }); + Application.RaiseMouseEvent (new MouseEventArgs { ScreenPosition = new (6, 14), Flags = MouseFlags.ReportMousePosition }); firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -1362,7 +1362,7 @@ public class ContextMenuTests (ITestOutputHelper output) output ); - Application.RaiseMouseEvent (new MouseEvent { ScreenPosition = new (6, 13), Flags = MouseFlags.ReportMousePosition }); + Application.RaiseMouseEvent (new MouseEventArgs { ScreenPosition = new (6, 13), Flags = MouseFlags.ReportMousePosition }); firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); diff --git a/UnitTests/Views/ScrollBarViewTests.cs b/UnitTests/Views/ScrollBarViewTests.cs index 01b9e7a49..51ce8d965 100644 --- a/UnitTests/Views/ScrollBarViewTests.cs +++ b/UnitTests/Views/ScrollBarViewTests.cs @@ -1176,7 +1176,7 @@ This is a test ", _output ); - Application.RaiseMouseEvent (new MouseEvent { Position = new (15, 0), Flags = MouseFlags.Button1Clicked }); + Application.RaiseMouseEvent (new MouseEventArgs { Position = new (15, 0), Flags = MouseFlags.Button1Clicked }); Assert.Null (Application.MouseGrabView); Assert.True (clicked); @@ -1200,7 +1200,7 @@ This is a test ", _output ); - Application.RaiseMouseEvent (new MouseEvent { Position = new (15, 0), Flags = MouseFlags.Button1Clicked }); + Application.RaiseMouseEvent (new MouseEventArgs { Position = new (15, 0), Flags = MouseFlags.Button1Clicked }); Assert.Null (Application.MouseGrabView); Assert.True (clicked); diff --git a/UnitTests/Views/TabViewTests.cs b/UnitTests/Views/TabViewTests.cs index 9d769addc..037f106e4 100644 --- a/UnitTests/Views/TabViewTests.cs +++ b/UnitTests/Views/TabViewTests.cs @@ -138,7 +138,7 @@ public class TabViewTests (ITestOutputHelper output) top.Add (tv); Application.Begin (top); - MouseEvent args; + MouseEventArgs args; // Waving mouse around does not trigger click for (var i = 0; i < 100; i++) @@ -233,7 +233,7 @@ public class TabViewTests (ITestOutputHelper output) Application.Begin (top); // Click the right arrow - var args = new MouseEvent { ScreenPosition = new (6, 2), Flags = MouseFlags.Button1Clicked }; + var args = new MouseEventArgs { ScreenPosition = new (6, 2), Flags = MouseFlags.Button1Clicked }; Application.RaiseMouseEvent (args); Application.Refresh (); Assert.Null (clicked); @@ -324,7 +324,7 @@ public class TabViewTests (ITestOutputHelper output) Application.Begin (top); // Click the right arrow - var args = new MouseEvent { ScreenPosition = new (7, 3), Flags = MouseFlags.Button1Clicked }; + var args = new MouseEventArgs { ScreenPosition = new (7, 3), Flags = MouseFlags.Button1Clicked }; Application.RaiseMouseEvent (args); Application.Refresh (); Assert.Null (clicked); diff --git a/UnitTests/Views/TextFieldTests.cs b/UnitTests/Views/TextFieldTests.cs index 40b3b8378..478e1d00b 100644 --- a/UnitTests/Views/TextFieldTests.cs +++ b/UnitTests/Views/TextFieldTests.cs @@ -1178,7 +1178,7 @@ public class TextFieldTests (ITestOutputHelper output) top.Add (tf); Application.Begin (top); - var mouseEvent = new MouseEvent { Flags = MouseFlags.Button1Clicked, View = tf }; + var mouseEvent = new MouseEventArgs { Flags = MouseFlags.Button1Clicked, View = tf }; Application.RaiseMouseEvent (mouseEvent); Assert.Equal (1, clickCounter); @@ -1205,7 +1205,7 @@ public class TextFieldTests (ITestOutputHelper output) return; - void HandleRightClick (object sender, MouseEvent arg) + void HandleRightClick (object sender, MouseEventArgs arg) { if (arg.Flags.HasFlag (MouseFlags.Button3Clicked)) { @@ -1293,7 +1293,7 @@ public class TextFieldTests (ITestOutputHelper output) { var tf = new TextField { Width = 10, Text = " " }; - var ev = new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1DoubleClicked }; + var ev = new MouseEventArgs { Position = new (0, 0), Flags = MouseFlags.Button1DoubleClicked }; tf.NewMouseEvent (ev); Assert.Equal (1, tf.SelectedLength); diff --git a/UnitTests/Views/TextValidateFieldTests.cs b/UnitTests/Views/TextValidateFieldTests.cs index 96a0d6d17..35258bb42 100644 --- a/UnitTests/Views/TextValidateFieldTests.cs +++ b/UnitTests/Views/TextValidateFieldTests.cs @@ -322,7 +322,7 @@ public class TextValidateField_NET_Provider_Tests Assert.False (field.IsValid); Assert.Equal ("--(1 )--", field.Provider.Text); - field.NewMouseEvent (new MouseEvent { Position = new (25, 0), Flags = MouseFlags.Button1Pressed }); + field.NewMouseEvent (new MouseEventArgs { Position = new (25, 0), Flags = MouseFlags.Button1Pressed }); field.NewKeyDownEvent (Key.D1); diff --git a/UnitTests/Views/TextViewTests.cs b/UnitTests/Views/TextViewTests.cs index a912064f6..7dc1f9858 100644 --- a/UnitTests/Views/TextViewTests.cs +++ b/UnitTests/Views/TextViewTests.cs @@ -130,7 +130,7 @@ public class TextViewTests Assert.False (fv.CanFocus); Assert.False (fv.HasFocus); - tv.NewMouseEvent (new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }); + tv.NewMouseEvent (new MouseEventArgs { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }); Assert.Empty (tv.SelectedText); Assert.False (tv.CanFocus); @@ -140,7 +140,7 @@ public class TextViewTests fv.CanFocus = true; tv.CanFocus = true; - tv.NewMouseEvent (new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }); + tv.NewMouseEvent (new MouseEventArgs { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }); Assert.Equal ("some ", tv.SelectedText); Assert.True (tv.CanFocus); @@ -149,7 +149,7 @@ public class TextViewTests Assert.True (fv.HasFocus); fv.CanFocus = false; - tv.NewMouseEvent (new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }); + tv.NewMouseEvent (new MouseEventArgs { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }); Assert.Equal ("some ", tv.SelectedText); // Setting CanFocus to false don't change the SelectedText Assert.True (tv.CanFocus); // v2: CanFocus is not longer automatically changed @@ -1025,7 +1025,7 @@ This is the second line. for (var i = 0; i < 12; i++) { - tv.NewMouseEvent (new MouseEvent { Flags = MouseFlags.WheeledRight }); + tv.NewMouseEvent (new MouseEventArgs { Flags = MouseFlags.WheeledRight }); Assert.Equal (Math.Min (i + 1, 11), tv.LeftColumn); Application.PositionCursor (); Application.Driver!.GetCursorVisibility (out CursorVisibility cursorVisibility); @@ -1034,7 +1034,7 @@ This is the second line. for (var i = 11; i > 0; i--) { - tv.NewMouseEvent (new MouseEvent { Flags = MouseFlags.WheeledLeft }); + tv.NewMouseEvent (new MouseEventArgs { Flags = MouseFlags.WheeledLeft }); Assert.Equal (i - 1, tv.LeftColumn); Application.PositionCursor (); @@ -1077,7 +1077,7 @@ This is the second line. for (var i = 0; i < 12; i++) { - tv.NewMouseEvent (new MouseEvent { Flags = MouseFlags.WheeledDown }); + tv.NewMouseEvent (new MouseEventArgs { Flags = MouseFlags.WheeledDown }); Application.PositionCursor (); Assert.Equal (i + 1, tv.TopRow); Application.Driver!.GetCursorVisibility (out CursorVisibility cursorVisibility); @@ -1086,7 +1086,7 @@ This is the second line. for (var i = 12; i > 0; i--) { - tv.NewMouseEvent (new MouseEvent { Flags = MouseFlags.WheeledUp }); + tv.NewMouseEvent (new MouseEventArgs { Flags = MouseFlags.WheeledUp }); Application.PositionCursor (); Assert.Equal (i - 1, tv.TopRow); @@ -6166,7 +6166,7 @@ This is the second line. Assert.True ( _textView.NewMouseEvent ( - new MouseEvent { Position = new (12, 0), Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } + new MouseEventArgs { Position = new (12, 0), Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } ) ); Assert.Equal (0, _textView.SelectionStartColumn); @@ -6175,7 +6175,7 @@ This is the second line. Assert.True (_textView.IsSelecting); Assert.Equal ("TAB to jump ", _textView.SelectedText); - Assert.True (_textView.NewMouseEvent (new MouseEvent { Position = new (12, 0), Flags = MouseFlags.Button1Clicked })); + Assert.True (_textView.NewMouseEvent (new MouseEventArgs { Position = new (12, 0), Flags = MouseFlags.Button1Clicked })); Assert.Equal (0, _textView.SelectionStartRow); Assert.Equal (0, _textView.SelectionStartRow); Assert.Equal (new Point (12, 0), _textView.CursorPosition); @@ -6184,7 +6184,7 @@ This is the second line. Assert.True ( _textView.NewMouseEvent ( - new MouseEvent { Position = new (19, 0), Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } + new MouseEventArgs { Position = new (19, 0), Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } ) ); Assert.Equal (0, _textView.SelectionStartRow); @@ -6193,7 +6193,7 @@ This is the second line. Assert.True (_textView.IsSelecting); Assert.Equal ("TAB to jump between", _textView.SelectedText); - Assert.True (_textView.NewMouseEvent (new MouseEvent { Position = new (19, 0), Flags = MouseFlags.Button1Clicked })); + Assert.True (_textView.NewMouseEvent (new MouseEventArgs { Position = new (19, 0), Flags = MouseFlags.Button1Clicked })); Assert.Equal (0, _textView.SelectionStartRow); Assert.Equal (0, _textView.SelectionStartRow); Assert.Equal (new Point (19, 0), _textView.CursorPosition); @@ -6202,7 +6202,7 @@ This is the second line. Assert.True ( _textView.NewMouseEvent ( - new MouseEvent { Position = new (24, 0), Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } + new MouseEventArgs { Position = new (24, 0), Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } ) ); Assert.Equal (0, _textView.SelectionStartRow); @@ -6211,14 +6211,14 @@ This is the second line. Assert.True (_textView.IsSelecting); Assert.Equal ("TAB to jump between text", _textView.SelectedText); - Assert.True (_textView.NewMouseEvent (new MouseEvent { Position = new (24, 0), Flags = MouseFlags.Button1Clicked })); + Assert.True (_textView.NewMouseEvent (new MouseEventArgs { Position = new (24, 0), Flags = MouseFlags.Button1Clicked })); Assert.Equal (0, _textView.SelectionStartRow); Assert.Equal (0, _textView.SelectionStartRow); Assert.Equal (new Point (24, 0), _textView.CursorPosition); Assert.True (_textView.IsSelecting); Assert.Equal ("TAB to jump between text", _textView.SelectedText); - Assert.True (_textView.NewMouseEvent (new MouseEvent { Position = new (24, 0), Flags = MouseFlags.Button1Pressed })); + Assert.True (_textView.NewMouseEvent (new MouseEventArgs { Position = new (24, 0), Flags = MouseFlags.Button1Pressed })); Assert.Equal (0, _textView.SelectionStartRow); Assert.Equal (0, _textView.SelectionStartRow); Assert.Equal (new Point (24, 0), _textView.CursorPosition); @@ -6972,12 +6972,12 @@ TAB to jump between text field", { var tv = new TextView { Width = 10, Text = " " }; - var ev = new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1DoubleClicked }; + var ev = new MouseEventArgs { Position = new (0, 0), Flags = MouseFlags.Button1DoubleClicked }; tv.NewMouseEvent (ev); Assert.Equal (1, tv.SelectedLength); - ev = new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }; + ev = new MouseEventArgs { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }; tv.NewMouseEvent (ev); Assert.Equal (1, tv.SelectedLength); @@ -7094,7 +7094,7 @@ line. _output ); - Assert.True (tv.NewMouseEvent (new MouseEvent { Position = new (0, 3), Flags = MouseFlags.Button1Pressed })); + Assert.True (tv.NewMouseEvent (new MouseEventArgs { Position = new (0, 3), Flags = MouseFlags.Button1Pressed })); tv.Draw (); Assert.Equal (new Point (0, 3), tv.CursorPosition); Assert.Equal (new Point (13, 0), cp); diff --git a/UnitTests/Views/TreeTableSourceTests.cs b/UnitTests/Views/TreeTableSourceTests.cs index 3db7a2742..345dffeb0 100644 --- a/UnitTests/Views/TreeTableSourceTests.cs +++ b/UnitTests/Views/TreeTableSourceTests.cs @@ -111,7 +111,7 @@ public class TreeTableSourceTests : IDisposable Assert.Equal (0, tv.SelectedRow); Assert.Equal (0, tv.SelectedColumn); - Assert.True (tv.NewMouseEvent (new MouseEvent { Position = new (2, 2), Flags = MouseFlags.Button1Clicked })); + Assert.True (tv.NewMouseEvent (new MouseEventArgs { Position = new (2, 2), Flags = MouseFlags.Button1Clicked })); tv.Draw (); @@ -128,15 +128,15 @@ public class TreeTableSourceTests : IDisposable TestHelpers.AssertDriverContentsAre (expected, _output); // Clicking to the right/left of the expand/collapse does nothing - tv.NewMouseEvent (new MouseEvent { Position = new (3, 2), Flags = MouseFlags.Button1Clicked }); + tv.NewMouseEvent (new MouseEventArgs { Position = new (3, 2), Flags = MouseFlags.Button1Clicked }); tv.Draw (); TestHelpers.AssertDriverContentsAre (expected, _output); - tv.NewMouseEvent (new MouseEvent { Position = new (1, 2), Flags = MouseFlags.Button1Clicked }); + tv.NewMouseEvent (new MouseEventArgs { Position = new (1, 2), Flags = MouseFlags.Button1Clicked }); tv.Draw (); TestHelpers.AssertDriverContentsAre (expected, _output); // Clicking on the + again should collapse - tv.NewMouseEvent (new MouseEvent { Position = new (2, 2), Flags = MouseFlags.Button1Clicked }); + tv.NewMouseEvent (new MouseEventArgs { Position = new (2, 2), Flags = MouseFlags.Button1Clicked }); tv.Draw (); expected = diff --git a/UnitTests/Views/TreeViewTests.cs b/UnitTests/Views/TreeViewTests.cs index 507ca3541..12d1ecf97 100644 --- a/UnitTests/Views/TreeViewTests.cs +++ b/UnitTests/Views/TreeViewTests.cs @@ -438,7 +438,7 @@ public class TreeViewTests Assert.False (called); // double click triggers activation - tree.NewMouseEvent (new MouseEvent { Flags = MouseFlags.Button1DoubleClicked }); + tree.NewMouseEvent (new MouseEventArgs { Flags = MouseFlags.Button1DoubleClicked }); Assert.True (called); Assert.Same (f, activated); @@ -467,12 +467,12 @@ public class TreeViewTests Assert.False (called); // double click does nothing because we changed button binding to right click - tree.NewMouseEvent (new MouseEvent { Position = new (0, 1), Flags = MouseFlags.Button1DoubleClicked }); + tree.NewMouseEvent (new MouseEventArgs { Position = new (0, 1), Flags = MouseFlags.Button1DoubleClicked }); Assert.Null (activated); Assert.False (called); - tree.NewMouseEvent (new MouseEvent { Position = new (0, 1), Flags = MouseFlags.Button2Clicked }); + tree.NewMouseEvent (new MouseEventArgs { Position = new (0, 1), Flags = MouseFlags.Button2Clicked }); Assert.True (called); Assert.Same (car1, activated); @@ -506,7 +506,7 @@ public class TreeViewTests // double click does nothing because we changed button to null - tree.NewMouseEvent (new MouseEvent { Flags = MouseFlags.Button1DoubleClicked }); + tree.NewMouseEvent (new MouseEventArgs { Flags = MouseFlags.Button1DoubleClicked }); Assert.False (called); Assert.Null (activated); diff --git a/docfx/docs/mouse.md b/docfx/docs/mouse.md index 63ef13696..18ffd2cb0 100644 --- a/docfx/docs/mouse.md +++ b/docfx/docs/mouse.md @@ -10,9 +10,9 @@ Tenets higher in the list have precedence over tenets lower in the list. ## Mouse APIs -At the core of *Terminal.Gui*'s mouse API is the *[MouseEvent](~/api/Terminal.Gui.MouseEvent.yml)* class. The `MouseEvent` class provides a platform-independent abstraction for common mouse events. Every mouse event can be fully described in a `MouseEvent` instance, and most of the mouse-related APIs are simply helper functions for decoding a `MouseEvent`. +At the core of *Terminal.Gui*'s mouse API is the @Terminal.Gui.MouseEventArgs class. The @Terminal.Gui.MouseEventArgs class provides a platform-independent abstraction for common mouse events. Every mouse event can be fully described in a @Terminal.Gui.MouseEventArgs instance, and most of the mouse-related APIs are simply helper functions for decoding a @Terminal.Gui.MouseEventArgs. -When the user does something with the mouse, the `ConsoleDriver` maps the platform-specific mouse event into a `MouseEvent` and calls `Application.OnMouseEvent`. Then, `Application.OnMouseEvent` determines which `View` the event should go to. The `View.OnMouseEvent` method can be overridden or the `View.MouseEvent` event can be subscribed to, to handle the low-level mouse event. If the low-level event is not handled by a view, `Application` will then call the appropriate high-level helper APIs. For example, if the user double-clicks the mouse, `View.OnMouseClick` will be called/`View.MouseClick` will be fired with the event arguments indicating which mouse button was double-clicked. +When the user does something with the mouse, the `ConsoleDriver` maps the platform-specific mouse event into a `MouseEventArgs` and calls `Application.RaiseMouseEvent`. Then, `Application.RaiseMouseEvent` determines which `View` the event should go to. The `View.OnMouseEvent` method can be overridden or the `View.MouseEvent` event can be subscribed to, to handle the low-level mouse event. If the low-level event is not handled by a view, `Application` will then call the appropriate high-level helper APIs. For example, if the user double-clicks the mouse, `View.OnMouseClick` will be called/`View.MouseClick` will be raised with the event arguments indicating which mouse button was double-clicked. ## Mouse Button and Movement Concepts