Browse Source

Rename PointerEnter to PointerEntered

pull/8396/head
robloo 4 years ago
parent
commit
8a0903f616
  1. 2
      src/Avalonia.Base/Input/IInputElement.cs
  2. 34
      src/Avalonia.Base/Input/InputElement.cs
  3. 2
      src/Avalonia.Base/Input/PointerOverPreProcessor.cs
  4. 8
      src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.cs
  5. 4
      src/Avalonia.Controls.DataGrid/DataGridCell.cs
  6. 8
      src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs
  7. 4
      src/Avalonia.Controls.DataGrid/DataGridRow.cs
  8. 4
      src/Avalonia.Controls.DataGrid/DataGridRowGroupHeader.cs
  9. 4
      src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs
  10. 12
      src/Avalonia.Controls/Calendar/CalendarItem.cs
  11. 4
      src/Avalonia.Controls/GridSplitter.cs
  12. 20
      src/Avalonia.Controls/MenuItem.cs
  13. 10
      src/Avalonia.Controls/Platform/DefaultMenuInteractionHandler.cs
  14. 4
      src/Avalonia.Controls/Primitives/ScrollBar.cs
  15. 6
      src/Avalonia.Controls/ToolTipService.cs
  16. 2
      src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml.cs
  17. 50
      tests/Avalonia.Base.UnitTests/Input/PointerOverTests.cs
  18. 8
      tests/Avalonia.Controls.UnitTests/ButtonTests.cs
  19. 30
      tests/Avalonia.Controls.UnitTests/Platform/DefaultMenuInteractionHandlerTests.cs
  20. 2
      tests/Avalonia.UnitTests/MouseTestHelper.cs

2
src/Avalonia.Base/Input/IInputElement.cs

@ -42,7 +42,7 @@ namespace Avalonia.Input
/// <summary>
/// Occurs when the pointer enters the control.
/// </summary>
event EventHandler<PointerEventArgs>? PointerEnter;
event EventHandler<PointerEventArgs>? PointerEntered;
/// <summary>
/// Occurs when the pointer leaves the control.

34
src/Avalonia.Base/Input/InputElement.cs

