From d391cc7ad25c23227ed36ff74773ed650eba9923 Mon Sep 17 00:00:00 2001 From: Tig Date: Thu, 9 May 2024 08:50:50 -0600 Subject: [PATCH] MouseEvent: int X, int Y -> Point Position --- Terminal.Gui/Application.cs | 38 ++++---- .../CursesDriver/CursesDriver.cs | 4 +- Terminal.Gui/ConsoleDrivers/NetDriver.cs | 2 +- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 13 ++- Terminal.Gui/Input/Mouse.cs | 9 +- .../Text/Autocomplete/PopupAutocomplete.cs | 6 +- Terminal.Gui/View/Adornment/Border.cs | 8 +- Terminal.Gui/View/ViewMouse.cs | 4 +- Terminal.Gui/Views/ColorPicker.cs | 2 +- Terminal.Gui/Views/ComboBox.cs | 8 +- Terminal.Gui/Views/DateField.cs | 3 +- Terminal.Gui/Views/FileDialog.cs | 6 +- Terminal.Gui/Views/HexView.cs | 12 +-- Terminal.Gui/Views/ListView.cs | 8 +- Terminal.Gui/Views/Menu/Menu.cs | 21 +++-- Terminal.Gui/Views/Menu/MenuBar.cs | 15 ++-- Terminal.Gui/Views/RadioGroup.cs | 4 +- Terminal.Gui/Views/ScrollBarView.cs | 2 +- Terminal.Gui/Views/ScrollView.cs | 4 +- Terminal.Gui/Views/Slider.cs | 12 +-- Terminal.Gui/Views/StatusBar.cs | 2 +- .../TableView/CheckBoxTableSourceWrapper.cs | 2 +- Terminal.Gui/Views/TableView/TableView.cs | 39 +++++++- .../Views/TableView/TreeTableSource.cs | 2 +- Terminal.Gui/Views/TextField.cs | 2 +- Terminal.Gui/Views/TextValidateField.cs | 2 +- Terminal.Gui/Views/TextView.cs | 16 ++-- Terminal.Gui/Views/TileView.cs | 12 +-- Terminal.Gui/Views/TimeField.cs | 2 +- Terminal.Gui/Views/TreeView/TreeView.cs | 6 +- UICatalog/Scenarios/CharacterMap.cs | 16 ++-- UICatalog/Scenarios/ContextMenus.cs | 4 +- UICatalog/Scenarios/LineDrawing.cs | 4 +- UICatalog/Scenarios/ListColumns.cs | 2 +- UICatalog/Scenarios/Mouse.cs | 8 +- UICatalog/Scenarios/Notepad.cs | 2 +- UICatalog/Scenarios/Scrolling.cs | 2 +- UICatalog/Scenarios/TableEditor.cs | 4 +- UICatalog/Scenarios/TreeViewFileSystem.cs | 6 +- UnitTests/Application/ApplicationTests.cs | 6 +- UnitTests/Application/MouseTests.cs | 28 +++--- UnitTests/Input/EscSeqUtilsTests.cs | 4 +- UnitTests/Text/AutocompleteTests.cs | 2 +- UnitTests/View/MouseTests.cs | 18 ++-- UnitTests/Views/CheckBoxTests.cs | 6 +- UnitTests/Views/ColorPickerTests.cs | 2 +- UnitTests/Views/ComboBoxTests.cs | 54 ++++++------ UnitTests/Views/ContextMenuTests.cs | 30 +++---- UnitTests/Views/LabelTests.cs | 2 +- UnitTests/Views/ListViewTests.cs | 18 ++-- UnitTests/Views/MenuBarTests.cs | 86 +++++++++--------- UnitTests/Views/OverlappedTests.cs | 7 +- UnitTests/Views/ScrollBarViewTests.cs | 4 +- UnitTests/Views/StatusBarTests.cs | 2 +- UnitTests/Views/TabViewTests.cs | 18 ++-- UnitTests/Views/TableViewTests.cs | 14 +-- UnitTests/Views/TextFieldTests.cs | 16 ++-- UnitTests/Views/TextValidateFieldTests.cs | 2 +- UnitTests/Views/TextViewTests.cs | 26 +++--- UnitTests/Views/ToplevelTests.cs | 88 ++++++------------- UnitTests/Views/TreeTableSourceTests.cs | 8 +- UnitTests/Views/TreeViewTests.cs | 8 +- 62 files changed, 371 insertions(+), 392 deletions(-) diff --git a/Terminal.Gui/Application.cs b/Terminal.Gui/Application.cs index 7ff587062..a0f3d0511 100644 --- a/Terminal.Gui/Application.cs +++ b/Terminal.Gui/Application.cs @@ -1556,7 +1556,7 @@ public static partial class Application return; } - var view = View.FindDeepestView (Current, new (mouseEvent.X, mouseEvent.Y)); + var view = View.FindDeepestView (Current, mouseEvent.Position); if (view is { }) { @@ -1574,18 +1574,17 @@ public static partial class Application { // If the mouse is grabbed, send the event to the view that grabbed it. // The coordinates are relative to the Bounds of the view that grabbed the mouse. - Point frameLoc = MouseGrabView.ScreenToViewport (new (mouseEvent.X, mouseEvent.Y)); + Point frameLoc = MouseGrabView.ScreenToViewport (mouseEvent.Position); var viewRelativeMouseEvent = new MouseEvent { - X = frameLoc.X, - Y = frameLoc.Y, + Position = frameLoc, Flags = mouseEvent.Flags, - ScreenPosition = new (mouseEvent.X, mouseEvent.Y), + ScreenPosition = mouseEvent.Position, View = MouseGrabView }; - if ((MouseGrabView.Viewport with { Location = Point.Empty }).Contains (viewRelativeMouseEvent.X, viewRelativeMouseEvent.Y) is false) + if ((MouseGrabView.Viewport with { Location = Point.Empty }).Contains (viewRelativeMouseEvent.Position) is false) { // The mouse has moved outside the bounds of the view that grabbed the mouse _mouseEnteredView?.NewMouseLeaveEvent (mouseEvent); @@ -1618,8 +1617,8 @@ public static partial class Application { // This occurs when there are multiple overlapped "tops" // E.g. "Mdi" - in the Background Worker Scenario - View? top = FindDeepestTop (Top, mouseEvent.X, mouseEvent.Y); - view = View.FindDeepestView (top, new (mouseEvent.X, mouseEvent.Y)); + View? top = FindDeepestTop (Top, mouseEvent.Position.X, mouseEvent.Position.Y); + view = View.FindDeepestView (top, mouseEvent.Position); if (view is { } && view != OverlappedTop && top != Current) { @@ -1637,27 +1636,25 @@ public static partial class Application if (view is Adornment adornment) { - Point frameLoc = adornment.ScreenToFrame (new (mouseEvent.X, mouseEvent.Y)); + Point frameLoc = adornment.ScreenToFrame (mouseEvent.Position); me = new () { - X = frameLoc.X, - Y = frameLoc.Y, + Position = frameLoc, Flags = mouseEvent.Flags, - ScreenPosition = new (mouseEvent.X, mouseEvent.Y), + ScreenPosition = mouseEvent.Position, View = view }; } - else if (view.ViewportToScreen (Rectangle.Empty with { Size = view.Viewport.Size }).Contains (mouseEvent.X, mouseEvent.Y)) + else if (view.ViewportToScreen (Rectangle.Empty with { Size = view.Viewport.Size }).Contains (mouseEvent.Position)) { - Point viewportLocation = view.ScreenToViewport (new (mouseEvent.X, mouseEvent.Y)); + Point viewportLocation = view.ScreenToViewport (mouseEvent.Position); me = new () { - X = viewportLocation.X, - Y = viewportLocation.Y, + Position = viewportLocation, Flags = mouseEvent.Flags, - ScreenPosition = new (mouseEvent.X, mouseEvent.Y), + ScreenPosition = mouseEvent.Position, View = view }; } @@ -1709,14 +1706,13 @@ public static partial class Application break; } - Point boundsPoint = view.ScreenToViewport (new (mouseEvent.X, mouseEvent.Y)); + Point boundsPoint = view.ScreenToViewport (mouseEvent.Position); me = new () { - X = boundsPoint.X, - Y = boundsPoint.Y, + Position = boundsPoint, Flags = mouseEvent.Flags, - ScreenPosition = new (mouseEvent.X, mouseEvent.Y), + ScreenPosition = mouseEvent.Position, View = view }; } diff --git a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs index c059a652f..25725b21e 100644 --- a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs @@ -819,8 +819,8 @@ internal class CursesDriver : ConsoleDriver _lastMouseFlags = mouseFlag; - var me = new MouseEvent { Flags = mouseFlag, X = pos.X, Y = pos.Y }; - Debug.WriteLine ($"CursesDriver: ({me.X},{me.Y}) - {me.Flags}"); + var me = new MouseEvent { 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 26d543b3c..f7f6df8b0 100644 --- a/Terminal.Gui/ConsoleDrivers/NetDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/NetDriver.cs @@ -1523,7 +1523,7 @@ internal class NetDriver : ConsoleDriver mouseFlag |= MouseFlags.ButtonAlt; } - return new MouseEvent { X = me.Position.X, Y = me.Position.Y, Flags = mouseFlag }; + return new MouseEvent { Position = me.Position, Flags = mouseFlag }; } #endregion Mouse Handling diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 21991f448..3c9ba9261 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -157,7 +157,7 @@ internal class WindowsConsole } } - SetInitialCursorVisibility(); + SetInitialCursorVisibility (); if (!SetConsoleActiveScreenBuffer (_screenBuffer)) { @@ -1483,7 +1483,7 @@ internal class WindowsDriver : ConsoleDriver case WindowsConsole.EventType.Mouse: MouseEvent me = ToDriverMouse (inputEvent.MouseEvent); - if (me is null || me.Flags == MouseFlags.None) + if (me is null || me.Flags == MouseFlags.None) { break; } @@ -1494,8 +1494,7 @@ internal class WindowsDriver : ConsoleDriver { OnMouseEvent (new () { - X = me.X, - Y = me.Y, + Position = me.Position, Flags = ProcessButtonClick (inputEvent.MouseEvent) }); } @@ -1814,8 +1813,7 @@ internal class WindowsDriver : ConsoleDriver { var me = new MouseEvent { - X = _pointMove.X, - Y = _pointMove.Y, + Position = _pointMove, Flags = mouseFlag }; @@ -2129,8 +2127,7 @@ internal class WindowsDriver : ConsoleDriver return new MouseEvent { - X = mouseEvent.MousePosition.X, - Y = mouseEvent.MousePosition.Y, + Position = new (mouseEvent.MousePosition.X, mouseEvent.MousePosition.Y), Flags = mouseFlag }; } diff --git a/Terminal.Gui/Input/Mouse.cs b/Terminal.Gui/Input/Mouse.cs index 7ea253a76..a9f2b6772 100644 --- a/Terminal.Gui/Input/Mouse.cs +++ b/Terminal.Gui/Input/Mouse.cs @@ -116,11 +116,8 @@ public class MouseEvent /// The View at the location for the mouse event. public View View { get; set; } - /// The X position of the mouse in -relative coordinates. - public int X { get; set; } - - /// The Y position of the mouse in -relative coordinates. - public int Y { get; set; } + /// The position of the mouse in -relative coordinates. + public Point Position { get; set; } /// /// Indicates if the current mouse event has been processed. Set this value to to indicate the mouse @@ -145,5 +142,5 @@ public class MouseEvent /// Returns a that represents the current . /// A that represents the current . - public override string ToString () { return $"({X},{Y}):{Flags}"; } + public override string ToString () { return $"({Position}):{Flags}"; } } diff --git a/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.cs b/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.cs index e76aa8a2d..b4264d74b 100644 --- a/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.cs +++ b/Terminal.Gui/Text/Autocomplete/PopupAutocomplete.cs @@ -143,7 +143,7 @@ public abstract partial class PopupAutocomplete : AutocompleteBase if (me.Flags == MouseFlags.Button1Clicked) { - SelectedIdx = me.Y - ScrollOffset; + SelectedIdx = me.Position.Y - ScrollOffset; return Select (); } @@ -465,9 +465,9 @@ public abstract partial class PopupAutocomplete : AutocompleteBase /// protected void RenderSelectedIdxByMouse (MouseEvent me) { - if (SelectedIdx != me.Y - ScrollOffset) + if (SelectedIdx != me.Position.Y - ScrollOffset) { - SelectedIdx = me.Y - ScrollOffset; + SelectedIdx = me.Position.Y - ScrollOffset; if (LastPopupPos is { }) { diff --git a/Terminal.Gui/View/Adornment/Border.cs b/Terminal.Gui/View/Adornment/Border.cs index f8079d444..293c27e88 100644 --- a/Terminal.Gui/View/Adornment/Border.cs +++ b/Terminal.Gui/View/Adornment/Border.cs @@ -273,11 +273,11 @@ public class Border : Adornment // Only start grabbing if the user clicks in the Thickness area // Adornment.Contains takes Parent SuperView=relative coords. - if (Contains (new (mouseEvent.X + Parent.Frame.X + Frame.X, mouseEvent.Y + Parent.Frame.Y + Frame.Y))) + if (Contains (new (mouseEvent.Position.X + Parent.Frame.X + Frame.X, mouseEvent.Position.Y + Parent.Frame.Y + Frame.Y))) { // Set the start grab point to the Frame coords - _startGrabPoint = new (mouseEvent.X + Frame.X, mouseEvent.Y + Frame.Y); - _dragPosition = new (mouseEvent.X, mouseEvent.Y); + _startGrabPoint = new (mouseEvent.Position.X + Frame.X, mouseEvent.Position.Y + Frame.Y); + _dragPosition = mouseEvent.Position; Application.GrabMouse (this); SetHighlight (HighlightStyle); } @@ -299,7 +299,7 @@ public class Border : Adornment Parent.SuperView.SetNeedsDisplay (); } - _dragPosition = new Point (mouseEvent.X, mouseEvent.Y); + _dragPosition = mouseEvent.Position; Point parentLoc = Parent.SuperView?.ScreenToViewport (new (mouseEvent.ScreenPosition.X, mouseEvent.ScreenPosition.Y)) ?? mouseEvent.ScreenPosition; diff --git a/Terminal.Gui/View/ViewMouse.cs b/Terminal.Gui/View/ViewMouse.cs index 00684a3cf..bf743efe7 100644 --- a/Terminal.Gui/View/ViewMouse.cs +++ b/Terminal.Gui/View/ViewMouse.cs @@ -333,7 +333,7 @@ public partial class View mouseEvent.Handled = true; } - if (Viewport.Contains (mouseEvent.X, mouseEvent.Y)) + if (Viewport.Contains (mouseEvent.Position)) { if (SetHighlight (HighlightStyle.HasFlag (HighlightStyle.Pressed) ? HighlightStyle.Pressed : HighlightStyle.None) == true) { @@ -414,7 +414,7 @@ public partial class View } // If mouse is still in bounds, click - if (!WantContinuousButtonPressed && Viewport.Contains (mouseEvent.X, mouseEvent.Y)) + if (!WantContinuousButtonPressed && Viewport.Contains (mouseEvent.Position)) { return OnMouseClick (new (mouseEvent)); } diff --git a/Terminal.Gui/Views/ColorPicker.cs b/Terminal.Gui/Views/ColorPicker.cs index 0510e3be5..91be0e666 100644 --- a/Terminal.Gui/Views/ColorPicker.cs +++ b/Terminal.Gui/Views/ColorPicker.cs @@ -53,7 +53,7 @@ public class ColorPicker : View { if (CanFocus) { - Cursor = new Point (me.MouseEvent.X / _boxWidth, me.MouseEvent.Y / _boxHeight); + Cursor = new Point (me.MouseEvent.Position.X / _boxWidth, me.MouseEvent.Position.Y / _boxHeight); SetFocus (); me.Handled = true; } diff --git a/Terminal.Gui/Views/ComboBox.cs b/Terminal.Gui/Views/ComboBox.cs index 135dde57d..84cba0b4f 100644 --- a/Terminal.Gui/Views/ComboBox.cs +++ b/Terminal.Gui/Views/ComboBox.cs @@ -245,8 +245,8 @@ public class ComboBox : View /// protected internal override bool OnMouseEvent (MouseEvent me) { - if (me.X == Viewport.Right - 1 - && me.Y == Viewport.Top + if (me.Position.X == Viewport.Right - 1 + && me.Position.Y == Viewport.Top && me.Flags == MouseFlags.Button1Pressed && _autoHide) { @@ -828,7 +828,7 @@ public class ComboBox : View { if (isMousePositionValid) { - _highlighted = Math.Min (TopItem + me.Y, Source.Count); + _highlighted = Math.Min (TopItem + me.Position.Y, Source.Count); SetNeedsDisplay (); } @@ -946,7 +946,7 @@ public class ComboBox : View private bool IsMousePositionValid (MouseEvent me) { - if (me.X >= 0 && me.X < Frame.Width && me.Y >= 0 && me.Y < Frame.Height) + if (me.Position.X >= 0 && me.Position.X < Frame.Width && me.Position.Y >= 0 && me.Position.Y < Frame.Height) { return true; } diff --git a/Terminal.Gui/Views/DateField.cs b/Terminal.Gui/Views/DateField.cs index 05b8c9f29..5640e5b87 100644 --- a/Terminal.Gui/Views/DateField.cs +++ b/Terminal.Gui/Views/DateField.cs @@ -120,8 +120,7 @@ public class DateField : TextField if (result && SelectedLength == 0 && ev.Flags.HasFlag (MouseFlags.Button1Pressed)) { - int point = ev.X; - AdjCursorPosition (point); + AdjCursorPosition (ev.Position.X); } return result; diff --git a/Terminal.Gui/Views/FileDialog.cs b/Terminal.Gui/Views/FileDialog.cs index 0e4f95c2c..8c68c657a 100644 --- a/Terminal.Gui/Views/FileDialog.cs +++ b/Terminal.Gui/Views/FileDialog.cs @@ -1071,7 +1071,7 @@ public class FileDialog : Dialog private void OnTableViewMouseClick (object sender, MouseEventEventArgs e) { - Point? clickedCell = _tableView.ScreenToCell (e.MouseEvent.X, e.MouseEvent.Y, out int? clickedCol); + Point? clickedCell = _tableView.ScreenToCell (e.MouseEvent.Position.X, e.MouseEvent.Position.Y, out int? clickedCol); if (clickedCol is { }) { @@ -1269,7 +1269,7 @@ public class FileDialog : Dialog var contextMenu = new ContextMenu { - Position = new Point (e.MouseEvent.X + 1, e.MouseEvent.Y + 1), + Position = new Point (e.MouseEvent.Position.X + 1, e.MouseEvent.Position.Y + 1), MenuItems = new MenuBarItem ( [ new MenuItem (Strings.fdCtxNew, string.Empty, New), @@ -1290,7 +1290,7 @@ public class FileDialog : Dialog var contextMenu = new ContextMenu { - Position = new Point (e.MouseEvent.X + 1, e.MouseEvent.Y + 1), + Position = new Point (e.MouseEvent.Position.X + 1, e.MouseEvent.Position.Y + 1), MenuItems = new MenuBarItem ( [ new MenuItem ( diff --git a/Terminal.Gui/Views/HexView.cs b/Terminal.Gui/Views/HexView.cs index bdb3fb59b..6123a2223 100644 --- a/Terminal.Gui/Views/HexView.cs +++ b/Terminal.Gui/Views/HexView.cs @@ -278,7 +278,7 @@ public class HexView : View return true; } - if (me.X < displayWidth) + if (me.Position.X < displayWidth) { return true; } @@ -287,14 +287,14 @@ public class HexView : View int blocksSize = nblocks * 14; int blocksRightOffset = displayWidth + blocksSize - 1; - if (me.X > blocksRightOffset + bytesPerLine - 1) + if (me.Position.X > blocksRightOffset + bytesPerLine - 1) { return true; } - leftSide = me.X >= blocksRightOffset; - long lineStart = me.Y * bytesPerLine + displayStart; - int x = me.X - displayWidth + 1; + leftSide = me.Position.X >= blocksRightOffset; + long lineStart = me.Position.Y * bytesPerLine + displayStart; + int x = me.Position.X - displayWidth + 1; int block = x / 14; x -= block * 2; int empty = x % 3; @@ -309,7 +309,7 @@ public class HexView : View if (leftSide) { - position = Math.Min (lineStart + me.X - blocksRightOffset, source.Length); + position = Math.Min (lineStart + me.Position.X - blocksRightOffset, source.Length); } else { diff --git a/Terminal.Gui/Views/ListView.cs b/Terminal.Gui/Views/ListView.cs index b91ede6cb..f390552e3 100644 --- a/Terminal.Gui/Views/ListView.cs +++ b/Terminal.Gui/Views/ListView.cs @@ -413,14 +413,14 @@ public class ListView : View return true; } - if (me.Y + Viewport.Y >= _source.Count - || me.Y + Viewport.Y < 0 - || me.Y + Viewport.Y > Viewport.Y + Viewport.Height) + if (me.Position.Y + Viewport.Y >= _source.Count + || me.Position.Y + Viewport.Y < 0 + || me.Position.Y + Viewport.Y > Viewport.Y + Viewport.Height) { return true; } - _selected = Viewport.Y + me.Y; + _selected = Viewport.Y + me.Position.Y; if (AllowsAll ()) { diff --git a/Terminal.Gui/Views/Menu/Menu.cs b/Terminal.Gui/Views/Menu/Menu.cs index 03d6a693e..c424ceed5 100644 --- a/Terminal.Gui/Views/Menu/Menu.cs +++ b/Terminal.Gui/Views/Menu/Menu.cs @@ -726,13 +726,12 @@ internal sealed class Menu : View View view = a.View ?? this; - Point boundsPoint = view.ScreenToViewport (new (a.X, a.Y)); + Point boundsPoint = view.ScreenToViewport (new (a.Position.X, a.Position.Y)); var me = new MouseEvent { - X = boundsPoint.X, - Y = boundsPoint.Y, + Position = boundsPoint, Flags = a.Flags, - ScreenPosition = new (a.X, a.Y), + ScreenPosition = a.Position, View = view }; @@ -1191,17 +1190,17 @@ internal sealed class Menu : View { disabled = false; - if (me.Y < 0) + if (me.Position.Y < 0) { return me.Handled = true; } - if (me.Y >= _barItems.Children.Length) + if (me.Position.Y >= _barItems.Children.Length) { return me.Handled = true; } - MenuItem item = _barItems.Children [me.Y]; + MenuItem item = _barItems.Children [me.Position.Y]; if (item is null || !item.IsEnabled ()) { @@ -1213,7 +1212,7 @@ internal sealed class Menu : View return me.Handled = true; } - _currentChild = me.Y; + _currentChild = me.Position.Y; RunSelected (); return me.Handled = true; @@ -1231,12 +1230,12 @@ internal sealed class Menu : View { disabled = false; - if (me.Y < 0 || me.Y >= _barItems.Children.Length) + if (me.Position.Y < 0 || me.Position.Y >= _barItems.Children.Length) { return me.Handled = true; } - MenuItem item = _barItems.Children [me.Y]; + MenuItem item = _barItems.Children [me.Position.Y]; if (item is null) { @@ -1250,7 +1249,7 @@ internal sealed class Menu : View if (!disabled) { - _currentChild = me.Y; + _currentChild = me.Position.Y; } if (_host.UseSubMenusSingleFrame || !CheckSubMenu ()) diff --git a/Terminal.Gui/Views/Menu/MenuBar.cs b/Terminal.Gui/Views/Menu/MenuBar.cs index 25038453a..b692b4303 100644 --- a/Terminal.Gui/Views/Menu/MenuBar.cs +++ b/Terminal.Gui/Views/Menu/MenuBar.cs @@ -1689,7 +1689,7 @@ public class MenuBar : View locationOffset.Y += SuperView.Border.Thickness.Top; } - int cx = me.X - locationOffset.X; + int cx = me.Position.X - locationOffset.X; for (var i = 0; i < Menus.Length; i++) { @@ -1803,21 +1803,24 @@ public class MenuBar : View Application.GrabMouse (v); MouseEvent nme; - if (me.Y > -1) + if (me.Position.Y > -1) { - Point frameLoc = v.ScreenToFrame (new (me.X, me.Y)); + Point frameLoc = v.ScreenToFrame (me.Position); nme = new () { - X = frameLoc.X, - Y = frameLoc.Y, + Position = frameLoc, Flags = me.Flags, View = v }; } else { - nme = new () { X = me.X + current.Frame.X, Y = 0, Flags = me.Flags, View = v }; + nme = new () + { + Position = new (me.Position.X + current.Frame.X, me.Position.Y + current.Frame.Y), + Flags = me.Flags, View = v + }; } v.NewMouseEvent (nme); diff --git a/Terminal.Gui/Views/RadioGroup.cs b/Terminal.Gui/Views/RadioGroup.cs index 83cc14c3c..0823cfe31 100644 --- a/Terminal.Gui/Views/RadioGroup.cs +++ b/Terminal.Gui/Views/RadioGroup.cs @@ -88,8 +88,8 @@ public class RadioGroup : View { SetFocus (); - int boundsX = e.MouseEvent.X; - int boundsY = e.MouseEvent.Y; + int boundsX = e.MouseEvent.Position.X; + int boundsY = e.MouseEvent.Position.Y; int pos = _orientation == Orientation.Horizontal ? boundsX : boundsY; diff --git a/Terminal.Gui/Views/ScrollBarView.cs b/Terminal.Gui/Views/ScrollBarView.cs index a695a3d5b..b30a39415 100644 --- a/Terminal.Gui/Views/ScrollBarView.cs +++ b/Terminal.Gui/Views/ScrollBarView.cs @@ -299,7 +299,7 @@ public class ScrollBarView : View Host.SetFocus (); } - int location = _vertical ? mouseEvent.Y : mouseEvent.X; + int location = _vertical ? mouseEvent.Position.Y : mouseEvent.Position.X; int barsize = _vertical ? Viewport.Height : Viewport.Width; int posTopLeftTee = _vertical ? _posTopTee + 1 : _posLeftTee + 1; int posBottomRightTee = _vertical ? _posBottomTee + 1 : _posRightTee + 1; diff --git a/Terminal.Gui/Views/ScrollView.cs b/Terminal.Gui/Views/ScrollView.cs index 6e2361d53..4615c35b3 100644 --- a/Terminal.Gui/Views/ScrollView.cs +++ b/Terminal.Gui/Views/ScrollView.cs @@ -427,11 +427,11 @@ public class ScrollView : View { ScrollLeft (1); } - else if (me.X == _vertical.Frame.X && ShowVerticalScrollIndicator) + else if (me.Position.X == _vertical.Frame.X && ShowVerticalScrollIndicator) { _vertical.NewMouseEvent (me); } - else if (me.Y == _horizontal.Frame.Y && ShowHorizontalScrollIndicator) + else if (me.Position.Y == _horizontal.Frame.Y && ShowHorizontalScrollIndicator) { _horizontal.NewMouseEvent (me); } diff --git a/Terminal.Gui/Views/Slider.cs b/Terminal.Gui/Views/Slider.cs index 4a1c0ac57..84a8a50c3 100644 --- a/Terminal.Gui/Views/Slider.cs +++ b/Terminal.Gui/Views/Slider.cs @@ -1465,7 +1465,7 @@ public class Slider : View { if (mouseEvent.Flags.HasFlag (MouseFlags.ReportMousePosition)) { - _dragPosition = new Point (mouseEvent.X, mouseEvent.Y); + _dragPosition = mouseEvent.Position; _moveRenderPosition = ClampMovePosition ((Point)_dragPosition); Application.GrabMouse (this); } @@ -1480,7 +1480,7 @@ public class Slider : View && mouseEvent.Flags.HasFlag (MouseFlags.Button1Pressed)) { // Continue Drag - _dragPosition = new Point (mouseEvent.X, mouseEvent.Y); + _dragPosition = mouseEvent.Position; _moveRenderPosition = ClampMovePosition ((Point)_dragPosition); var success = false; @@ -1489,11 +1489,11 @@ public class Slider : View // how far has user dragged from original location? if (Orientation == Orientation.Horizontal) { - success = TryGetOptionByPosition (mouseEvent.X, 0, Math.Max (0, _config._innerSpacing / 2), out option); + success = TryGetOptionByPosition (mouseEvent.Position.X, 0, Math.Max (0, _config._innerSpacing / 2), out option); } else { - success = TryGetOptionByPosition (0, mouseEvent.Y, Math.Max (0, _config._innerSpacing / 2), out option); + success = TryGetOptionByPosition (0, mouseEvent.Position.Y, Math.Max (0, _config._innerSpacing / 2), out option); } if (!_config._allowEmpty && success) @@ -1523,11 +1523,11 @@ public class Slider : View if (Orientation == Orientation.Horizontal) { - success = TryGetOptionByPosition (mouseEvent.X, 0, Math.Max (0, _config._innerSpacing / 2), out option); + success = TryGetOptionByPosition (mouseEvent.Position.X, 0, Math.Max (0, _config._innerSpacing / 2), out option); } else { - success = TryGetOptionByPosition (0, mouseEvent.Y, Math.Max (0, _config._innerSpacing / 2), out option); + success = TryGetOptionByPosition (0, mouseEvent.Position.Y, Math.Max (0, _config._innerSpacing / 2), out option); } if (success) diff --git a/Terminal.Gui/Views/StatusBar.cs b/Terminal.Gui/Views/StatusBar.cs index a021ca544..dc14090bd 100644 --- a/Terminal.Gui/Views/StatusBar.cs +++ b/Terminal.Gui/Views/StatusBar.cs @@ -153,7 +153,7 @@ public class StatusBar : View for (var i = 0; i < Items.Length; i++) { - if (me.X >= pos && me.X < pos + GetItemTitleLength (Items [i].Title)) + if (me.Position.X >= pos && me.Position.X < pos + GetItemTitleLength (Items [i].Title)) { StatusItem item = Items [i]; diff --git a/Terminal.Gui/Views/TableView/CheckBoxTableSourceWrapper.cs b/Terminal.Gui/Views/TableView/CheckBoxTableSourceWrapper.cs index b755aa64f..2ff566684 100644 --- a/Terminal.Gui/Views/TableView/CheckBoxTableSourceWrapper.cs +++ b/Terminal.Gui/Views/TableView/CheckBoxTableSourceWrapper.cs @@ -158,7 +158,7 @@ public abstract class CheckBoxTableSourceWrapperBase : ITableSource return; } - Point? hit = tableView.ScreenToCell (e.MouseEvent.X, e.MouseEvent.Y, out int? headerIfAny); + Point? hit = tableView.ScreenToCell (e.MouseEvent.Position.X, e.MouseEvent.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 2ae46c7fd..af17a48a5 100644 --- a/Terminal.Gui/Views/TableView/TableView.cs +++ b/Terminal.Gui/Views/TableView/TableView.cs @@ -841,8 +841,8 @@ public class TableView : View return true; } - int boundsX = me.X; - int boundsY = me.Y; + int boundsX = me.Position.X; + int boundsY = me.Position.Y; if (me.Flags.HasFlag (MouseFlags.Button1Clicked)) { @@ -1035,7 +1035,7 @@ public class TableView : View } /// - /// . Returns the column and row of that corresponds to a given point on the screen (relative + /// Returns the column and row of that corresponds to a given point on the screen (relative /// to the control client area). Returns null if the point is in the header, no table is loaded or outside the control /// bounds. /// @@ -1044,6 +1044,15 @@ public class TableView : View /// Cell clicked or null. public Point? ScreenToCell (int clientX, int clientY) { return ScreenToCell (clientX, clientY, out _, out _); } + /// + /// Returns the column and row of that corresponds to a given point on the screen (relative + /// to the control client area). Returns null if the point is in the header, no table is loaded or outside the control + /// bounds. + /// + /// offset from the top left of the control. + /// /// . Returns the column and row of that corresponds to a given point on the screen (relative /// to the control client area). Returns null if the point is in the header, no table is loaded or outside the control @@ -1055,7 +1064,16 @@ public class TableView : View public Point? ScreenToCell (int clientX, int clientY, out int? headerIfAny) { return ScreenToCell (clientX, clientY, out headerIfAny, out _); } /// - /// . Returns the column and row of that corresponds to a given point on the screen (relative + /// Returns the column and row of that corresponds to a given point on the screen (relative + /// to the control client area). Returns null if the point is in the header, no table is loaded or outside the control + /// bounds. + /// + /// offset from the top left of the control. + /// If the click is in a header this is the column clicked. + public Point? ScreenToCell (Point client, out int? headerIfAny) { return ScreenToCell (client, out headerIfAny, out _); } + + /// + /// Returns the column and row of that corresponds to a given point on the screen (relative /// to the control client area). Returns null if the point is in the header, no table is loaded or outside the control /// bounds. /// @@ -1107,6 +1125,19 @@ public class TableView : View return null; } + /// + /// Returns the column and row of that corresponds to a given point on the screen (relative + /// to the control client area). Returns null if the point is in the header, no table is loaded or outside the control + /// bounds. + /// + /// offset from the top left of the control. + /// If the click is in a header this is the column clicked. + /// The horizontal offset of the click within the returned cell. + public Point? ScreenToCell (Point client, out int? headerIfAny, out int? offsetX) + { + return ScreenToCell (client.X, client.Y, out headerIfAny, out offsetX); + } + /// /// When is on, creates selection over all cells in the table (replacing any old /// selection regions) diff --git a/Terminal.Gui/Views/TableView/TreeTableSource.cs b/Terminal.Gui/Views/TableView/TreeTableSource.cs index 75001e5b1..5256949c9 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, MouseEventEventArgs e) { - Point? hit = _tableView.ScreenToCell (e.MouseEvent.X, e.MouseEvent.Y, out int? headerIfAny, out int? offsetX); + Point? hit = _tableView.ScreenToCell (e.MouseEvent.Position.X, e.MouseEvent.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 9bb71b523..d38b0d40a 100644 --- a/Terminal.Gui/Views/TextField.cs +++ b/Terminal.Gui/Views/TextField.cs @@ -1680,7 +1680,7 @@ public class TextField : View private int PositionCursor (MouseEvent ev) { - return PositionCursor (TextModel.GetColFromX (_text, ScrollOffset, ev.X), false); + 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 a51e55e54..fe9ccf3c5 100644 --- a/Terminal.Gui/Views/TextValidateField.cs +++ b/Terminal.Gui/Views/TextValidateField.cs @@ -537,7 +537,7 @@ namespace Terminal.Gui { if (mouseEvent.Flags.HasFlag (MouseFlags.Button1Pressed)) { - int c = _provider.Cursor (mouseEvent.X - GetMargins (Viewport.Width).left); + int c = _provider.Cursor (mouseEvent.Position.X - GetMargins (Viewport.Width).left); if (_provider.Fixed == false && TextAlignment == TextAlignment.Right && Text.Length > 0) { diff --git a/Terminal.Gui/Views/TextView.cs b/Terminal.Gui/Views/TextView.cs index 22e487d72..28c4b88f8 100644 --- a/Terminal.Gui/Views/TextView.cs +++ b/Terminal.Gui/Views/TextView.cs @@ -3400,11 +3400,11 @@ public class TextView : View { ScrollTo (_topRow - Frame.Height); } - else if (ev.Y >= Frame.Height) + else if (ev.Position.Y >= Frame.Height) { ScrollTo (_model.Count + BottomOffset); } - else if (ev.Y < 0 && _topRow > 0) + else if (ev.Position.Y < 0 && _topRow > 0) { ScrollTo (0); } @@ -3417,11 +3417,11 @@ public class TextView : View { ScrollTo (_leftColumn - Frame.Width, false); } - else if (ev.X >= Frame.Width) + else if (ev.Position.X >= Frame.Width) { ScrollTo (line.Count + RightOffset, false); } - else if (ev.X < 0 && _leftColumn > 0) + else if (ev.Position.X < 0 && _leftColumn > 0) { ScrollTo (0, false); } @@ -3538,7 +3538,7 @@ public class TextView : View } else if (ev.Flags == ContextMenu!.MouseFlags) { - ContextMenu.Position = new (ev.X + 2, ev.Y + 2); + ContextMenu.Position = new (ev.Position.X + 2, ev.Position.Y + 2); ShowContextMenu (); } @@ -5825,17 +5825,17 @@ public class TextView : View { int maxCursorPositionableLine = Math.Max (_model.Count - 1 - _topRow, 0); - if (Math.Max (ev.Y, 0) > maxCursorPositionableLine) + if (Math.Max (ev.Position.Y, 0) > maxCursorPositionableLine) { CurrentRow = maxCursorPositionableLine + _topRow; } else { - CurrentRow = Math.Max (ev.Y + _topRow, 0); + CurrentRow = Math.Max (ev.Position.Y + _topRow, 0); } r = GetCurrentLine (); - int idx = TextModel.GetColFromX (r, _leftColumn, Math.Max (ev.X, 0), TabWidth); + int idx = TextModel.GetColFromX (r, _leftColumn, Math.Max (ev.Position.X, 0), TabWidth); if (idx - _leftColumn >= r.Count + RightOffset) { diff --git a/Terminal.Gui/Views/TileView.cs b/Terminal.Gui/Views/TileView.cs index 4a5df465a..d6d33a4f0 100644 --- a/Terminal.Gui/Views/TileView.cs +++ b/Terminal.Gui/Views/TileView.cs @@ -912,7 +912,7 @@ public class TileView : View if (mouseEvent.Flags == MouseFlags.Button1Pressed) { - dragPosition = new Point (mouseEvent.X, mouseEvent.Y); + dragPosition = mouseEvent.Position; dragOrignalPos = Orientation == Orientation.Horizontal ? Y : X; Application.GrabMouse (this); @@ -922,7 +922,7 @@ public class TileView : View { moveRuneRenderLocation = new Point ( 0, - Math.Max (1, Math.Min (Viewport.Height - 2, mouseEvent.Y)) + Math.Max (1, Math.Min (Viewport.Height - 2, mouseEvent.Position.Y)) ); } } @@ -938,15 +938,15 @@ public class TileView : View // how far has user dragged from original location? if (Orientation == Orientation.Horizontal) { - int dy = mouseEvent.Y - dragPosition.Value.Y; + int dy = mouseEvent.Position.Y - dragPosition.Value.Y; Parent.SetSplitterPos (Idx, Offset (Y, dy)); - moveRuneRenderLocation = new Point (mouseEvent.X, 0); + moveRuneRenderLocation = new Point (mouseEvent.Position.X, 0); } else { - int dx = mouseEvent.X - dragPosition.Value.X; + int dx = mouseEvent.Position.X - dragPosition.Value.X; Parent.SetSplitterPos (Idx, Offset (X, dx)); - moveRuneRenderLocation = new Point (0, Math.Max (1, Math.Min (Viewport.Height - 2, mouseEvent.Y))); + moveRuneRenderLocation = new Point (0, Math.Max (1, Math.Min (Viewport.Height - 2, mouseEvent.Position.Y))); } Parent.SetNeedsDisplay (); diff --git a/Terminal.Gui/Views/TimeField.cs b/Terminal.Gui/Views/TimeField.cs index 367590d2f..4550992c4 100644 --- a/Terminal.Gui/Views/TimeField.cs +++ b/Terminal.Gui/Views/TimeField.cs @@ -169,7 +169,7 @@ public class TimeField : TextField if (result && SelectedLength == 0 && ev.Flags.HasFlag (MouseFlags.Button1Pressed)) { - int point = ev.X; + int point = ev.Position.X; AdjCursorPosition (point); } diff --git a/Terminal.Gui/Views/TreeView/TreeView.cs b/Terminal.Gui/Views/TreeView/TreeView.cs index db93da9a8..d2e3d0293 100644 --- a/Terminal.Gui/Views/TreeView/TreeView.cs +++ b/Terminal.Gui/Views/TreeView/TreeView.cs @@ -1028,14 +1028,14 @@ public class TreeView : View, ITreeView where T : class if (me.Flags.HasFlag (MouseFlags.Button1Clicked)) { // The line they clicked on a branch - Branch clickedBranch = HitTest (me.Y); + Branch clickedBranch = HitTest (me.Position.Y); if (clickedBranch is null) { return false; } - bool isExpandToggleAttempt = clickedBranch.IsHitOnExpandableSymbol (Driver, me.X); + bool isExpandToggleAttempt = clickedBranch.IsHitOnExpandableSymbol (Driver, me.Position.X); // If we are already selected (double click) if (Equals (SelectedObject, clickedBranch.Model)) @@ -1078,7 +1078,7 @@ public class TreeView : View, ITreeView where T : class if (ObjectActivationButton.HasValue && me.Flags.HasFlag (ObjectActivationButton.Value)) { // The line they clicked on a branch - Branch clickedBranch = HitTest (me.Y); + Branch clickedBranch = HitTest (me.Position.Y); if (clickedBranch is null) { diff --git a/UICatalog/Scenarios/CharacterMap.cs b/UICatalog/Scenarios/CharacterMap.cs index a3aa100a8..8a656bda8 100644 --- a/UICatalog/Scenarios/CharacterMap.cs +++ b/UICatalog/Scenarios/CharacterMap.cs @@ -109,7 +109,7 @@ public class CharacterMap : Scenario // if user clicks the mouse in TableView _categoryList.MouseClick += (s, e) => { - _categoryList.ScreenToCell (e.MouseEvent.X, e.MouseEvent.Y, out int? clickedCol); + _categoryList.ScreenToCell (e.MouseEvent.Position, out int? clickedCol); if (clickedCol != null && e.MouseEvent.Flags.HasFlag (MouseFlags.Button1Clicked)) { @@ -850,18 +850,18 @@ internal class CharMap : View return; } - if (me.Y == 0) + if (me.Position.Y == 0) { - me.Y = Cursor.Y; + me.Position = me.Position with { Y = Cursor.Y }; } - if (me.X < RowLabelWidth || me.X > RowLabelWidth + 16 * COLUMN_WIDTH - 1) + if (me.Position.X < RowLabelWidth || me.Position.X > RowLabelWidth + 16 * COLUMN_WIDTH - 1) { - me.X = Cursor.X; + me.Position = me.Position with { X = Cursor.X }; } - int row = (me.Y - 1 - -Viewport.Y) / _rowHeight; // -1 for header - int col = (me.X - RowLabelWidth - -Viewport.X) / COLUMN_WIDTH; + int row = (me.Position.Y - 1 - -Viewport.Y) / _rowHeight; // -1 for header + int col = (me.Position.X - RowLabelWidth - -Viewport.X) / COLUMN_WIDTH; if (col > 15) { @@ -907,7 +907,7 @@ internal class CharMap : View _contextMenu = new () { - Position = new (me.X + 1, me.Y + 1), + Position = new (me.Position.X + 1, me.Position.Y + 1), MenuItems = new ( new MenuItem [] { diff --git a/UICatalog/Scenarios/ContextMenus.cs b/UICatalog/Scenarios/ContextMenus.cs index f1bb6c90d..5d2c32947 100644 --- a/UICatalog/Scenarios/ContextMenus.cs +++ b/UICatalog/Scenarios/ContextMenus.cs @@ -67,14 +67,14 @@ public class ContextMenus : Scenario { if (e.MouseEvent.Flags == _contextMenu.MouseFlags) { - ShowContextMenu (e.MouseEvent.X, e.MouseEvent.Y); + ShowContextMenu (e.MouseEvent.Position.X, e.MouseEvent.Position.Y); e.Handled = true; } }; Application.MouseEvent += ApplicationMouseEvent; - void ApplicationMouseEvent (object sender, MouseEvent a) { mousePos = new Point (a.X, a.Y); } + void ApplicationMouseEvent (object sender, MouseEvent a) { mousePos = a.Position; } Win.WantMousePositionReports = true; diff --git a/UICatalog/Scenarios/LineDrawing.cs b/UICatalog/Scenarios/LineDrawing.cs index 5317a90f7..a2a1bfd69 100644 --- a/UICatalog/Scenarios/LineDrawing.cs +++ b/UICatalog/Scenarios/LineDrawing.cs @@ -92,7 +92,7 @@ public class LineDrawing : Scenario { // Mouse pressed down _currentLine = new StraightLine ( - new Point (mouseEvent.X, mouseEvent.Y), + mouseEvent.Position, 0, Orientation.Vertical, LineStyle, @@ -105,7 +105,7 @@ public class LineDrawing : Scenario { // Mouse dragged Point start = _currentLine.Start; - var end = new Point (mouseEvent.X, mouseEvent.Y); + var end = mouseEvent.Position; var orientation = Orientation.Vertical; int length = end.Y - start.Y; diff --git a/UICatalog/Scenarios/ListColumns.cs b/UICatalog/Scenarios/ListColumns.cs index ea093b769..e4b3b5d19 100644 --- a/UICatalog/Scenarios/ListColumns.cs +++ b/UICatalog/Scenarios/ListColumns.cs @@ -266,7 +266,7 @@ public class ListColumns : Scenario }; // if user clicks the mouse in TableView - _listColView.MouseClick += (s, e) => { _listColView.ScreenToCell (e.MouseEvent.X, e.MouseEvent.Y, out int? clickedCol); }; + _listColView.MouseClick += (s, e) => { _listColView.ScreenToCell (e.MouseEvent.Position, out int? clickedCol); }; _listColView.KeyBindings.Add (Key.Space, Command.Accept); } diff --git a/UICatalog/Scenarios/Mouse.cs b/UICatalog/Scenarios/Mouse.cs index 0e55dbd8f..15b0f6756 100644 --- a/UICatalog/Scenarios/Mouse.cs +++ b/UICatalog/Scenarios/Mouse.cs @@ -130,8 +130,8 @@ public class Mouse : Scenario if (filterSlider.GetSetOptions ().Contains (i)) { - ml.Text = $"MouseEvent: ({a.X},{a.Y}) - {a.Flags} {count}"; - appLogList.Add ($"({a.X},{a.Y}) - {a.Flags} {count++}"); + ml.Text = $"MouseEvent: ({a.Position}) - {a.Flags} {count}"; + appLogList.Add ($"({a.Position}) - {a.Flags} {count++}"); appLog.MoveDown (); } }; @@ -169,14 +169,14 @@ public class Mouse : Scenario if (filterSlider.GetSetOptions ().Contains (i)) { - winLogList.Add ($"MouseEvent: ({a.MouseEvent.X},{a.MouseEvent.Y}) - {a.MouseEvent.Flags} {count++}"); + winLogList.Add ($"MouseEvent: ({a.MouseEvent.Position}) - {a.MouseEvent.Flags} {count++}"); winLog.MoveDown (); } }; win.MouseClick += (sender, a) => { - winLogList.Add ($"MouseClick: ({a.MouseEvent.X},{a.MouseEvent.Y}) - {a.MouseEvent.Flags} {count++}"); + winLogList.Add ($"MouseClick: ({a.MouseEvent.Position}) - {a.MouseEvent.Flags} {count++}"); winLog.MoveDown (); }; diff --git a/UICatalog/Scenarios/Notepad.cs b/UICatalog/Scenarios/Notepad.cs index aea302517..ac6fe776c 100644 --- a/UICatalog/Scenarios/Notepad.cs +++ b/UICatalog/Scenarios/Notepad.cs @@ -362,7 +362,7 @@ public class Notepad : Scenario ); } - Rectangle screen = ((View)sender).ViewportToScreen (new (e.MouseEvent.X, e.MouseEvent.Y, 0, 0)); + Rectangle screen = ((View)sender).ViewportToScreen (new (e.MouseEvent.Position, Size.Empty)); var contextMenu = new ContextMenu { Position = screen.Location, MenuItems = items }; diff --git a/UICatalog/Scenarios/Scrolling.cs b/UICatalog/Scenarios/Scrolling.cs index 48a36c720..13b091b7a 100644 --- a/UICatalog/Scenarios/Scrolling.cs +++ b/UICatalog/Scenarios/Scrolling.cs @@ -221,7 +221,7 @@ public class Scrolling : Scenario Text = "Mouse: " }; app.Add (mousePos); - Application.MouseEvent += (sender, a) => { mousePos.Text = $"Mouse: ({a.X},{a.Y}) - {a.Flags} {count++}"; }; + Application.MouseEvent += (sender, a) => { mousePos.Text = $"Mouse: ({a.Position}) - {a.Flags} {count++}"; }; // Add a progress bar to cause constant redraws var progress = new ProgressBar { X = Pos.Right (scrollView) + 1, Y = Pos.AnchorEnd (2), Width = 50 }; diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index b73fa19d2..468c66418 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -750,7 +750,7 @@ public class TableEditor : Scenario return; } - _tableView.ScreenToCell (e.MouseEvent.X, e.MouseEvent.Y, out int? clickedCol); + _tableView.ScreenToCell (e.MouseEvent.Position, out int? clickedCol); if (clickedCol != null) { @@ -1254,7 +1254,7 @@ public class TableEditor : Scenario var contextMenu = new ContextMenu { - Position = new (e.MouseEvent.X + 1, e.MouseEvent.Y + 1), + Position = new (e.MouseEvent.Position.X + 1, e.MouseEvent.Position.Y + 1), MenuItems = new ( [ new ( diff --git a/UICatalog/Scenarios/TreeViewFileSystem.cs b/UICatalog/Scenarios/TreeViewFileSystem.cs index 1277ae4c8..e12387024 100644 --- a/UICatalog/Scenarios/TreeViewFileSystem.cs +++ b/UICatalog/Scenarios/TreeViewFileSystem.cs @@ -482,7 +482,7 @@ public class TreeViewFileSystem : Scenario // if user right clicks if (obj.MouseEvent.Flags.HasFlag (MouseFlags.Button3Clicked)) { - IFileSystemInfo rightClicked = _treeViewFiles.GetObjectOnRow (obj.MouseEvent.Y); + IFileSystemInfo rightClicked = _treeViewFiles.GetObjectOnRow (obj.MouseEvent.Position.Y); // nothing was clicked if (rightClicked == null) @@ -492,8 +492,8 @@ public class TreeViewFileSystem : Scenario ShowContextMenu ( new Point ( - obj.MouseEvent.X + _treeViewFiles.Frame.X, - obj.MouseEvent.Y + _treeViewFiles.Frame.Y + 2 + obj.MouseEvent.Position.X + _treeViewFiles.Frame.X, + obj.MouseEvent.Position.Y + _treeViewFiles.Frame.Y + 2 ), rightClicked ); diff --git a/UnitTests/Application/ApplicationTests.cs b/UnitTests/Application/ApplicationTests.cs index 2ebc74919..8884fcb29 100644 --- a/UnitTests/Application/ApplicationTests.cs +++ b/UnitTests/Application/ApplicationTests.cs @@ -781,7 +781,7 @@ public class ApplicationTests } else if (iteration < 3) { - Application.OnMouseEvent (new () { X = 0, Y = 0, Flags = MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new () { Flags = MouseFlags.ReportMousePosition }); Assert.False (top.NeedsDisplay); Assert.False (top.SubViewNeedsDisplay); Assert.False (top.LayoutNeeded); @@ -820,12 +820,12 @@ public class ApplicationTests // Don't use visuals to test as style of border can change over time. Assert.Equal (new Point (0, 0), w.Frame.Location); - Application.OnMouseEvent (new () { X = 0, Y = 0, Flags = MouseFlags.Button1Pressed }); + Application.OnMouseEvent (new () { Flags = MouseFlags.Button1Pressed }); Assert.Equal (w.Border, Application.MouseGrabView); Assert.Equal (new Point (0,0), w.Frame.Location); // Move down and to the right. - Application.OnMouseEvent (new () { X = 1, Y = 1, Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new () { Position = new (1,1), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Assert.Equal (new Point (1, 1), w.Frame.Location); Application.End (rs); diff --git a/UnitTests/Application/MouseTests.cs b/UnitTests/Application/MouseTests.cs index e2e57e1e2..447761550 100644 --- a/UnitTests/Application/MouseTests.cs +++ b/UnitTests/Application/MouseTests.cs @@ -41,13 +41,13 @@ public class MouseTests bool expectedClicked ) { - var mouseEvent = new MouseEvent { X = clickX, Y = clickY, Flags = MouseFlags.Button1Pressed }; + var mouseEvent = new MouseEvent { Position = new (clickX, clickY), Flags = MouseFlags.Button1Pressed }; var clicked = false; void OnApplicationOnMouseEvent (object s, MouseEvent e) { - Assert.Equal (expectedX, e.X); - Assert.Equal (expectedY, e.Y); + Assert.Equal (expectedX, e.Position.X); + Assert.Equal (expectedY, e.Position.Y); clicked = true; } @@ -115,12 +115,12 @@ public class MouseTests Height = size.Height }; - var mouseEvent = new MouseEvent { X = clickX, Y = clickY, Flags = MouseFlags.Button1Clicked }; + var mouseEvent = new MouseEvent { Position = new (clickX, clickY), Flags = MouseFlags.Button1Clicked }; view.MouseClick += (s, e) => { - Assert.Equal (expectedX, e.MouseEvent.X); - Assert.Equal (expectedY, e.MouseEvent.Y); + Assert.Equal (expectedX, e.MouseEvent.Position.X); + Assert.Equal (expectedY, e.MouseEvent.Position.Y); clicked = true; }; @@ -213,12 +213,12 @@ public class MouseTests top.Add (view); Application.Begin (top); - var mouseEvent = new MouseEvent { X = clickX, Y = clickY, Flags = MouseFlags.Button1Clicked }; + var mouseEvent = new MouseEvent { Position = new (clickX, clickY), Flags = MouseFlags.Button1Clicked }; view.MouseClick += (s, e) => { - Assert.Equal (expectedX, e.MouseEvent.X); - Assert.Equal (expectedY, e.MouseEvent.Y); + Assert.Equal (expectedX, e.MouseEvent.Position.X); + Assert.Equal (expectedY, e.MouseEvent.Position.Y); clicked = true; }; @@ -252,7 +252,7 @@ public class MouseTests Assert.True (tf.HasFocus); Assert.Null (Application.MouseGrabView); - Application.OnMouseEvent (new() { X = 5, Y = 5, Flags = MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new() { Position = new (5, 5), Flags = MouseFlags.ReportMousePosition }); Assert.Equal (sv, Application.MouseGrabView); @@ -266,15 +266,15 @@ public class MouseTests // another toplevel (Dialog) was opened Assert.Null (Application.MouseGrabView); - Application.OnMouseEvent (new() { X = 5, Y = 5, Flags = MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new() { Position = new (5, 5), Flags = MouseFlags.ReportMousePosition }); Assert.Null (Application.MouseGrabView); - Application.OnMouseEvent (new() { X = 40, Y = 12, Flags = MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new() { Position = new (40, 12), Flags = MouseFlags.ReportMousePosition }); Assert.Null (Application.MouseGrabView); - Application.OnMouseEvent (new() { X = 0, Y = 0, Flags = MouseFlags.Button1Pressed }); + Application.OnMouseEvent (new() { Position = new (0, 0), Flags = MouseFlags.Button1Pressed }); Assert.Null (Application.MouseGrabView); @@ -392,7 +392,7 @@ public class MouseTests Assert.True (view.WasDisposed); #endif - Application.OnMouseEvent (new () { X = 0, Y = 0, Flags = MouseFlags.Button1Pressed }); + Application.OnMouseEvent (new () { Position = new (0, 0), Flags = MouseFlags.Button1Pressed }); Assert.Null (Application.MouseGrabView); Assert.Equal (0, count); } diff --git a/UnitTests/Input/EscSeqUtilsTests.cs b/UnitTests/Input/EscSeqUtilsTests.cs index b4486b84a..540ae1d21 100644 --- a/UnitTests/Input/EscSeqUtilsTests.cs +++ b/UnitTests/Input/EscSeqUtilsTests.cs @@ -699,7 +699,7 @@ public class EscSeqUtilsTests top.Add (view); Application.Begin (top); - Application.OnMouseEvent (new MouseEvent { X = 0, Y = 0, Flags = 0 }); + Application.OnMouseEvent (new MouseEvent { Position = new (0, 0), Flags = 0 }); ClearAll (); @@ -756,7 +756,7 @@ public class EscSeqUtilsTests // set Application.WantContinuousButtonPressedView to null view.WantContinuousButtonPressed = false; - Application.OnMouseEvent (new MouseEvent { X = 0, Y = 0, Flags = 0 }); + Application.OnMouseEvent (new MouseEvent { Position = new (0, 0), Flags = 0 }); Application.RequestStop (); } diff --git a/UnitTests/Text/AutocompleteTests.cs b/UnitTests/Text/AutocompleteTests.cs index 6072d4126..62e2a25b2 100644 --- a/UnitTests/Text/AutocompleteTests.cs +++ b/UnitTests/Text/AutocompleteTests.cs @@ -51,7 +51,7 @@ This a long line and against TextView. Assert.True ( tv.NewMouseEvent ( - new MouseEvent { X = 6, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (6, 0), Flags = MouseFlags.Button1Pressed } ) ); Application.Refresh (); diff --git a/UnitTests/View/MouseTests.cs b/UnitTests/View/MouseTests.cs index e03090a3d..95c277445 100644 --- a/UnitTests/View/MouseTests.cs +++ b/UnitTests/View/MouseTests.cs @@ -27,7 +27,7 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews testView.SetFocus (); } - testView.NewMouseEvent (new () { X = 0, Y = 0, Flags = MouseFlags.Button1Clicked }); + testView.NewMouseEvent (new () { Position = new (0, 0), Flags = MouseFlags.Button1Clicked }); Assert.True (superView.HasFocus); Assert.Equal (expectedHasFocus, testView.HasFocus); } @@ -73,9 +73,9 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews Application.Begin (top); Assert.Equal (new Point (4, 4), testView.Frame.Location); - Application.OnMouseEvent (new () { X = xy, Y = xy, Flags = MouseFlags.Button1Pressed }); + Application.OnMouseEvent (new () { Position = new (xy, xy), Flags = MouseFlags.Button1Pressed }); - Application.OnMouseEvent (new () { X = xy + 1, Y = xy + 1, Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new () { Position = new (xy + 1, xy + 1), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Assert.Equal (expectedMoved, new Point (5, 5) == testView.Frame.Location); } @@ -504,21 +504,21 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews // Start in Viewport me.Flags = MouseFlags.Button1Pressed; - me.X = 0; + me.Position = me.Position with { X = 0 }; view.NewMouseEvent (me); Assert.Equal (1, clickedCount); me.Handled = false; // Move out of Viewport me.Flags = MouseFlags.Button1Pressed; - me.X = 1; + me.Position = me.Position with { X = 1 }; view.NewMouseEvent (me); Assert.Equal (2, clickedCount); me.Handled = false; // Move into Viewport me.Flags = MouseFlags.Button1Pressed; - me.X = 0; + me.Position = me.Position with { X = 0 }; view.NewMouseEvent (me); Assert.Equal (3, clickedCount); me.Handled = false; @@ -597,12 +597,12 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews bool inViewport = view.Viewport.Contains (x, 0); // Start at 0,0 ; in viewport - view.NewMouseEvent (new () { X = 0, Flags = MouseFlags.Button1Pressed }); + view.NewMouseEvent (new () { Flags = MouseFlags.Button1Pressed }); Assert.Equal (1, enablingHighlight); Assert.Equal (0, disablingHighlight); // Move to x,0 - view.NewMouseEvent (new () { X = x, Flags = MouseFlags.Button1Pressed }); + view.NewMouseEvent (new () { Flags = MouseFlags.Button1Pressed }); if (inViewport) { @@ -616,7 +616,7 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews } // Move backto 0,0 ; in viewport - view.NewMouseEvent (new () { X = 0, Flags = MouseFlags.Button1Pressed }); + view.NewMouseEvent (new () { Flags = MouseFlags.Button1Pressed }); if (inViewport) { Assert.Equal (3, enablingHighlight); diff --git a/UnitTests/Views/CheckBoxTests.cs b/UnitTests/Views/CheckBoxTests.cs index ef938c748..2854634b5 100644 --- a/UnitTests/Views/CheckBoxTests.cs +++ b/UnitTests/Views/CheckBoxTests.cs @@ -108,7 +108,7 @@ public class CheckBoxTests Assert.False (checkBox.Checked); Assert.True (checkBox.NewKeyDownEvent (Key.Space)); Assert.True (checkBox.Checked); - Assert.True (checkBox.NewMouseEvent (new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Clicked })); + Assert.True (checkBox.NewMouseEvent (new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Clicked })); Assert.False (checkBox.Checked); checkBox.AllowNullChecked = true; @@ -121,11 +121,11 @@ public class CheckBoxTests {CM.Glyphs.NullChecked} Check this out 你", _output ); - Assert.True (checkBox.NewMouseEvent (new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Clicked })); + Assert.True (checkBox.NewMouseEvent (new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Clicked })); Assert.True (checkBox.Checked); Assert.True (checkBox.NewKeyDownEvent (Key.Space)); Assert.False (checkBox.Checked); - Assert.True (checkBox.NewMouseEvent (new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Clicked })); + Assert.True (checkBox.NewMouseEvent (new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Clicked })); Assert.Null (checkBox.Checked); checkBox.AllowNullChecked = false; diff --git a/UnitTests/Views/ColorPickerTests.cs b/UnitTests/Views/ColorPickerTests.cs index d222f2cd4..1739a761f 100644 --- a/UnitTests/Views/ColorPickerTests.cs +++ b/UnitTests/Views/ColorPickerTests.cs @@ -54,7 +54,7 @@ public class ColorPickerTests Assert.False (colorPicker.NewMouseEvent (new MouseEvent ())); - Assert.True (colorPicker.NewMouseEvent (new MouseEvent { Flags = MouseFlags.Button1Clicked, X = 4, Y = 1 })); + Assert.True (colorPicker.NewMouseEvent (new MouseEvent { Position = new (4, 1), Flags = MouseFlags.Button1Clicked })); Assert.Equal (ColorName.Blue, colorPicker.SelectedColor); } diff --git a/UnitTests/Views/ComboBoxTests.cs b/UnitTests/Views/ComboBoxTests.cs index b9d96e9ef..d47742d7e 100644 --- a/UnitTests/Views/ComboBoxTests.cs +++ b/UnitTests/Views/ComboBoxTests.cs @@ -140,7 +140,7 @@ public class ComboBoxTests Assert.Equal (-1, cb.SelectedItem); Assert.Equal ("", cb.Text); - Assert.True (cb.NewMouseEvent (new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed })); + Assert.True (cb.NewMouseEvent (new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed })); Assert.Equal ("", selected); Assert.True (cb.IsShow); Assert.Equal (0, cb.SelectedItem); @@ -195,7 +195,7 @@ public class ComboBoxTests Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -232,7 +232,7 @@ public class ComboBoxTests Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -289,7 +289,7 @@ public class ComboBoxTests Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -300,7 +300,7 @@ public class ComboBoxTests Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = 0, Y = 1, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (0, 1), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -311,7 +311,7 @@ public class ComboBoxTests Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = 0, Y = 1, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (0, 1), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -324,7 +324,7 @@ public class ComboBoxTests Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = 0, Y = 2, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (0, 2), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("Three", selected); @@ -334,14 +334,14 @@ public class ComboBoxTests Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = 0, Y = 2, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (0, 2), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("Three", selected); @@ -351,7 +351,7 @@ public class ComboBoxTests Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("Three", selected); @@ -362,7 +362,7 @@ public class ComboBoxTests Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("One", selected); @@ -390,14 +390,14 @@ public class ComboBoxTests Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -408,7 +408,7 @@ public class ComboBoxTests Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = -1, Y = 0, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (-1, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -421,7 +421,7 @@ public class ComboBoxTests Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -432,7 +432,7 @@ public class ComboBoxTests Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = 0, Y = -1, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (0, -1), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -445,7 +445,7 @@ public class ComboBoxTests Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -456,7 +456,7 @@ public class ComboBoxTests Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = cb.Frame.Width, Y = 0, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (cb.Frame.Width, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -469,7 +469,7 @@ public class ComboBoxTests Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -480,7 +480,7 @@ public class ComboBoxTests Assert.True ( cb.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = 0, Y = cb.Frame.Height, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (0, cb.Frame.Height), Flags = MouseFlags.Button1Clicked } ) ); Assert.Equal ("", selected); @@ -508,7 +508,7 @@ public class ComboBoxTests Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -665,7 +665,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -677,7 +677,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -687,7 +687,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -699,7 +699,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -727,7 +727,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { Position = new (cb.Viewport.Right - 1, 0), Flags = MouseFlags.Button1Pressed } ) ); Assert.Equal ("", selected); @@ -784,7 +784,7 @@ Three ", Assert.True ( cb.NewMouseEvent ( - new MouseEvent { X = cb.Viewport.Right - 1, Y = 0, Flags = MouseFlags.Button1Pressed } + new MouseEvent { 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 bd3f5e488..f692a2ea4 100644 --- a/UnitTests/Views/ContextMenuTests.cs +++ b/UnitTests/Views/ContextMenuTests.cs @@ -107,11 +107,11 @@ public class ContextMenuTests Assert.True (ContextMenu.IsShow); Assert.Equal (cm.MenuBar, Application.MouseGrabView); Assert.False (menu.IsMenuOpen); - Assert.False (menu.NewMouseEvent(new MouseEvent { X = 1, Flags = MouseFlags.ReportMousePosition, View = menu })); + Assert.False (menu.NewMouseEvent(new MouseEvent { 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 { X = 1, Flags = MouseFlags.Button1Clicked, View = menu })); + Assert.True (menu.NewMouseEvent(new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1Clicked, View = menu })); Assert.False (ContextMenu.IsShow); Assert.Equal (menu, Application.MouseGrabView); Assert.True (menu.IsMenuOpen); @@ -269,7 +269,7 @@ public class ContextMenuTests _output ); - Application.OnMouseEvent (new MouseEvent { X = 8, Y = 2, Flags = MouseFlags.Button3Clicked }); + Application.OnMouseEvent (new MouseEvent { Position = new (8, 2), Flags = MouseFlags.Button3Clicked }); var firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -351,7 +351,7 @@ public class ContextMenuTests _output ); - Application.OnMouseEvent (new MouseEvent { X = 9, Y = 3, Flags = MouseFlags.Button3Clicked }); + Application.OnMouseEvent (new MouseEvent { Position = new (9, 3), Flags = MouseFlags.Button3Clicked }); var firstIteration = false; Application.RunIteration (ref rsDialog, ref firstIteration); @@ -406,7 +406,7 @@ public class ContextMenuTests _output ); - Application.OnMouseEvent (new MouseEvent { X = 9, Y = 3, Flags = MouseFlags.Button3Clicked }); + Application.OnMouseEvent (new MouseEvent { Position = new (9, 3), Flags = MouseFlags.Button3Clicked }); var firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -642,7 +642,7 @@ public class ContextMenuTests Assert.True ( top.Subviews [0] .NewMouseEvent ( - new MouseEvent { X = 0, Y = 3, Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } + new MouseEvent { Position = new (0, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } ) ); Application.Refresh (); @@ -690,7 +690,7 @@ public class ContextMenuTests Assert.True ( top.Subviews [0] .NewMouseEvent ( - new MouseEvent { X = 30, Y = 3, Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } + new MouseEvent { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } ) ); Application.Refresh (); @@ -737,7 +737,7 @@ public class ContextMenuTests Assert.True ( top.Subviews [0] .NewMouseEvent ( - new MouseEvent { X = 30, Y = 3, Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } + new MouseEvent { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } ) ); Application.Refresh (); @@ -781,7 +781,7 @@ public class ContextMenuTests Assert.True ( top.Subviews [0] .NewMouseEvent ( - new MouseEvent { X = 30, Y = 3, Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } + new MouseEvent { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } ) ); Application.Refresh (); @@ -825,7 +825,7 @@ public class ContextMenuTests Assert.True ( top.Subviews [0] .NewMouseEvent ( - new MouseEvent { X = 30, Y = 3, Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } + new MouseEvent { Position = new (30, 3), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [0] } ) ); Application.Refresh (); @@ -1314,7 +1314,7 @@ public class ContextMenuTests ); // X=5 is the border and so need to use at least one more - Application.OnMouseEvent (new MouseEvent { X = 6, Y = 13, Flags = MouseFlags.Button1Clicked }); + Application.OnMouseEvent (new MouseEvent { Position = new (6, 13), Flags = MouseFlags.Button1Clicked }); var firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -1332,7 +1332,7 @@ public class ContextMenuTests _output ); - Application.OnMouseEvent (new MouseEvent { X = 6, Y = 12, Flags = MouseFlags.Button1Clicked }); + Application.OnMouseEvent (new MouseEvent { Position = new (6, 12), Flags = MouseFlags.Button1Clicked }); firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -1403,7 +1403,7 @@ public class ContextMenuTests _output ); - Application.OnMouseEvent (new MouseEvent { X = 6, Y = 13, Flags = MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new MouseEvent { Position = new (6, 13), Flags = MouseFlags.ReportMousePosition }); var firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -1420,7 +1420,7 @@ public class ContextMenuTests _output ); - Application.OnMouseEvent (new MouseEvent { X = 6, Y = 14, Flags = MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new MouseEvent { Position = new (6, 14), Flags = MouseFlags.ReportMousePosition }); firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -1438,7 +1438,7 @@ public class ContextMenuTests _output ); - Application.OnMouseEvent (new MouseEvent { X = 6, Y = 13, Flags = MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new MouseEvent { Position = new (6, 13), Flags = MouseFlags.ReportMousePosition }); firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); diff --git a/UnitTests/Views/LabelTests.cs b/UnitTests/Views/LabelTests.cs index 959eecbb8..e6c50821f 100644 --- a/UnitTests/Views/LabelTests.cs +++ b/UnitTests/Views/LabelTests.cs @@ -67,7 +67,7 @@ public class LabelTests Assert.False (label.HasFocus); Assert.False (nextSubview.HasFocus); - label.NewMouseEvent (new MouseEvent () { X = 0, Y = 0, Flags = MouseFlags.Button1Clicked }); + label.NewMouseEvent (new MouseEvent () { Position = new (0, 0), Flags = MouseFlags.Button1Clicked }); Assert.False (label.HasFocus); Assert.True (nextSubview.HasFocus); } diff --git a/UnitTests/Views/ListViewTests.cs b/UnitTests/Views/ListViewTests.cs index 0a404a8d0..9c54aed59 100644 --- a/UnitTests/Views/ListViewTests.cs +++ b/UnitTests/Views/ListViewTests.cs @@ -719,42 +719,34 @@ Item 6", │Three│ └─────┘", _output); - Application.OnMouseEvent (new () { X = 0, Y = 0, Flags = MouseFlags.Button1Clicked }); + Application.OnMouseEvent (new () { Position = new (0, 0), Flags = MouseFlags.Button1Clicked }); Assert.Equal ("", selected); Assert.Equal (-1, lv.SelectedItem); Application.OnMouseEvent (new () { - X = 1, - Y = 1, - Flags = MouseFlags.Button1Clicked + Position = new (1, 1), Flags = MouseFlags.Button1Clicked }); Assert.Equal ("One", selected); Assert.Equal (0, lv.SelectedItem); Application.OnMouseEvent (new () { - X = 1, - Y = 2, - Flags = MouseFlags.Button1Clicked + Position = new (1, 2), Flags = MouseFlags.Button1Clicked }); Assert.Equal ("Two", selected); Assert.Equal (1, lv.SelectedItem); Application.OnMouseEvent (new () { - X = 1, - Y = 3, - Flags = MouseFlags.Button1Clicked + Position = new (1, 3), Flags = MouseFlags.Button1Clicked }); Assert.Equal ("Three", selected); Assert.Equal (2, lv.SelectedItem); Application.OnMouseEvent (new () { - X = 1, - Y = 4, - Flags = MouseFlags.Button1Clicked + Position = new (1, 4), Flags = MouseFlags.Button1Clicked }); Assert.Equal ("Three", selected); Assert.Equal (2, lv.SelectedItem); diff --git a/UnitTests/Views/MenuBarTests.cs b/UnitTests/Views/MenuBarTests.cs index 8c91ff9cb..afa445ace 100644 --- a/UnitTests/Views/MenuBarTests.cs +++ b/UnitTests/Views/MenuBarTests.cs @@ -38,13 +38,13 @@ public class MenuBarTests Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu } + new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Pressed, View = menu } ) ); Assert.True ( menu._openMenu.NewMouseEvent ( - new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Clicked, View = menu._openMenu } + new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Clicked, View = menu._openMenu } ) ); Application.MainLoop.RunIteration (); @@ -58,7 +58,7 @@ public class MenuBarTests Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu } + new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Pressed, View = menu } ) ); Application.Refresh (); @@ -76,7 +76,7 @@ public class MenuBarTests Assert.True ( menu._openMenu.NewMouseEvent ( - new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Clicked, View = menu._openMenu } + new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Clicked, View = menu._openMenu } ) ); Application.MainLoop.RunIteration (); @@ -88,13 +88,13 @@ public class MenuBarTests Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu } + new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Pressed, View = menu } ) ); Assert.True ( menu._openMenu.NewMouseEvent ( - new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Clicked, View = menu._openMenu } + new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Clicked, View = menu._openMenu } ) ); Application.MainLoop.RunIteration (); @@ -297,7 +297,7 @@ public class MenuBarTests Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu } + new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Pressed, View = menu } ) ); top.Draw (); @@ -318,7 +318,7 @@ public class MenuBarTests Assert.True ( top.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = 0, Y = 2, Flags = MouseFlags.Button1Clicked, View = top.Subviews [1] } + new MouseEvent { Position = new (0, 2), Flags = MouseFlags.Button1Clicked, View = top.Subviews [1] } ) ); top.Subviews [1].Draw (); @@ -339,7 +339,7 @@ public class MenuBarTests Assert.True ( top.Subviews [1] .NewMouseEvent ( - new MouseEvent { X = 0, Y = 2, Flags = MouseFlags.ReportMousePosition, View = top.Subviews [1] } + new MouseEvent { Position = new (0, 2), Flags = MouseFlags.ReportMousePosition, View = top.Subviews [1] } ) ); top.Subviews [1].Draw (); @@ -516,7 +516,7 @@ public class MenuBarTests _output ); - Application.OnMouseEvent (new MouseEvent { X = 20, Y = 5, Flags = MouseFlags.Button1Clicked }); + Application.OnMouseEvent (new MouseEvent { Position = new (20, 5), Flags = MouseFlags.Button1Clicked }); firstIteration = false; @@ -549,7 +549,7 @@ public class MenuBarTests { menu.OpenMenu (); - Application.OnMouseEvent (new MouseEvent { X = 20, Y = 5 + i, Flags = MouseFlags.Button1Clicked }); + Application.OnMouseEvent (new MouseEvent { Position = new (20, 5 + i), Flags = MouseFlags.Button1Clicked }); firstIteration = false; Application.RunIteration (ref rsDialog, ref firstIteration); @@ -704,7 +704,7 @@ public class MenuBarTests _output ); - Application.OnMouseEvent (new MouseEvent { X = 20, Y = 5, Flags = MouseFlags.Button1Clicked }); + Application.OnMouseEvent (new MouseEvent { Position = new (20, 5), Flags = MouseFlags.Button1Clicked }); firstIteration = false; @@ -726,7 +726,7 @@ public class MenuBarTests { menu.OpenMenu (); - Application.OnMouseEvent (new MouseEvent { X = 20, Y = 5 + i, Flags = MouseFlags.Button1Clicked }); + Application.OnMouseEvent (new MouseEvent { Position = new (20, 5 + i), Flags = MouseFlags.Button1Clicked }); firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -1457,13 +1457,13 @@ wo top.Add (menu); Application.Begin (top); - Assert.True (menu.NewMouseEvent (new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu })); + Assert.True (menu.NewMouseEvent (new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1Pressed, View = menu })); Assert.True (menu.IsMenuOpen); top.Draw (); TestHelpers.AssertDriverContentsAre (expectedMenu.ExpectedSubMenuOpen (0), _output); - Assert.True (menu.NewMouseEvent (new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu })); + Assert.True (menu.NewMouseEvent (new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1Pressed, View = menu })); Assert.False (menu.IsMenuOpen); top.Draw (); TestHelpers.AssertDriverContentsAre (expectedMenu.ClosedMenuText, _output); @@ -2174,7 +2174,7 @@ wo // open the menu Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu } + new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1Pressed, View = menu } ) ); Assert.True (menu.IsMenuOpen); @@ -2183,7 +2183,7 @@ wo Assert.True ( mCurrent.NewMouseEvent ( - new MouseEvent { X = 1, Y = 1, Flags = MouseFlags.ReportMousePosition, View = mCurrent } + new MouseEvent { Position = new (1, 1), Flags = MouseFlags.ReportMousePosition, View = mCurrent } ) ); Assert.True (menu.IsMenuOpen); @@ -2192,7 +2192,7 @@ wo Assert.True ( mCurrent.NewMouseEvent ( - new MouseEvent { X = 1, Y = 1, Flags = MouseFlags.ReportMousePosition, View = mCurrent } + new MouseEvent { Position = new (1, 1), Flags = MouseFlags.ReportMousePosition, View = mCurrent } ) ); Assert.True (menu.IsMenuOpen); @@ -2201,7 +2201,7 @@ wo Assert.True ( mCurrent.NewMouseEvent ( - new MouseEvent { X = 1, Y = 2, Flags = MouseFlags.ReportMousePosition, View = mCurrent } + new MouseEvent { Position = new (1, 2), Flags = MouseFlags.ReportMousePosition, View = mCurrent } ) ); Assert.True (menu.IsMenuOpen); @@ -2211,7 +2211,7 @@ wo // close the menu Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu } + new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1Pressed, View = menu } ) ); Assert.False (menu.IsMenuOpen); @@ -2379,7 +2379,7 @@ Edit // Click on Edit Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 10, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu } + new MouseEvent { Position = new (10, 0), Flags = MouseFlags.Button1Pressed, View = menu } ) ); Assert.True (menu.IsMenuOpen); @@ -2389,7 +2389,7 @@ Edit // Click on Paste Assert.True ( mCurrent.NewMouseEvent ( - new MouseEvent { X = 10, Y = 2, Flags = MouseFlags.ReportMousePosition, View = mCurrent } + new MouseEvent { Position = new (10, 2), Flags = MouseFlags.ReportMousePosition, View = mCurrent } ) ); Assert.True (menu.IsMenuOpen); @@ -2403,7 +2403,7 @@ Edit // Edit menu is open. Click on the menu at Y = -1, which is outside the menu. Assert.False ( mCurrent.NewMouseEvent ( - new MouseEvent { X = 10, Y = i, Flags = MouseFlags.ReportMousePosition, View = menu } + new MouseEvent { Position = new (10, i), Flags = MouseFlags.ReportMousePosition, View = menu } ) ); } @@ -2412,7 +2412,7 @@ Edit // Edit menu is open. Click on the menu at Y = i. Assert.True ( mCurrent.NewMouseEvent ( - new MouseEvent { X = 10, Y = i, Flags = MouseFlags.ReportMousePosition, View = mCurrent } + new MouseEvent { Position = new (10, i), Flags = MouseFlags.ReportMousePosition, View = mCurrent } ) ); } @@ -2574,7 +2574,7 @@ Edit Application.Begin (top); Assert.True (tf.HasFocus); - Assert.True (menu.NewMouseEvent (new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu })); + Assert.True (menu.NewMouseEvent (new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1Pressed, View = menu })); Assert.True (menu.IsMenuOpen); Assert.False (tf.HasFocus); top.Draw (); @@ -2582,7 +2582,7 @@ Edit Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 8, Y = 0, Flags = MouseFlags.ReportMousePosition, View = menu } + new MouseEvent { Position = new (8, 0), Flags = MouseFlags.ReportMousePosition, View = menu } ) ); Assert.True (menu.IsMenuOpen); @@ -2592,7 +2592,7 @@ Edit Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 15, Y = 0, Flags = MouseFlags.ReportMousePosition, View = menu } + new MouseEvent { Position = new (15, 0), Flags = MouseFlags.ReportMousePosition, View = menu } ) ); Assert.True (menu.IsMenuOpen); @@ -2602,7 +2602,7 @@ Edit Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 8, Y = 0, Flags = MouseFlags.ReportMousePosition, View = menu } + new MouseEvent { Position = new (8, 0), Flags = MouseFlags.ReportMousePosition, View = menu } ) ); Assert.True (menu.IsMenuOpen); @@ -2612,7 +2612,7 @@ Edit Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.ReportMousePosition, View = menu } + new MouseEvent { Position = new (1, 0), Flags = MouseFlags.ReportMousePosition, View = menu } ) ); Assert.True (menu.IsMenuOpen); @@ -2620,7 +2620,7 @@ Edit top.Draw (); TestHelpers.AssertDriverContentsAre (expectedMenu.ExpectedSubMenuOpen (0), _output); - Assert.True (menu.NewMouseEvent (new MouseEvent { X = 8, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu })); + Assert.True (menu.NewMouseEvent (new MouseEvent { Position = new (8, 0), Flags = MouseFlags.Button1Pressed, View = menu })); Assert.False (menu.IsMenuOpen); Assert.True (tf.HasFocus); top.Draw (); @@ -2954,7 +2954,7 @@ Edit Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu } + new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1Pressed, View = menu } ) ); top.Draw (); @@ -2975,7 +2975,7 @@ Edit menu.NewMouseEvent ( new MouseEvent { - X = 1, Y = 2, Flags = MouseFlags.ReportMousePosition, View = Application.Top.Subviews [1] + Position = new (1, 2), Flags = MouseFlags.ReportMousePosition, View = Application.Top.Subviews [1] } ) ); @@ -2998,7 +2998,7 @@ Edit menu.NewMouseEvent ( new MouseEvent { - X = 1, Y = 1, Flags = MouseFlags.ReportMousePosition, View = Application.Top.Subviews [1] + Position = new (1, 1), Flags = MouseFlags.ReportMousePosition, View = Application.Top.Subviews [1] } ) ); @@ -3018,7 +3018,7 @@ Edit Assert.False ( menu.NewMouseEvent ( - new MouseEvent { X = 70, Y = 2, Flags = MouseFlags.Button1Clicked, View = Application.Top } + new MouseEvent { Position = new (70, 2), Flags = MouseFlags.Button1Clicked, View = Application.Top } ) ); top.Draw (); @@ -3264,7 +3264,7 @@ Edit Rectangle pos = TestHelpers.AssertDriverContentsWithFrameAre (expected, _output); Assert.Equal (new Rectangle (1, 0, 8, 1), pos); - Assert.True (menu.NewMouseEvent (new () { X = 1, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu })); + Assert.True (menu.NewMouseEvent (new () { Position = new (1, 0), Flags = MouseFlags.Button1Pressed, View = menu })); top.Draw (); expected = @" @@ -3279,7 +3279,7 @@ Edit pos = TestHelpers.AssertDriverContentsWithFrameAre (expected, _output); Assert.Equal (new Rectangle (1, 0, 10, 6), pos); - Assert.False (menu.NewMouseEvent (new () { X = 1, Y = 2, Flags = MouseFlags.Button1Clicked, View = Application.Top.Subviews [1] })); + Assert.False (menu.NewMouseEvent (new () { Position = new (1, 2), Flags = MouseFlags.Button1Clicked, View = Application.Top.Subviews [1] })); top.Draw (); expected = @" @@ -3295,7 +3295,7 @@ Edit pos = TestHelpers.AssertDriverContentsWithFrameAre (expected, _output); Assert.Equal (new Rectangle (1, 0, 15, 7), pos); - Assert.False (menu.NewMouseEvent (new () { X = 1, Y = 1, Flags = MouseFlags.Button1Clicked, View = Application.Top.Subviews [2] })); + Assert.False (menu.NewMouseEvent (new () { Position = new (1, 1), Flags = MouseFlags.Button1Clicked, View = Application.Top.Subviews [2] })); top.Draw (); expected = @" @@ -3310,7 +3310,7 @@ Edit pos = TestHelpers.AssertDriverContentsWithFrameAre (expected, _output); Assert.Equal (new Rectangle (1, 0, 10, 6), pos); - Assert.False (menu.NewMouseEvent (new () { X = 70, Y = 2, Flags = MouseFlags.Button1Clicked, View = Application.Top })); + Assert.False (menu.NewMouseEvent (new () { Position = new (70, 2), Flags = MouseFlags.Button1Clicked, View = Application.Top })); top.Draw (); expected = @" @@ -3448,7 +3448,7 @@ Edit Assert.True ( menu.NewMouseEvent ( - new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1Pressed, View = menu } + new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1Pressed, View = menu } ) ); top.Draw (); @@ -3465,7 +3465,7 @@ Edit Assert.False ( menu.NewMouseEvent ( - new MouseEvent { X = 1, Y = 2, Flags = MouseFlags.Button1Clicked, View = Application.Top.Subviews [1] } + new MouseEvent { Position = new (1, 2), Flags = MouseFlags.Button1Clicked, View = Application.Top.Subviews [1] } ) ); top.Draw (); @@ -3483,7 +3483,7 @@ Edit Assert.False ( menu.NewMouseEvent ( - new MouseEvent { X = 1, Y = 1, Flags = MouseFlags.Button1Clicked, View = Application.Top.Subviews [2] } + new MouseEvent { Position = new (1, 1), Flags = MouseFlags.Button1Clicked, View = Application.Top.Subviews [2] } ) ); top.Draw (); @@ -3500,7 +3500,7 @@ Edit Assert.False ( menu.NewMouseEvent ( - new MouseEvent { X = 70, Y = 2, Flags = MouseFlags.Button1Clicked, View = Application.Top } + new MouseEvent { Position = new (70, 2), Flags = MouseFlags.Button1Clicked, View = Application.Top } ) ); top.Draw (); @@ -3682,7 +3682,7 @@ Edit top.Add (menu, btn); Application.Begin (top); - Application.OnMouseEvent (new () { X = 0, Y = 4, Flags = MouseFlags.Button1Clicked }); + Application.OnMouseEvent (new () { Position = new (0, 4), Flags = MouseFlags.Button1Clicked }); Assert.True (btnClicked); } } diff --git a/UnitTests/Views/OverlappedTests.cs b/UnitTests/Views/OverlappedTests.cs index 0283a73bb..621c681ff 100644 --- a/UnitTests/Views/OverlappedTests.cs +++ b/UnitTests/Views/OverlappedTests.cs @@ -912,7 +912,7 @@ public class OverlappedTests // Tests that rely on visuals are too fragile. If border style changes they break. // Instead we should just rely on the test above. - Application.OnMouseEvent (new MouseEvent { X = 1, Y = 1, Flags = MouseFlags.Button1Pressed }); + Application.OnMouseEvent (new MouseEvent { Position = new (1, 1), Flags = MouseFlags.Button1Pressed }); Assert.Equal (win2.Border, Application.MouseGrabView); Application.RunIteration (ref rsOverlapped, ref firstIteration); @@ -926,10 +926,7 @@ public class OverlappedTests Application.OnMouseEvent (new MouseEvent { - X = 2, - Y = 2, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (2, 2), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Application.RunIteration (ref rsOverlapped, ref firstIteration); diff --git a/UnitTests/Views/ScrollBarViewTests.cs b/UnitTests/Views/ScrollBarViewTests.cs index ed184b689..f17dfead3 100644 --- a/UnitTests/Views/ScrollBarViewTests.cs +++ b/UnitTests/Views/ScrollBarViewTests.cs @@ -1154,7 +1154,7 @@ This is a test ", _output ); - Application.OnMouseEvent (new MouseEvent { X = 15, Y = 0, Flags = MouseFlags.Button1Clicked }); + Application.OnMouseEvent (new MouseEvent { Position = new (15, 0), Flags = MouseFlags.Button1Clicked }); Assert.Null (Application.MouseGrabView); Assert.True (clicked); @@ -1182,7 +1182,7 @@ This is a test ", _output ); - Application.OnMouseEvent (new MouseEvent { X = 15, Y = 0, Flags = MouseFlags.Button1Clicked }); + Application.OnMouseEvent (new MouseEvent { Position = new (15, 0), Flags = MouseFlags.Button1Clicked }); Assert.Null (Application.MouseGrabView); Assert.True (clicked); diff --git a/UnitTests/Views/StatusBarTests.cs b/UnitTests/Views/StatusBarTests.cs index feaae7292..7527338c6 100644 --- a/UnitTests/Views/StatusBarTests.cs +++ b/UnitTests/Views/StatusBarTests.cs @@ -163,7 +163,7 @@ CTRL-O Open { { Assert.Equal ("Quiting...", msg); msg = ""; - sb.NewMouseEvent (new MouseEvent { X = 1, Y = 24, Flags = MouseFlags.Button1Clicked }); + sb.NewMouseEvent (new MouseEvent { Position = new (1, 24), Flags = MouseFlags.Button1Clicked }); } else { diff --git a/UnitTests/Views/TabViewTests.cs b/UnitTests/Views/TabViewTests.cs index 578b5ff55..ccd800983 100644 --- a/UnitTests/Views/TabViewTests.cs +++ b/UnitTests/Views/TabViewTests.cs @@ -146,21 +146,21 @@ public class TabViewTests // Waving mouse around does not trigger click for (var i = 0; i < 100; i++) { - args = new MouseEvent { X = i, Y = 1, Flags = MouseFlags.ReportMousePosition }; + args = new MouseEvent { Position = new (i, 1), Flags = MouseFlags.ReportMousePosition }; Application.OnMouseEvent (args); Application.Refresh (); Assert.Null (clicked); Assert.Equal (tab1, tv.SelectedTab); } - args = new MouseEvent { X = 3, Y = 1, Flags = MouseFlags.Button1Clicked }; + args = new MouseEvent { Position = new (3, 1), Flags = MouseFlags.Button1Clicked }; Application.OnMouseEvent (args); Application.Refresh (); Assert.Equal (tab1, clicked); Assert.Equal (tab1, tv.SelectedTab); // Click to tab2 - args = new MouseEvent { X = 6, Y = 1, Flags = MouseFlags.Button1Clicked }; + args = new MouseEvent { Position = new (6, 1), Flags = MouseFlags.Button1Clicked }; Application.OnMouseEvent (args); Application.Refresh (); Assert.Equal (tab2, clicked); @@ -173,7 +173,7 @@ public class TabViewTests e.MouseEvent.Handled = true; }; - args = new MouseEvent { X = 3, Y = 1, Flags = MouseFlags.Button1Clicked }; + args = new MouseEvent { Position = new (3, 1), Flags = MouseFlags.Button1Clicked }; Application.OnMouseEvent (args); Application.Refresh (); @@ -181,7 +181,7 @@ public class TabViewTests Assert.Equal (tab1, clicked); Assert.Equal (tab2, tv.SelectedTab); - args = new MouseEvent { X = 12, Y = 1, Flags = MouseFlags.Button1Clicked }; + args = new MouseEvent { Position = new (12, 1), Flags = MouseFlags.Button1Clicked }; Application.OnMouseEvent (args); Application.Refresh (); @@ -235,7 +235,7 @@ public class TabViewTests Application.Begin (top); // Click the right arrow - var args = new MouseEvent { X = 6, Y = 2, Flags = MouseFlags.Button1Clicked }; + var args = new MouseEvent { Position = new (6, 2), Flags = MouseFlags.Button1Clicked }; Application.OnMouseEvent (args); Application.Refresh (); Assert.Null (clicked); @@ -255,7 +255,7 @@ public class TabViewTests ); // Click the left arrow - args = new MouseEvent { X = 0, Y = 2, Flags = MouseFlags.Button1Clicked }; + args = new MouseEvent { Position = new (0, 2), Flags = MouseFlags.Button1Clicked }; Application.OnMouseEvent (args); Application.Refresh (); Assert.Null (clicked); @@ -325,7 +325,7 @@ public class TabViewTests Application.Begin (top); // Click the right arrow - var args = new MouseEvent { X = 7, Y = 3, Flags = MouseFlags.Button1Clicked }; + var args = new MouseEvent { Position = new (7, 3), Flags = MouseFlags.Button1Clicked }; Application.OnMouseEvent (args); Application.Refresh (); Assert.Null (clicked); @@ -347,7 +347,7 @@ public class TabViewTests ); // Click the left arrow - args = new MouseEvent { X = 1, Y = 3, Flags = MouseFlags.Button1Clicked }; + args = new MouseEvent { Position = new (1, 3), Flags = MouseFlags.Button1Clicked }; Application.OnMouseEvent (args); Application.Refresh (); Assert.Null (clicked); diff --git a/UnitTests/Views/TableViewTests.cs b/UnitTests/Views/TableViewTests.cs index cc990846b..7ad2327c7 100644 --- a/UnitTests/Views/TableViewTests.cs +++ b/UnitTests/Views/TableViewTests.cs @@ -2197,7 +2197,7 @@ public class TableViewTests // Clicking in bottom row tv.NewMouseEvent ( - new MouseEvent { X = 1, Y = 4, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (1, 4), Flags = MouseFlags.Button1Clicked } ); // should select that row @@ -2205,7 +2205,7 @@ public class TableViewTests // shift clicking top row tv.NewMouseEvent ( - new MouseEvent { X = 1, Y = 2, Flags = MouseFlags.Button1Clicked | MouseFlags.ButtonCtrl } + new MouseEvent { Position = new (1, 2), Flags = MouseFlags.Button1Clicked | MouseFlags.ButtonCtrl } ); // should extend the selection @@ -2269,7 +2269,7 @@ public class TableViewTests // Clicking in bottom row tv.NewMouseEvent ( - new MouseEvent { X = 1, Y = 4, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (1, 4), Flags = MouseFlags.Button1Clicked } ); // should select that row @@ -2324,7 +2324,7 @@ public class TableViewTests // Clicking in bottom row tv.NewMouseEvent ( - new MouseEvent { X = 1, Y = 4, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (1, 4), Flags = MouseFlags.Button1Clicked } ); // should select that row @@ -2377,7 +2377,7 @@ A B C // Clicking in bottom row tv.NewMouseEvent ( - new MouseEvent { X = 1, Y = 4, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (1, 4), Flags = MouseFlags.Button1Clicked } ); // should select that row @@ -2558,7 +2558,7 @@ A B C // Clicking in bottom row tv.NewMouseEvent ( - new MouseEvent { X = 1, Y = 3, Flags = MouseFlags.Button1Clicked } + new MouseEvent { Position = new (1, 3), Flags = MouseFlags.Button1Clicked } ); // should select that row @@ -2566,7 +2566,7 @@ A B C // shift clicking top row tv.NewMouseEvent ( - new MouseEvent { X = 1, Y = 2, Flags = MouseFlags.Button1Clicked | MouseFlags.ButtonShift } + new MouseEvent { Position = new (1, 2), Flags = MouseFlags.Button1Clicked | MouseFlags.ButtonShift } ); // should extend the selection diff --git a/UnitTests/Views/TextFieldTests.cs b/UnitTests/Views/TextFieldTests.cs index 89968364f..5ace528f1 100644 --- a/UnitTests/Views/TextFieldTests.cs +++ b/UnitTests/Views/TextFieldTests.cs @@ -123,7 +123,7 @@ public class TextFieldTests Assert.False (fv.HasFocus); tf.NewMouseEvent ( - new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1DoubleClicked } + new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked } ); Assert.Null (tf.SelectedText); @@ -137,7 +137,7 @@ public class TextFieldTests tf.CanFocus = true; tf.NewMouseEvent ( - new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1DoubleClicked } + new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked } ); Assert.Equal ("some ", tf.SelectedText); @@ -149,7 +149,7 @@ public class TextFieldTests fv.CanFocus = false; tf.NewMouseEvent ( - new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1DoubleClicked } + new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked } ); Assert.Equal ("some ", tf.SelectedText); // Setting CanFocus to false don't change the SelectedText @@ -485,7 +485,7 @@ public class TextFieldTests Assert.True ( tf.NewMouseEvent ( - new MouseEvent { X = 7, Y = 1, Flags = MouseFlags.Button1DoubleClicked, View = tf } + new MouseEvent { Position = new (7, 1), Flags = MouseFlags.Button1DoubleClicked, View = tf } ) ); Assert.Equal ("Misérables ", tf.SelectedText); @@ -1150,12 +1150,12 @@ public class TextFieldTests { var tf = new TextField { Width = 10, Text = " " }; - var ev = new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1DoubleClicked }; + var ev = new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1DoubleClicked }; tf.NewMouseEvent (ev); Assert.Equal (1, tf.SelectedLength); - ev = new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1DoubleClicked }; + ev = new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }; tf.NewMouseEvent (ev); Assert.Equal (1, tf.SelectedLength); @@ -1538,14 +1538,14 @@ public class TextFieldTests Assert.True ( tf.NewMouseEvent ( - new MouseEvent { X = idx, Y = 1, Flags = MouseFlags.Button1DoubleClicked, View = tf } + new MouseEvent { Position = new (idx, 1), Flags = MouseFlags.Button1DoubleClicked, View = tf } ) ); Assert.Equal ("movie.", tf.SelectedText); Assert.True ( tf.NewMouseEvent ( - new MouseEvent { X = idx + 1, Y = 1, Flags = MouseFlags.Button1DoubleClicked, View = tf } + new MouseEvent { Position = new (idx + 1, 1), Flags = MouseFlags.Button1DoubleClicked, View = tf } ) ); Assert.Equal ("movie.", tf.SelectedText); diff --git a/UnitTests/Views/TextValidateFieldTests.cs b/UnitTests/Views/TextValidateFieldTests.cs index 5e9aa6e68..ad149a705 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 { X = 25, Flags = MouseFlags.Button1Pressed }); + field.NewMouseEvent (new MouseEvent { Position = new (25, 0), Flags = MouseFlags.Button1Pressed }); field.NewKeyDownEvent (Key.D1); diff --git a/UnitTests/Views/TextViewTests.cs b/UnitTests/Views/TextViewTests.cs index 67336031c..050d18509 100644 --- a/UnitTests/Views/TextViewTests.cs +++ b/UnitTests/Views/TextViewTests.cs @@ -160,7 +160,7 @@ public class TextViewTests Assert.False (fv.CanFocus); Assert.False (fv.HasFocus); - tv.NewMouseEvent (new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1DoubleClicked }); + tv.NewMouseEvent (new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }); Assert.Empty (tv.SelectedText); Assert.False (tv.CanFocus); @@ -171,7 +171,7 @@ public class TextViewTests Assert.Throws (() => tv.CanFocus = true); fv.CanFocus = true; tv.CanFocus = true; - tv.NewMouseEvent (new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1DoubleClicked }); + tv.NewMouseEvent (new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }); Assert.Equal ("some ", tv.SelectedText); Assert.True (tv.CanFocus); @@ -180,7 +180,7 @@ public class TextViewTests Assert.True (fv.HasFocus); fv.CanFocus = false; - tv.NewMouseEvent (new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1DoubleClicked }); + tv.NewMouseEvent (new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }); Assert.Equal ("some ", tv.SelectedText); // Setting CanFocus to false don't change the SelectedText Assert.False (tv.CanFocus); @@ -6809,7 +6809,7 @@ This is the second line. Assert.True ( _textView.NewMouseEvent ( - new MouseEvent { X = 12, Y = 0, Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } + new MouseEvent { Position = new (12, 0), Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } ) ); Assert.Equal (0, _textView.SelectionStartColumn); @@ -6818,7 +6818,7 @@ This is the second line. Assert.True (_textView.Selecting); Assert.Equal ("TAB to jump ", _textView.SelectedText); - Assert.True (_textView.NewMouseEvent (new MouseEvent { X = 12, Y = 0, Flags = MouseFlags.Button1Clicked })); + Assert.True (_textView.NewMouseEvent (new MouseEvent { 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); @@ -6827,7 +6827,7 @@ This is the second line. Assert.True ( _textView.NewMouseEvent ( - new MouseEvent { X = 19, Y = 0, Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } + new MouseEvent { Position = new (19, 0), Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } ) ); Assert.Equal (0, _textView.SelectionStartRow); @@ -6836,7 +6836,7 @@ This is the second line. Assert.True (_textView.Selecting); Assert.Equal ("TAB to jump between", _textView.SelectedText); - Assert.True (_textView.NewMouseEvent (new MouseEvent { X = 19, Y = 0, Flags = MouseFlags.Button1Clicked })); + Assert.True (_textView.NewMouseEvent (new MouseEvent { 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); @@ -6845,7 +6845,7 @@ This is the second line. Assert.True ( _textView.NewMouseEvent ( - new MouseEvent { X = 24, Y = 0, Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } + new MouseEvent { Position = new (24, 0), Flags = MouseFlags.Button1Pressed | MouseFlags.ButtonShift } ) ); Assert.Equal (0, _textView.SelectionStartRow); @@ -6854,14 +6854,14 @@ This is the second line. Assert.True (_textView.Selecting); Assert.Equal ("TAB to jump between text", _textView.SelectedText); - Assert.True (_textView.NewMouseEvent (new MouseEvent { X = 24, Y = 0, Flags = MouseFlags.Button1Clicked })); + Assert.True (_textView.NewMouseEvent (new MouseEvent { 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.Selecting); Assert.Equal ("TAB to jump between text", _textView.SelectedText); - Assert.True (_textView.NewMouseEvent (new MouseEvent { X = 24, Y = 0, Flags = MouseFlags.Button1Pressed })); + Assert.True (_textView.NewMouseEvent (new MouseEvent { 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); @@ -7642,12 +7642,12 @@ TAB to jump between text field", { var tv = new TextView { Width = 10, Text = " " }; - var ev = new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1DoubleClicked }; + var ev = new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1DoubleClicked }; tv.NewMouseEvent (ev); Assert.Equal (1, tv.SelectedLength); - ev = new MouseEvent { X = 1, Y = 0, Flags = MouseFlags.Button1DoubleClicked }; + ev = new MouseEvent { Position = new (1, 0), Flags = MouseFlags.Button1DoubleClicked }; tv.NewMouseEvent (ev); Assert.Equal (1, tv.SelectedLength); @@ -7764,7 +7764,7 @@ line. _output ); - Assert.True (tv.NewMouseEvent (new MouseEvent { X = 0, Y = 3, Flags = MouseFlags.Button1Pressed })); + Assert.True (tv.NewMouseEvent (new MouseEvent { 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/ToplevelTests.cs b/UnitTests/Views/ToplevelTests.cs index 28d9b94f4..6e31fb55b 100644 --- a/UnitTests/Views/ToplevelTests.cs +++ b/UnitTests/Views/ToplevelTests.cs @@ -382,12 +382,12 @@ public class ToplevelTests Assert.Equal (new Rectangle (0, 1, 60, 15), win.Frame); //Assert.Null (Toplevel._dragPosition); - win.NewMouseEvent (new MouseEvent { X = 6, Y = 0, Flags = MouseFlags.Button1Pressed }); + win.NewMouseEvent (new MouseEvent { Position = new (6, 0), Flags = MouseFlags.Button1Pressed }); // Assert.Equal (new Point (6, 0), Toplevel._dragPosition); - win.NewMouseEvent (new MouseEvent { X = 6, Y = 0, Flags = MouseFlags.Button1Released }); + win.NewMouseEvent (new MouseEvent { Position = new (6, 0), Flags = MouseFlags.Button1Released }); //Assert.Null (Toplevel._dragPosition); win.CanFocus = false; - win.NewMouseEvent (new MouseEvent { X = 6, Y = 0, Flags = MouseFlags.Button1Pressed }); + win.NewMouseEvent (new MouseEvent { Position = new (6, 0), Flags = MouseFlags.Button1Pressed }); //Assert.Null (Toplevel._dragPosition); } @@ -883,7 +883,7 @@ public class ToplevelTests Assert.Null (Application.MouseGrabView); // Grab the mouse - Application.OnMouseEvent (new () { X = 3, Y = 2, Flags = MouseFlags.Button1Pressed }); + Application.OnMouseEvent (new () { Position = new (3, 2), Flags = MouseFlags.Button1Pressed }); Assert.Equal (Application.Current.Border, Application.MouseGrabView); Assert.Equal (new Rectangle (2, 2, 10, 3), Application.Current.Frame); @@ -895,10 +895,8 @@ public class ToplevelTests // Drag to left Application.OnMouseEvent (new () { - X = 2, - Y = 2, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (2, 2), Flags = MouseFlags.Button1Pressed + | MouseFlags.ReportMousePosition }); Application.Refresh (); @@ -919,10 +917,7 @@ public class ToplevelTests // Drag up Application.OnMouseEvent (new () { - X = 2, - Y = 1, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (2, 1), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Application.Refresh (); @@ -943,7 +938,7 @@ public class ToplevelTests Assert.Equal (Application.Current.Border, Application.MouseGrabView); // Ungrab the mouse - Application.OnMouseEvent (new () { X = 2, Y = 1, Flags = MouseFlags.Button1Released }); + Application.OnMouseEvent (new () { Position = new (2, 1), Flags = MouseFlags.Button1Released }); Application.Refresh (); Assert.Null (Application.MouseGrabView); @@ -993,8 +988,7 @@ public class ToplevelTests // Grab the mouse Application.OnMouseEvent (new MouseEvent { - X = win.Frame.X, Y = win.Frame.Y, - Flags = MouseFlags.Button1Pressed + Position = new (win.Frame.X, win.Frame.Y), Flags = MouseFlags.Button1Pressed }); Assert.Equal (win.Border, Application.MouseGrabView); @@ -1009,10 +1003,8 @@ public class ToplevelTests Application.OnMouseEvent (new MouseEvent { - X = win.Frame.X + movex, - Y = win.Frame.Y + movey, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (win.Frame.X + movex, win.Frame.Y + movey), Flags = MouseFlags.Button1Pressed + | MouseFlags.ReportMousePosition }); Assert.Equal (win.Border, Application.MouseGrabView); @@ -1034,10 +1026,8 @@ public class ToplevelTests Application.OnMouseEvent (new MouseEvent { - X = win.Frame.X + movex, - Y = win.Frame.Y + movey, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (win.Frame.X + movex, win.Frame.Y + movey), Flags = MouseFlags.Button1Pressed + | MouseFlags.ReportMousePosition }); Assert.Equal (win.Border, Application.MouseGrabView); @@ -1059,8 +1049,7 @@ public class ToplevelTests Application.OnMouseEvent (new MouseEvent { - X = win.Frame.X + movex, Y = win.Frame.Y + movey, - Flags = MouseFlags.Button1Released + Position = new (win.Frame.X + movex, win.Frame.Y + movey), Flags = MouseFlags.Button1Released }); Assert.Null (Application.MouseGrabView); @@ -1345,11 +1334,11 @@ public class ToplevelTests Assert.Equal (new (3, 3, 194, 94), win.Frame); - Application.OnMouseEvent (new MouseEvent { X = 6, Y = 6, Flags = MouseFlags.Button1Pressed }); + Application.OnMouseEvent (new MouseEvent { Position = new (6, 6), Flags = MouseFlags.Button1Pressed }); Assert.Equal (win.Border, Application.MouseGrabView); Assert.Equal (new (3, 3, 194, 94), win.Frame); - Application.OnMouseEvent (new MouseEvent { X = 9, Y = 9, Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new MouseEvent { Position = new (9, 9), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Assert.Equal (win.Border, Application.MouseGrabView); top.SetNeedsLayout (); top.LayoutSubviews (); @@ -1358,10 +1347,7 @@ public class ToplevelTests Application.OnMouseEvent (new MouseEvent { - X = 5, - Y = 5, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (5, 5), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Assert.Equal (win.Border, Application.MouseGrabView); top.SetNeedsLayout (); @@ -1369,11 +1355,11 @@ public class ToplevelTests Assert.Equal (new Rectangle (2, 2, 195, 95), win.Frame); Application.Refresh (); - Application.OnMouseEvent (new MouseEvent { X = 5, Y = 5, Flags = MouseFlags.Button1Released }); + Application.OnMouseEvent (new MouseEvent { Position = new (5, 5), Flags = MouseFlags.Button1Released }); // ScrollView always grab the mouse when the container's subview OnMouseEnter don't want grab the mouse Assert.Equal (scrollView, Application.MouseGrabView); - Application.OnMouseEvent (new MouseEvent { X = 4, Y = 4, Flags = MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new MouseEvent { Position = new (4, 4), Flags = MouseFlags.ReportMousePosition }); Assert.Equal (scrollView, Application.MouseGrabView); } @@ -1392,16 +1378,13 @@ public class ToplevelTests Assert.Null (Application.MouseGrabView); - Application.OnMouseEvent (new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Pressed }); + Application.OnMouseEvent (new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Pressed }); Assert.Equal (window.Border, Application.MouseGrabView); Application.OnMouseEvent (new MouseEvent { - X = -11, - Y = -4, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (-11, -4), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Application.Refresh (); @@ -1413,10 +1396,7 @@ public class ToplevelTests Application.OnMouseEvent (new MouseEvent { - X = -1, - Y = -1, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (-1, -1), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Application.Refresh (); @@ -1428,10 +1408,7 @@ public class ToplevelTests Application.OnMouseEvent (new MouseEvent { - X = -1, - Y = -1, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (-1, -1), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Application.Refresh (); @@ -1440,10 +1417,7 @@ public class ToplevelTests Application.OnMouseEvent (new MouseEvent { - X = 18, - Y = 1, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (18, 1), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Application.Refresh (); @@ -1453,10 +1427,7 @@ public class ToplevelTests // On a real app we can't go beyond the SuperView bounds Application.OnMouseEvent (new MouseEvent { - X = 19, - Y = 2, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (19, 2), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Application.Refresh (); @@ -1493,7 +1464,7 @@ public class ToplevelTests Assert.Null (Application.MouseGrabView); Assert.Equal (new Rectangle (0, 0, 10, 3), window.Frame); - Application.OnMouseEvent (new MouseEvent { X = 0, Y = 0, Flags = MouseFlags.Button1Pressed }); + Application.OnMouseEvent (new MouseEvent { Position = new (0, 0), Flags = MouseFlags.Button1Pressed }); var firstIteration = false; Application.RunIteration (ref rs, ref firstIteration); @@ -1503,10 +1474,7 @@ public class ToplevelTests Application.OnMouseEvent (new MouseEvent { - X = 1, - Y = 1, - Flags = MouseFlags.Button1Pressed - | MouseFlags.ReportMousePosition + Position = new (1, 1), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); firstIteration = false; @@ -1591,7 +1559,7 @@ public class ToplevelTests Assert.Equal (new Rectangle (2, 1, 15, 10), testWindow.Frame); - Application.OnMouseEvent (new () { X = 5, Y = 2, Flags = MouseFlags.Button1Clicked }); + Application.OnMouseEvent (new () { Position = new (5, 2), Flags = MouseFlags.Button1Clicked }); Application.Top.Draw (); var firstIteration = false; diff --git a/UnitTests/Views/TreeTableSourceTests.cs b/UnitTests/Views/TreeTableSourceTests.cs index c7a4b34d2..680bb30d2 100644 --- a/UnitTests/Views/TreeTableSourceTests.cs +++ b/UnitTests/Views/TreeTableSourceTests.cs @@ -108,7 +108,7 @@ public class TreeTableSourceTests : IDisposable Assert.Equal (0, tv.SelectedRow); Assert.Equal (0, tv.SelectedColumn); - Assert.True (tv.NewMouseEvent (new MouseEvent { X = 2, Y = 2, Flags = MouseFlags.Button1Clicked })); + Assert.True (tv.NewMouseEvent (new MouseEvent { Position = new (2, 2), Flags = MouseFlags.Button1Clicked })); tv.Draw (); @@ -125,15 +125,15 @@ public class TreeTableSourceTests : IDisposable TestHelpers.AssertDriverContentsAre (expected, _output); // Clicking to the right/left of the expand/collapse does nothing - tv.NewMouseEvent (new MouseEvent { X = 3, Y = 2, Flags = MouseFlags.Button1Clicked }); + tv.NewMouseEvent (new MouseEvent { Position = new (3, 2), Flags = MouseFlags.Button1Clicked }); tv.Draw (); TestHelpers.AssertDriverContentsAre (expected, _output); - tv.NewMouseEvent (new MouseEvent { X = 1, Y = 2, Flags = MouseFlags.Button1Clicked }); + tv.NewMouseEvent (new MouseEvent { Position = new (1, 2), Flags = MouseFlags.Button1Clicked }); tv.Draw (); TestHelpers.AssertDriverContentsAre (expected, _output); // Clicking on the + again should collapse - tv.NewMouseEvent (new MouseEvent { X = 2, Y = 2, Flags = MouseFlags.Button1Clicked }); + tv.NewMouseEvent (new MouseEvent { Position = new (2, 2), Flags = MouseFlags.Button1Clicked }); tv.Draw (); expected = diff --git a/UnitTests/Views/TreeViewTests.cs b/UnitTests/Views/TreeViewTests.cs index a587f7b49..861256d2b 100644 --- a/UnitTests/Views/TreeViewTests.cs +++ b/UnitTests/Views/TreeViewTests.cs @@ -453,7 +453,7 @@ public class TreeViewTests Assert.False (called); // double click triggers activation - tree.NewMouseEvent (new MouseEvent { Y = 0, Flags = MouseFlags.Button1DoubleClicked }); + tree.NewMouseEvent (new MouseEvent { Flags = MouseFlags.Button1DoubleClicked }); Assert.True (called); Assert.Same (f, activated); @@ -485,12 +485,12 @@ public class TreeViewTests Assert.False (called); // double click does nothing because we changed button binding to right click - tree.NewMouseEvent (new MouseEvent { Y = 1, Flags = MouseFlags.Button1DoubleClicked }); + tree.NewMouseEvent (new MouseEvent { Position = new (0, 1), Flags = MouseFlags.Button1DoubleClicked }); Assert.Null (activated); Assert.False (called); - tree.NewMouseEvent (new MouseEvent { Y = 1, Flags = MouseFlags.Button2Clicked }); + tree.NewMouseEvent (new MouseEvent { Position = new (0, 1), Flags = MouseFlags.Button2Clicked }); Assert.True (called); Assert.Same (car1, activated); @@ -522,7 +522,7 @@ public class TreeViewTests Assert.False (called); // double click does nothing because we changed button to null - tree.NewMouseEvent (new MouseEvent { Y = 0, Flags = MouseFlags.Button1DoubleClicked }); + tree.NewMouseEvent (new MouseEvent { Flags = MouseFlags.Button1DoubleClicked }); Assert.False (called); Assert.Null (activated);