@ -128,16 +128,20 @@ namespace Avalonia.Input
RoutingStrategies.Tunnel | RoutingStrategies.Bubble);
/// <summary>
/// Defines the <see cref="PointerEnter"/> event.
/// Defines the <see cref="PointerEntered"/> event.
/// </summary>
public static readonly RoutedEvent<PointerEventArgs> PointerEnterEvent =
RoutedEvent.Register<InputElement, PointerEventArgs>(nameof(PointerEnter), RoutingStrategies.Direct);
public static readonly RoutedEvent<PointerEventArgs> PointerEnteredEvent =
RoutedEvent.Register<InputElement, PointerEventArgs>(
nameof(PointerEntered),
RoutingStrategies.Direct);
/// <summary>
/// Defines the <see cref="PointerLeave"/> event.
/// </summary>
public static readonly RoutedEvent<PointerEventArgs> PointerLeaveEvent =
RoutedEvent.Register<InputElement, PointerEventArgs>(nameof(PointerLeave), RoutingStrategies.Direct);
RoutedEvent.Register<InputElement, PointerEventArgs>(
nameof(PointerLeave),
RoutingStrategies.Direct);
/// <summary>
/// Defines the <see cref="PointerMoved"/> event.
@ -208,7 +212,7 @@ namespace Avalonia.Input
KeyDownEvent.AddClassHandler<InputElement>((x, e) => x.OnKeyDown(e));
KeyUpEvent.AddClassHandler<InputElement>((x, e) => x.OnKeyUp(e));
TextInputEvent.AddClassHandler<InputElement>((x, e) => x.OnTextInput(e));
PointerEnterEvent.AddClassHandler<InputElement>((x, e) => x.OnPointerEnterCore(e));
PointerEnteredEvent.AddClassHandler<InputElement>((x, e) => x.OnPointerEnterCore(e));
PointerLeaveEvent.AddClassHandler<InputElement>((x, e) => x.OnPointerLeaveCore(e));
PointerMovedEvent.AddClassHandler<InputElement>((x, e) => x.OnPointerMoved(e));
PointerPressedEvent.AddClassHandler<InputElement>((x, e) => x.OnPointerPressed(e));
@ -279,10 +283,10 @@ namespace Avalonia.Input
/// <summary>
/// Occurs when the pointer enters the control.
/// </summary>
public event EventHandler<PointerEventArgs>? PointerEnter
public event EventHandler<PointerEventArgs>? PointerEntered
{
add { AddHandler(PointerEnterEvent, value); }
remove { RemoveHandler(PointerEnterEvent, value); }
add { AddHandler(PointerEnteredEvent, value); }
remove { RemoveHandler(PointerEnteredEvent, value); }
}
/// <summary>
@ -539,10 +543,10 @@ namespace Avalonia.Input
}
/// <summary>
/// Called before the <see cref="PointerEnter"/> event occurs.
/// Called before the <see cref="PointerEntered"/> event occurs.
/// </summary>
/// <param name="e">The event args.</param>
protected virtual void OnPointerEnter(PointerEventArgs e)
protected virtual void OnPointerEntered(PointerEventArgs e)
{
}
@ -561,7 +565,9 @@ namespace Avalonia.Input
protected virtual void OnPointerMoved(PointerEventArgs e)
{
if (_gestureRecognizers?.HandlePointerMoved(e) == true)
{
e.Handled = true;
}
}
/// <summary>
@ -571,7 +577,9 @@ namespace Avalonia.Input
protected virtual void OnPointerPressed(PointerPressedEventArgs e)
{
if (_gestureRecognizers?.HandlePointerPressed(e) == true)
{
e.Handled = true;
}
}
/// <summary>
@ -581,7 +589,9 @@ namespace Avalonia.Input
protected virtual void OnPointerReleased(PointerReleasedEventArgs e)
{
if (_gestureRecognizers?.HandlePointerReleased(e) == true)
{
e.Handled = true;
}
}
/// <summary>
@ -634,13 +644,13 @@ namespace Avalonia.Input
}
/// <summary>
/// Called before the <see cref="PointerEnter"/> event occurs.
/// Called before the <see cref="PointerEntered"/> event occurs.
/// </summary>
/// <param name="e">The event args.</param>
private void OnPointerEnterCore(PointerEventArgs e)
{
IsPointerOver = true;
OnPointerEnter(e);
OnPointerEntered(e);
}
/// <summary>

2
src/Avalonia.Base/Input/PointerOverPreProcessor.cs

@ -195,7 +195,7 @@ namespace Avalonia.Input
el = root.PointerOverElement = element;
_lastPointer = (pointer, root.PointToScreen(position));
e.RoutedEvent = InputElement.PointerEnterEvent;
e.RoutedEvent = InputElement.PointerEnteredEvent;
while (el != null && el != branch)
{

8
src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.cs

@ -128,7 +128,7 @@ namespace Avalonia.Controls.Primitives
if (_inputTarget != null)
{
_inputTarget.PointerEnter += InputTarget_PointerEnter;
_inputTarget.PointerEntered += InputTarget_PointerEntered;
_inputTarget.PointerLeave += InputTarget_PointerLeave;
_inputTarget.PointerPressed += InputTarget_PointerPressed;
_inputTarget.PointerMoved += InputTarget_PointerMoved;
@ -194,7 +194,7 @@ namespace Avalonia.Controls.Primitives
if (_inputTarget != null)
{
_inputTarget.PointerEnter -= InputTarget_PointerEnter;
_inputTarget.PointerEntered -= InputTarget_PointerEntered;
_inputTarget.PointerLeave -= InputTarget_PointerLeave;
_inputTarget.PointerPressed -= InputTarget_PointerPressed;
_inputTarget.PointerMoved -= InputTarget_PointerMoved;
@ -848,8 +848,8 @@ namespace Avalonia.Controls.Primitives
UpdatePseudoClasses();
}
/// <inheritdoc cref="InputElement.PointerEnter"/>
private void InputTarget_PointerEnter(object? sender, PointerEventArgs args)
/// <inheritdoc cref="InputElement.PointerEntered"/>
private void InputTarget_PointerEntered(object? sender, PointerEventArgs args)
{
_isPointerOver = true;
UpdatePseudoClasses();

4
src/Avalonia.Controls.DataGrid/DataGridCell.cs

@ -139,9 +139,9 @@ namespace Avalonia.Controls
}
}
protected override void OnPointerEnter(PointerEventArgs e)
protected override void OnPointerEntered(PointerEventArgs e)
{
base.OnPointerEnter(e);
base.OnPointerEntered(e);
if (OwningRow != null)
{

8
src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs

@ -83,8 +83,8 @@ namespace Avalonia.Controls
{
PointerPressed += DataGridColumnHeader_PointerPressed;
PointerReleased += DataGridColumnHeader_PointerReleased;
PointerMoved += DataGridColumnHeader_PointerMove;
PointerEnter += DataGridColumnHeader_PointerEnter;
PointerMoved += DataGridColumnHeader_PointerMoved;
PointerEntered += DataGridColumnHeader_PointerEntered;
PointerLeave += DataGridColumnHeader_PointerLeave;
}
@ -452,7 +452,7 @@ namespace Avalonia.Controls
SetDragCursor(mousePosition);
}
private void DataGridColumnHeader_PointerEnter(object sender, PointerEventArgs e)
private void DataGridColumnHeader_PointerEntered(object sender, PointerEventArgs e)
{
if (!IsEnabled)
{
@ -506,7 +506,7 @@ namespace Avalonia.Controls
UpdatePseudoClasses();
}
private void DataGridColumnHeader_PointerMove(object sender, PointerEventArgs e)
private void DataGridColumnHeader_PointerMoved(object sender, PointerEventArgs e)
{
if (OwningGrid == null || !IsEnabled)
{

4
src/Avalonia.Controls.DataGrid/DataGridRow.cs

@ -607,9 +607,9 @@ namespace Avalonia.Controls
}
}
protected override void OnPointerEnter(PointerEventArgs e)
protected override void OnPointerEntered(PointerEventArgs e)
{
base.OnPointerEnter(e);
base.OnPointerEntered(e);
IsMouseOver = true;
}
protected override void OnPointerLeave(PointerEventArgs e)

4
src/Avalonia.Controls.DataGrid/DataGridRowGroupHeader.cs

@ -375,7 +375,7 @@ namespace Avalonia.Controls
ApplyHeaderStatus();
}
protected override void OnPointerEnter(PointerEventArgs e)
protected override void OnPointerEntered(PointerEventArgs e)
{
if (IsEnabled)
{
@ -383,7 +383,7 @@ namespace Avalonia.Controls
UpdatePseudoClasses();
}
base.OnPointerEnter(e);
base.OnPointerEntered(e);
}
protected override void OnPointerLeave(PointerEventArgs e)

4
src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs

@ -158,14 +158,14 @@ namespace Avalonia.Controls.Primitives
}
}
protected override void OnPointerEnter(PointerEventArgs e)
protected override void OnPointerEntered(PointerEventArgs e)
{
if (OwningRow != null)
{
OwningRow.IsMouseOver = true;
}
base.OnPointerEnter(e);
base.OnPointerEntered(e);
}
protected override void OnPointerLeave(PointerEventArgs e)
{

12
src/Avalonia.Controls/Calendar/CalendarItem.cs

@ -189,7 +189,7 @@ namespace Avalonia.Controls.Primitives
EventHandler<PointerPressedEventArgs> cellMouseLeftButtonDown = Cell_MouseLeftButtonDown;
EventHandler<PointerReleasedEventArgs> cellMouseLeftButtonUp = Cell_MouseLeftButtonUp;
EventHandler<PointerEventArgs> cellMouseEnter = Cell_MouseEnter;
EventHandler<PointerEventArgs> cellMouseEntered = Cell_MouseEntered;
EventHandler<RoutedEventArgs> cellClick = Cell_Click;
for (int i = 1; i < Calendar.RowsPerMonth; i++)
@ -206,7 +206,7 @@ namespace Avalonia.Controls.Primitives
cell.SetValue(Grid.ColumnProperty, j);
cell.CalendarDayButtonMouseDown += cellMouseLeftButtonDown;
cell.CalendarDayButtonMouseUp += cellMouseLeftButtonUp;
cell.PointerEnter += cellMouseEnter;
cell.PointerEntered += cellMouseEntered;
cell.Click += cellClick;
children.Add(cell);
}
@ -222,7 +222,7 @@ namespace Avalonia.Controls.Primitives
EventHandler<PointerPressedEventArgs> monthCalendarButtonMouseDown = Month_CalendarButtonMouseDown;
EventHandler<PointerReleasedEventArgs> monthCalendarButtonMouseUp = Month_CalendarButtonMouseUp;
EventHandler<PointerEventArgs> monthMouseEnter = Month_MouseEnter;
EventHandler<PointerEventArgs> monthMouseEntered = Month_MouseEntered;
for (int i = 0; i < Calendar.RowsPerYear; i++)
{
@ -238,7 +238,7 @@ namespace Avalonia.Controls.Primitives
month.SetValue(Grid.ColumnProperty, j);
month.CalendarLeftMouseButtonDown += monthCalendarButtonMouseDown;
month.CalendarLeftMouseButtonUp += monthCalendarButtonMouseUp;
month.PointerEnter += monthMouseEnter;
month.PointerEntered += monthMouseEntered;
children.Add(month);
}
}
@ -876,7 +876,7 @@ namespace Avalonia.Controls.Primitives
}
}
internal void Cell_MouseEnter(object? sender, PointerEventArgs e)
internal void Cell_MouseEntered(object? sender, PointerEventArgs e)
{
if (Owner != null)
{
@ -1162,7 +1162,7 @@ namespace Avalonia.Controls.Primitives
}
}
private void Month_MouseEnter(object? sender, PointerEventArgs e)
private void Month_MouseEntered(object? sender, PointerEventArgs e)
{
if (_isMouseLeftButtonDownYearView)
{

4
src/Avalonia.Controls/GridSplitter.cs

@ -349,9 +349,9 @@ namespace Avalonia.Controls
}
}
protected override void OnPointerEnter(PointerEventArgs e)
protected override void OnPointerEntered(PointerEventArgs e)
{
base.OnPointerEnter(e);
base.OnPointerEntered(e);
GridResizeDirection direction = GetEffectiveResizeDirection();

20
src/Avalonia.Controls/MenuItem.cs

@ -82,10 +82,10 @@ namespace Avalonia.Controls
RoutedEvent.Register<MenuItem, RoutedEventArgs>(nameof(Click), RoutingStrategies.Bubble);
/// <summary>
/// Defines the <see cref="PointerEnterItem"/> event.
/// Defines the <see cref="PointerEnteredItem"/> event.
/// </summary>
public static readonly RoutedEvent<PointerEventArgs> PointerEnterItemEvent =
RoutedEvent.Register<MenuItem, PointerEventArgs>(nameof(PointerEnterItem), RoutingStrategies.Bubble);
public static readonly RoutedEvent<PointerEventArgs> PointerEnteredItemEvent =
RoutedEvent.Register<MenuItem, PointerEventArgs>(nameof(PointerEnteredItem), RoutingStrategies.Bubble);
/// <summary>
/// Defines the <see cref="PointerLeaveItem"/> event.
@ -174,12 +174,12 @@ namespace Avalonia.Controls
/// Occurs when the pointer enters a menu item.
/// </summary>
/// <remarks>
/// A bubbling version of the <see cref="InputElement.PointerEnter"/> event for menu items.
/// A bubbling version of the <see cref="InputElement.PointerEntered"/> event for menu items.
/// </remarks>
public event EventHandler<PointerEventArgs>? PointerEnterItem
public event EventHandler<PointerEventArgs>? PointerEnteredItem
{
add { AddHandler(PointerEnterItemEvent, value); }
remove { RemoveHandler(PointerEnterItemEvent, value); }
add { AddHandler(PointerEnteredItemEvent, value); }
remove { RemoveHandler(PointerEnteredItemEvent, value); }
}
/// <summary>
@ -437,12 +437,12 @@ namespace Avalonia.Controls
}
/// <inheritdoc/>
protected override void OnPointerEnter(PointerEventArgs e)
protected override void OnPointerEntered(PointerEventArgs e)
{
base.OnPointerEnter(e);
base.OnPointerEntered(e);
var point = e.GetCurrentPoint(null);
RaiseEvent(new PointerEventArgs(PointerEnterItemEvent, this, e.Pointer, this.VisualRoot, point.Position,
RaiseEvent(new PointerEventArgs(PointerEnteredItemEvent, this, e.Pointer, this.VisualRoot, point.Position,
e.Timestamp, point.Properties, e.KeyModifiers));
}

10
src/Avalonia.Controls/Platform/DefaultMenuInteractionHandler.cs

@ -53,8 +53,8 @@ namespace Avalonia.Controls.Platform
Menu.PointerPressed += PointerPressed;
Menu.PointerReleased += PointerReleased;
Menu.AddHandler(AccessKeyHandler.AccessKeyPressedEvent, AccessKeyPressed);
Menu.AddHandler(Avalonia.Controls.Menu.MenuOpenedEvent, this.MenuOpened);
Menu.AddHandler(MenuItem.PointerEnterItemEvent, PointerEnter);
Menu.AddHandler(Avalonia.Controls.Menu.MenuOpenedEvent, MenuOpened);
Menu.AddHandler(MenuItem.PointerEnteredItemEvent, PointerEntered);
Menu.AddHandler(MenuItem.PointerLeaveItemEvent, PointerLeave);
Menu.AddHandler(InputElement.PointerMovedEvent, PointerMoved);
@ -89,8 +89,8 @@ namespace Avalonia.Controls.Platform
Menu.PointerPressed -= PointerPressed;
Menu.PointerReleased -= PointerReleased;
Menu.RemoveHandler(AccessKeyHandler.AccessKeyPressedEvent, AccessKeyPressed);
Menu.RemoveHandler(Avalonia.Controls.Menu.MenuOpenedEvent, this.MenuOpened);
Menu.RemoveHandler(MenuItem.PointerEnterItemEvent, PointerEnter);
Menu.RemoveHandler(Avalonia.Controls.Menu.MenuOpenedEvent, MenuOpened);
Menu.RemoveHandler(MenuItem.PointerEnteredItemEvent, PointerEntered);
Menu.RemoveHandler(MenuItem.PointerLeaveItemEvent, PointerLeave);
Menu.RemoveHandler(InputElement.PointerMovedEvent, PointerMoved);
@ -297,7 +297,7 @@ namespace Avalonia.Controls.Platform
e.Handled = true;
}
protected internal virtual void PointerEnter(object? sender, PointerEventArgs e)
protected internal virtual void PointerEntered(object? sender, PointerEventArgs e)
{
var item = GetMenuItem(e.Source as IControl);

4
src/Avalonia.Controls/Primitives/ScrollBar.cs

@ -218,9 +218,9 @@ namespace Avalonia.Controls.Primitives
}
}
protected override void OnPointerEnter(PointerEventArgs e)
protected override void OnPointerEntered(PointerEventArgs e)
{
base.OnPointerEnter(e);
base.OnPointerEntered(e);
if (AllowAutoHide)
{

6
src/Avalonia.Controls/ToolTipService.cs

@ -26,13 +26,13 @@ namespace Avalonia.Controls
if (e.OldValue != null)
{
control.PointerEnter -= ControlPointerEnter;
control.PointerEntered -= ControlPointerEntered;
control.PointerLeave -= ControlPointerLeave;
}
if (e.NewValue != null)
{
control.PointerEnter += ControlPointerEnter;
control.PointerEntered += ControlPointerEntered;
control.PointerLeave += ControlPointerLeave;
}
@ -80,7 +80,7 @@ namespace Avalonia.Controls
/// </summary>
/// <param name="sender">The event sender.</param>
/// <param name="e">The event args.</param>
private void ControlPointerEnter(object? sender, PointerEventArgs e)
private void ControlPointerEntered(object? sender, PointerEventArgs e)
{
StopTimer();

2
src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml.cs

@ -121,7 +121,7 @@ namespace Avalonia.Diagnostics.Views
if (header != null)
{
header.PointerEnter += AddAdorner;
header.PointerEntered += AddAdorner;
header.PointerLeave += RemoveAdorner;
}

50
tests/Avalonia.Base.UnitTests/Input/PointerOverTests.cs

@ -189,7 +189,7 @@ namespace Avalonia.Base.UnitTests.Input
// Ensure that e.Handled is reset between controls.
root.PointerMoved += (s, e) => e.Handled = true;
decorator.PointerEnter += (s, e) => e.Handled = true;
decorator.PointerEntered += (s, e) => e.Handled = true;
SetHit(renderer, decorator);
impl.Object.Input!(CreateRawPointerMovedArgs(device, root));
@ -231,7 +231,7 @@ namespace Avalonia.Base.UnitTests.Input
}
});
AddEnterLeaveHandlers(HandleEvent, canvas, decorator);
AddEnteredExitedHandlers(HandleEvent, canvas, decorator);
// Enter decorator
SetHit(renderer, decorator);
@ -246,17 +246,17 @@ namespace Avalonia.Base.UnitTests.Input
Assert.Equal(
new[]
{
((object?)decorator, "PointerEnter"),
(decorator, "PointerMoved"),
(decorator, "PointerLeave"),
(canvas, "PointerEnter"),
(canvas, "PointerMoved")
((object?)decorator, nameof(InputElement.PointerEntered)),
(decorator, nameof(InputElement.PointerMoved)),
(decorator, nameof(InputElement.PointerLeave)),
(canvas, nameof(InputElement.PointerEntered)),
(canvas, nameof(InputElement.PointerMoved))
},
result);
}
[Fact]
public void PointerEnter_Leave_Should_Be_Raised_In_Correct_Order()
public void PointerEntered_Exited_Should_Be_Raised_In_Correct_Order()
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
@ -289,7 +289,7 @@ namespace Avalonia.Base.UnitTests.Input
SetHit(renderer, canvas);
impl.Object.Input!(CreateRawPointerMovedArgs(deviceMock.Object, root));
AddEnterLeaveHandlers(HandleEvent, root, canvas, border, decorator);
AddEnteredExitedHandlers(HandleEvent, root, canvas, border, decorator);
SetHit(renderer, decorator);
impl.Object.Input!(CreateRawPointerMovedArgs(deviceMock.Object, root));
@ -297,16 +297,16 @@ namespace Avalonia.Base.UnitTests.Input
Assert.Equal(
new[]
{
((object?)canvas, "PointerLeave"),
(decorator, "PointerEnter"),
(border, "PointerEnter"),
((object?)canvas, nameof(InputElement.PointerLeave)),
(decorator, nameof(InputElement.PointerEntered)),
(border, nameof(InputElement.PointerEntered)),
},
result);
}
// https://github.com/AvaloniaUI/Avalonia/issues/7896
[Fact]
public void PointerEnter_Leave_Should_Set_Correct_Position()
public void PointerEntered_Exited_Should_Set_Correct_Position()
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
@ -331,7 +331,7 @@ namespace Avalonia.Base.UnitTests.Input
}
});
AddEnterLeaveHandlers(HandleEvent, root, canvas);
AddEnteredExitedHandlers(HandleEvent, root, canvas);
SetHit(renderer, canvas);
impl.Object.Input!(CreateRawPointerMovedArgs(deviceMock.Object, root, expectedPosition));
@ -342,10 +342,10 @@ namespace Avalonia.Base.UnitTests.Input
Assert.Equal(
new[]
{
((object?)canvas, "PointerEnter", expectedPosition),
(root, "PointerEnter", expectedPosition),
(canvas, "PointerLeave", expectedPosition),
(root, "PointerLeave", expectedPosition)
((object?)canvas, nameof(InputElement.PointerEntered), expectedPosition),
(root, nameof(InputElement.PointerEntered), expectedPosition),
(canvas, nameof(InputElement.PointerLeave), expectedPosition),
(root, nameof(InputElement.PointerLeave), expectedPosition)
},
result);
}
@ -415,7 +415,7 @@ namespace Avalonia.Base.UnitTests.Input
}
});
AddEnterLeaveHandlers(HandleEvent, root, canvas);
AddEnteredExitedHandlers(HandleEvent, root, canvas);
// Init pointer over.
SetHit(renderer, canvas);
@ -429,21 +429,21 @@ namespace Avalonia.Base.UnitTests.Input
Assert.Equal(
new[]
{
((object?)canvas, "PointerEnter", lastClientPosition),
(root, "PointerEnter", lastClientPosition),
(canvas, "PointerLeave", lastClientPosition),
(root, "PointerLeave", lastClientPosition),
((object?)canvas, nameof(InputElement.PointerEntered), lastClientPosition),
(root, nameof(InputElement.PointerEntered), lastClientPosition),
(canvas, nameof(InputElement.PointerLeave), lastClientPosition),
(root, nameof(InputElement.PointerLeave), lastClientPosition),
},
result);
}
private static void AddEnterLeaveHandlers(
private static void AddEnteredExitedHandlers(
EventHandler<PointerEventArgs> handler,
params IInputElement[] controls)
{
foreach (var c in controls)
{
c.PointerEnter += handler;
c.PointerEntered += handler;
c.PointerLeave += handler;
c.PointerMoved += handler;
}

8
tests/Avalonia.Controls.UnitTests/ButtonTests.cs

@ -150,7 +150,7 @@ namespace Avalonia.Controls.UnitTests
target.Click += (s, e) => clicked = true;
RaisePointerEnter(target);
RaisePointerEntered(target);
RaisePointerMove(target, pt);
RaisePointerPressed(target, 1, MouseButton.Left, pt);
@ -182,7 +182,7 @@ namespace Avalonia.Controls.UnitTests
target.Click += (s, e) => clicked = true;
RaisePointerEnter(target);
RaisePointerEntered(target);
RaisePointerMove(target, new Point(50,50));
RaisePointerPressed(target, 1, MouseButton.Left, new Point(50, 50));
RaisePointerLeave(target);
@ -224,7 +224,7 @@ namespace Avalonia.Controls.UnitTests
target.Click += (s, e) => clicked = true;
RaisePointerEnter(target);
RaisePointerEntered(target);
RaisePointerMove(target, pt);
RaisePointerPressed(target, 1, MouseButton.Left, pt);
@ -422,7 +422,7 @@ namespace Avalonia.Controls.UnitTests
_helper.Up(button, mouseButton, pt);
}
private void RaisePointerEnter(Button button)
private void RaisePointerEntered(Button button)
{
_helper.Enter(button);
}

30
tests/Avalonia.Controls.UnitTests/Platform/DefaultMenuInteractionHandlerTests.cs

@ -174,7 +174,7 @@ namespace Avalonia.Controls.UnitTests.Platform
}
[Fact]
public void PointerEnter_Opens_Item_When_Old_Item_Is_Open()
public void PointerEntered_Opens_Item_When_Old_Item_Is_Open()
{
var target = new DefaultMenuInteractionHandler(false);
var menu = new Mock<IMenu>();
@ -187,11 +187,11 @@ namespace Avalonia.Controls.UnitTests.Platform
x.IsTopLevel == true &&
x.HasSubMenu == true &&
x.Parent == menu.Object);
var e = CreateArgs(MenuItem.PointerEnterItemEvent, nextItem);
var e = CreateArgs(MenuItem.PointerEnteredItemEvent, nextItem);
menu.SetupGet(x => x.SelectedItem).Returns(item);
target.PointerEnter(nextItem, e);
target.PointerEntered(nextItem, e);
Mock.Get(item).Verify(x => x.Close());
menu.VerifySet(x => x.SelectedItem = nextItem);
@ -382,31 +382,31 @@ namespace Avalonia.Controls.UnitTests.Platform
}
[Fact]
public void PointerEnter_Selects_Item()
public void PointerEntered_Selects_Item()
{
var target = new DefaultMenuInteractionHandler(false);
var menu = Mock.Of<IMenu>();
var parentItem = Mock.Of<IMenuItem>(x => x.IsTopLevel == true && x.HasSubMenu == true && x.Parent == menu);
var item = Mock.Of<IMenuItem>(x => x.Parent == parentItem);
var e = CreateArgs(MenuItem.PointerEnterItemEvent, item);
var e = CreateArgs(MenuItem.PointerEnteredItemEvent, item);
target.PointerEnter(item, e);
target.PointerEntered(item, e);
Mock.Get(parentItem).VerifySet(x => x.SelectedItem = item);
Assert.False(e.Handled);
}
[Fact]
public void PointerEnter_Opens_Submenu_After_Delay()
public void PointerEntered_Opens_Submenu_After_Delay()
{
var timer = new TestTimer();
var target = new DefaultMenuInteractionHandler(false, null, timer.RunOnce);
var menu = Mock.Of<IMenu>();
var parentItem = Mock.Of<IMenuItem>(x => x.IsTopLevel == true && x.HasSubMenu == true && x.Parent == menu);
var item = Mock.Of<IMenuItem>(x => x.Parent == parentItem && x.HasSubMenu == true);
var e = CreateArgs(MenuItem.PointerEnterItemEvent, item);
var e = CreateArgs(MenuItem.PointerEnteredItemEvent, item);
target.PointerEnter(item, e);
target.PointerEntered(item, e);
Mock.Get(item).Verify(x => x.Open(), Times.Never);
timer.Pulse();
@ -416,7 +416,7 @@ namespace Avalonia.Controls.UnitTests.Platform
}
[Fact]
public void PointerEnter_Closes_Sibling_Submenu_After_Delay()
public void PointerEntered_Closes_Sibling_Submenu_After_Delay()
{
var timer = new TestTimer();
var target = new DefaultMenuInteractionHandler(false, null, timer.RunOnce);
@ -424,11 +424,11 @@ namespace Avalonia.Controls.UnitTests.Platform
var parentItem = Mock.Of<IMenuItem>(x => x.IsTopLevel == true && x.HasSubMenu == true && x.Parent == menu);
var item = Mock.Of<IMenuItem>(x => x.Parent == parentItem);
var sibling = Mock.Of<IMenuItem>(x => x.Parent == parentItem && x.HasSubMenu == true && x.IsSubMenuOpen == true);
var e = CreateArgs(MenuItem.PointerEnterItemEvent, item);
var e = CreateArgs(MenuItem.PointerEnteredItemEvent, item);
Mock.Get(parentItem).SetupGet(x => x.SubItems).Returns(new[] { item, sibling });
target.PointerEnter(item, e);
target.PointerEntered(item, e);
Mock.Get(sibling).Verify(x => x.Close(), Times.Never);
timer.Pulse();
@ -510,11 +510,11 @@ namespace Avalonia.Controls.UnitTests.Platform
var parentItem = Mock.Of<IMenuItem>(x => x.IsTopLevel == true && x.HasSubMenu == true && x.Parent == menu);
var item = Mock.Of<IMenuItem>(x => x.Parent == parentItem && x.HasSubMenu == true);
var childItem = Mock.Of<IMenuItem>(x => x.Parent == item);
var enter = CreateArgs(MenuItem.PointerEnterItemEvent, item);
var enter = CreateArgs(MenuItem.PointerEnteredItemEvent, item);
var leave = CreateArgs(MenuItem.PointerLeaveItemEvent, item);
// Pointer enters item; item is selected.
target.PointerEnter(item, enter);
target.PointerEntered(item, enter);
Assert.True(timer.ActionIsQueued);
Mock.Get(parentItem).VerifySet(x => x.SelectedItem = item);
Mock.Get(parentItem).Invocations.Clear();
@ -532,7 +532,7 @@ namespace Avalonia.Controls.UnitTests.Platform
// Pointer enters child item; is selected.
enter.Source = childItem;
target.PointerEnter(childItem, enter);
target.PointerEntered(childItem, enter);
Mock.Get(item).VerifySet(x => x.SelectedItem = childItem);
Mock.Get(parentItem).VerifySet(x => x.SelectedItem = item);
Mock.Get(item).Invocations.Clear();

2
tests/Avalonia.UnitTests/MouseTestHelper.cs

@ -107,7 +107,7 @@ namespace Avalonia.UnitTests
public void Enter(IInteractive target)
{
target.RaiseEvent(new PointerEventArgs(InputElement.PointerEnterEvent, target, _pointer, (IVisual)target, default,
target.RaiseEvent(new PointerEventArgs(InputElement.PointerEnteredEvent, target, _pointer, (IVisual)target, default,
Timestamp(), new PointerPointProperties((RawInputModifiers)_pressedButtons, PointerUpdateKind.Other), KeyModifiers.None));
}

Loading…
Cancel
Save