diff --git a/src/Avalonia.Base/Input/IInputElement.cs b/src/Avalonia.Base/Input/IInputElement.cs index 78001143d73..43ac87d008d 100644 --- a/src/Avalonia.Base/Input/IInputElement.cs +++ b/src/Avalonia.Base/Input/IInputElement.cs @@ -42,12 +42,12 @@ public interface IInputElement : IInteractive, IVisual /// /// Occurs when the pointer enters the control. /// - event EventHandler? PointerEnter; + event EventHandler? PointerEntered; /// /// Occurs when the pointer leaves the control. /// - event EventHandler? PointerLeave; + event EventHandler? PointerExited; /// /// Occurs when the pointer is pressed over the control. diff --git a/src/Avalonia.Base/Input/InputElement.cs b/src/Avalonia.Base/Input/InputElement.cs index f4e25ebada9..d0130258c35 100644 --- a/src/Avalonia.Base/Input/InputElement.cs +++ b/src/Avalonia.Base/Input/InputElement.cs @@ -128,16 +128,20 @@ public class InputElement : Interactive, IInputElement RoutingStrategies.Tunnel | RoutingStrategies.Bubble); /// - /// Defines the event. + /// Defines the event. /// - public static readonly RoutedEvent PointerEnterEvent = - RoutedEvent.Register(nameof(PointerEnter), RoutingStrategies.Direct); + public static readonly RoutedEvent PointerEnteredEvent = + RoutedEvent.Register( + nameof(PointerEntered), + RoutingStrategies.Direct); /// - /// Defines the event. + /// Defines the event. /// - public static readonly RoutedEvent PointerLeaveEvent = - RoutedEvent.Register(nameof(PointerLeave), RoutingStrategies.Direct); + public static readonly RoutedEvent PointerExitedEvent = + RoutedEvent.Register( + nameof(PointerExited), + RoutingStrategies.Direct); /// /// Defines the event. @@ -208,8 +212,8 @@ static InputElement() KeyDownEvent.AddClassHandler((x, e) => x.OnKeyDown(e)); KeyUpEvent.AddClassHandler((x, e) => x.OnKeyUp(e)); TextInputEvent.AddClassHandler((x, e) => x.OnTextInput(e)); - PointerEnterEvent.AddClassHandler((x, e) => x.OnPointerEnterCore(e)); - PointerLeaveEvent.AddClassHandler((x, e) => x.OnPointerLeaveCore(e)); + PointerEnteredEvent.AddClassHandler((x, e) => x.OnPointerEnteredCore(e)); + PointerExitedEvent.AddClassHandler((x, e) => x.OnPointerExitedCore(e)); PointerMovedEvent.AddClassHandler((x, e) => x.OnPointerMoved(e)); PointerPressedEvent.AddClassHandler((x, e) => x.OnPointerPressed(e)); PointerReleasedEvent.AddClassHandler((x, e) => x.OnPointerReleased(e)); @@ -279,19 +283,19 @@ public event EventHandler? TextInputMet /// /// Occurs when the pointer enters the control. /// - public event EventHandler? PointerEnter + public event EventHandler? PointerEntered { - add { AddHandler(PointerEnterEvent, value); } - remove { RemoveHandler(PointerEnterEvent, value); } + add { AddHandler(PointerEnteredEvent, value); } + remove { RemoveHandler(PointerEnteredEvent, value); } } /// /// Occurs when the pointer leaves the control. /// - public event EventHandler? PointerLeave + public event EventHandler? PointerExited { - add { AddHandler(PointerLeaveEvent, value); } - remove { RemoveHandler(PointerLeaveEvent, value); } + add { AddHandler(PointerExitedEvent, value); } + remove { RemoveHandler(PointerExitedEvent, value); } } /// @@ -539,18 +543,18 @@ protected virtual void OnTextInput(TextInputEventArgs e) } /// - /// Called before the event occurs. + /// Called before the event occurs. /// /// The event args. - protected virtual void OnPointerEnter(PointerEventArgs e) + protected virtual void OnPointerEntered(PointerEventArgs e) { } /// - /// Called before the event occurs. + /// Called before the event occurs. /// /// The event args. - protected virtual void OnPointerLeave(PointerEventArgs e) + protected virtual void OnPointerExited(PointerEventArgs e) { } @@ -561,7 +565,9 @@ protected virtual void OnPointerLeave(PointerEventArgs e) protected virtual void OnPointerMoved(PointerEventArgs e) { if (_gestureRecognizers?.HandlePointerMoved(e) == true) + { e.Handled = true; + } } /// @@ -571,7 +577,9 @@ protected virtual void OnPointerMoved(PointerEventArgs e) protected virtual void OnPointerPressed(PointerPressedEventArgs e) { if (_gestureRecognizers?.HandlePointerPressed(e) == true) + { e.Handled = true; + } } /// @@ -581,7 +589,9 @@ protected virtual void OnPointerPressed(PointerPressedEventArgs e) protected virtual void OnPointerReleased(PointerReleasedEventArgs e) { if (_gestureRecognizers?.HandlePointerReleased(e) == true) + { e.Handled = true; + } } /// @@ -634,23 +644,23 @@ private static void IsEnabledChanged(AvaloniaPropertyChangedEventArgs e) } /// - /// Called before the event occurs. + /// Called before the event occurs. /// /// The event args. - private void OnPointerEnterCore(PointerEventArgs e) + private void OnPointerEnteredCore(PointerEventArgs e) { IsPointerOver = true; - OnPointerEnter(e); + OnPointerEntered(e); } /// - /// Called before the event occurs. + /// Called before the event occurs. /// /// The event args. - private void OnPointerLeaveCore(PointerEventArgs e) + private void OnPointerExitedCore(PointerEventArgs e) { IsPointerOver = false; - OnPointerLeave(e); + OnPointerExited(e); } /// diff --git a/src/Avalonia.Base/Input/PointerOverPreProcessor.cs b/src/Avalonia.Base/Input/PointerOverPreProcessor.cs index d22252893d1..67d1eea7e32 100644 --- a/src/Avalonia.Base/Input/PointerOverPreProcessor.cs +++ b/src/Avalonia.Base/Input/PointerOverPreProcessor.cs @@ -97,7 +97,7 @@ private void ClearPointerOver(IPointer pointer, IInputRoot root, // Do not pass rootVisual, when we have unknown (negative) position, // so GetPosition won't return invalid values. var hasPosition = position.X >= 0 && position.Y >= 0; - var e = new PointerEventArgs(InputElement.PointerLeaveEvent, element, pointer, + var e = new PointerEventArgs(InputElement.PointerExitedEvent, element, pointer, hasPosition ? root : null, hasPosition ? position : default, timestamp, properties, inputModifiers); @@ -177,7 +177,7 @@ private void SetPointerOverToElement(IPointer pointer, IInputRoot root, IInputEl el = root.PointerOverElement; - var e = new PointerEventArgs(InputElement.PointerLeaveEvent, el, pointer, root, position, + var e = new PointerEventArgs(InputElement.PointerExitedEvent, el, pointer, root, position, timestamp, properties, inputModifiers); if (el != null && branch != null && !el.IsAttachedToVisualTree) { @@ -195,7 +195,7 @@ private void SetPointerOverToElement(IPointer pointer, IInputRoot root, IInputEl el = root.PointerOverElement = element; _lastPointer = (pointer, root.PointToScreen(position)); - e.RoutedEvent = InputElement.PointerEnterEvent; + e.RoutedEvent = InputElement.PointerEnteredEvent; while (el != null && el != branch) { diff --git a/src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.cs b/src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.cs index 245592207e6..7e6b70a1465 100644 --- a/src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.cs +++ b/src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.cs @@ -128,8 +128,8 @@ protected override void OnApplyTemplate(TemplateAppliedEventArgs e) if (_inputTarget != null) { - _inputTarget.PointerEnter += InputTarget_PointerEnter; - _inputTarget.PointerLeave += InputTarget_PointerLeave; + _inputTarget.PointerEntered += InputTarget_PointerEntered; + _inputTarget.PointerExited += InputTarget_PointerExited; _inputTarget.PointerPressed += InputTarget_PointerPressed; _inputTarget.PointerMoved += InputTarget_PointerMoved; _inputTarget.PointerReleased += InputTarget_PointerReleased; @@ -194,8 +194,8 @@ private void UnregisterEvents() if (_inputTarget != null) { - _inputTarget.PointerEnter -= InputTarget_PointerEnter; - _inputTarget.PointerLeave -= InputTarget_PointerLeave; + _inputTarget.PointerEntered -= InputTarget_PointerEntered; + _inputTarget.PointerExited -= InputTarget_PointerExited; _inputTarget.PointerPressed -= InputTarget_PointerPressed; _inputTarget.PointerMoved -= InputTarget_PointerMoved; _inputTarget.PointerReleased -= InputTarget_PointerReleased; @@ -362,7 +362,7 @@ protected override void OnLostFocus(RoutedEventArgs e) } /// - protected override void OnPointerLeave(PointerEventArgs e) + protected override void OnPointerExited(PointerEventArgs e) { // We only want to bother with the color name tool tip if we can provide color names. if (_selectionEllipsePanel != null && @@ -373,7 +373,7 @@ protected override void OnPointerLeave(PointerEventArgs e) UpdatePseudoClasses(); - base.OnPointerLeave(e); + base.OnPointerExited(e); } /// @@ -848,16 +848,16 @@ private void UpdateEllipse() UpdatePseudoClasses(); } - /// - private void InputTarget_PointerEnter(object? sender, PointerEventArgs args) + /// + private void InputTarget_PointerEntered(object? sender, PointerEventArgs args) { _isPointerOver = true; UpdatePseudoClasses(); args.Handled = true; } - /// - private void InputTarget_PointerLeave(object? sender, PointerEventArgs args) + /// + private void InputTarget_PointerExited(object? sender, PointerEventArgs args) { _isPointerOver = false; UpdatePseudoClasses(); diff --git a/src/Avalonia.Controls.DataGrid/DataGridCell.cs b/src/Avalonia.Controls.DataGrid/DataGridCell.cs index 67183781d38..2a51f458967 100644 --- a/src/Avalonia.Controls.DataGrid/DataGridCell.cs +++ b/src/Avalonia.Controls.DataGrid/DataGridCell.cs @@ -139,18 +139,18 @@ protected override void OnApplyTemplate(TemplateAppliedEventArgs e) } } - protected override void OnPointerEnter(PointerEventArgs e) + protected override void OnPointerEntered(PointerEventArgs e) { - base.OnPointerEnter(e); + base.OnPointerEntered(e); if (OwningRow != null) { IsMouseOver = true; } } - protected override void OnPointerLeave(PointerEventArgs e) + protected override void OnPointerExited(PointerEventArgs e) { - base.OnPointerLeave(e); + base.OnPointerExited(e); if (OwningRow != null) { diff --git a/src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs b/src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs index 915b36687c9..d3bd968d62b 100644 --- a/src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs +++ b/src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs @@ -83,9 +83,9 @@ public DataGridColumnHeader() { PointerPressed += DataGridColumnHeader_PointerPressed; PointerReleased += DataGridColumnHeader_PointerReleased; - PointerMoved += DataGridColumnHeader_PointerMove; - PointerEnter += DataGridColumnHeader_PointerEnter; - PointerLeave += DataGridColumnHeader_PointerLeave; + PointerMoved += DataGridColumnHeader_PointerMoved; + PointerEntered += DataGridColumnHeader_PointerEntered; + PointerExited += DataGridColumnHeader_PointerExited; } private void OnAreSeparatorsVisibleChanged(AvaloniaPropertyChangedEventArgs e) @@ -452,7 +452,7 @@ internal void OnMouseMove(PointerEventArgs args, Point mousePosition, Point mous SetDragCursor(mousePosition); } - private void DataGridColumnHeader_PointerEnter(object sender, PointerEventArgs e) + private void DataGridColumnHeader_PointerEntered(object sender, PointerEventArgs e) { if (!IsEnabled) { @@ -464,7 +464,7 @@ private void DataGridColumnHeader_PointerEnter(object sender, PointerEventArgs e UpdatePseudoClasses(); } - private void DataGridColumnHeader_PointerLeave(object sender, PointerEventArgs e) + private void DataGridColumnHeader_PointerExited(object sender, PointerEventArgs e) { if (!IsEnabled) { @@ -506,7 +506,7 @@ private void DataGridColumnHeader_PointerReleased(object sender, PointerReleased UpdatePseudoClasses(); } - private void DataGridColumnHeader_PointerMove(object sender, PointerEventArgs e) + private void DataGridColumnHeader_PointerMoved(object sender, PointerEventArgs e) { if (OwningGrid == null || !IsEnabled) { diff --git a/src/Avalonia.Controls.DataGrid/DataGridRow.cs b/src/Avalonia.Controls.DataGrid/DataGridRow.cs index b062a14e39c..1559763a1b6 100644 --- a/src/Avalonia.Controls.DataGrid/DataGridRow.cs +++ b/src/Avalonia.Controls.DataGrid/DataGridRow.cs @@ -607,15 +607,15 @@ protected override void OnApplyTemplate(TemplateAppliedEventArgs e) } } - 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) + protected override void OnPointerExited(PointerEventArgs e) { IsMouseOver = false; - base.OnPointerLeave(e); + base.OnPointerExited(e); } internal void ApplyCellsState() diff --git a/src/Avalonia.Controls.DataGrid/DataGridRowGroupHeader.cs b/src/Avalonia.Controls.DataGrid/DataGridRowGroupHeader.cs index a3dfa44fc96..9f37e8a6aa6 100644 --- a/src/Avalonia.Controls.DataGrid/DataGridRowGroupHeader.cs +++ b/src/Avalonia.Controls.DataGrid/DataGridRowGroupHeader.cs @@ -375,7 +375,7 @@ internal void LoadVisualsForDisplay() ApplyHeaderStatus(); } - protected override void OnPointerEnter(PointerEventArgs e) + protected override void OnPointerEntered(PointerEventArgs e) { if (IsEnabled) { @@ -383,10 +383,10 @@ protected override void OnPointerEnter(PointerEventArgs e) UpdatePseudoClasses(); } - base.OnPointerEnter(e); + base.OnPointerEntered(e); } - protected override void OnPointerLeave(PointerEventArgs e) + protected override void OnPointerExited(PointerEventArgs e) { if (IsEnabled) { @@ -394,7 +394,7 @@ protected override void OnPointerLeave(PointerEventArgs e) UpdatePseudoClasses(); } - base.OnPointerLeave(e); + base.OnPointerExited(e); } private void SetIsCheckedNoCallBack(bool value) diff --git a/src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs b/src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs index 03299bbf356..fe3ba0abf62 100644 --- a/src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs +++ b/src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs @@ -158,23 +158,23 @@ internal void UpdatePseudoClasses() } } - 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) + protected override void OnPointerExited(PointerEventArgs e) { if (OwningRow != null) { OwningRow.IsMouseOver = false; } - base.OnPointerLeave(e); + base.OnPointerExited(e); } //TODO TabStop diff --git a/src/Avalonia.Controls/Calendar/CalendarItem.cs b/src/Avalonia.Controls/Calendar/CalendarItem.cs index bcac6324ba4..4c958c83b7d 100644 --- a/src/Avalonia.Controls/Calendar/CalendarItem.cs +++ b/src/Avalonia.Controls/Calendar/CalendarItem.cs @@ -189,7 +189,7 @@ private void PopulateGrids() EventHandler cellMouseLeftButtonDown = Cell_MouseLeftButtonDown; EventHandler cellMouseLeftButtonUp = Cell_MouseLeftButtonUp; - EventHandler cellMouseEnter = Cell_MouseEnter; + EventHandler cellMouseEntered = Cell_MouseEntered; EventHandler cellClick = Cell_Click; for (int i = 1; i < Calendar.RowsPerMonth; i++) @@ -206,7 +206,7 @@ private void PopulateGrids() 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 @@ private void PopulateGrids() EventHandler monthCalendarButtonMouseDown = Month_CalendarButtonMouseDown; EventHandler monthCalendarButtonMouseUp = Month_CalendarButtonMouseUp; - EventHandler monthMouseEnter = Month_MouseEnter; + EventHandler monthMouseEntered = Month_MouseEntered; for (int i = 0; i < Calendar.RowsPerYear; i++) { @@ -238,7 +238,7 @@ private void PopulateGrids() month.SetValue(Grid.ColumnProperty, j); month.CalendarLeftMouseButtonDown += monthCalendarButtonMouseDown; month.CalendarLeftMouseButtonUp += monthCalendarButtonMouseUp; - month.PointerEnter += monthMouseEnter; + month.PointerEntered += monthMouseEntered; children.Add(month); } } @@ -876,7 +876,7 @@ internal void NextButton_Click(object? sender, RoutedEventArgs e) } } - internal void Cell_MouseEnter(object? sender, PointerEventArgs e) + internal void Cell_MouseEntered(object? sender, PointerEventArgs e) { if (Owner != null) { @@ -1162,7 +1162,7 @@ internal void Month_CalendarButtonMouseUp(object? sender, PointerReleasedEventAr } } - private void Month_MouseEnter(object? sender, PointerEventArgs e) + private void Month_MouseEntered(object? sender, PointerEventArgs e) { if (_isMouseLeftButtonDownYearView) { diff --git a/src/Avalonia.Controls/GridSplitter.cs b/src/Avalonia.Controls/GridSplitter.cs index 784d33ed586..85dad894fdf 100644 --- a/src/Avalonia.Controls/GridSplitter.cs +++ b/src/Avalonia.Controls/GridSplitter.cs @@ -349,9 +349,9 @@ private void SetupPreviewAdorner() } } - protected override void OnPointerEnter(PointerEventArgs e) + protected override void OnPointerEntered(PointerEventArgs e) { - base.OnPointerEnter(e); + base.OnPointerEntered(e); GridResizeDirection direction = GetEffectiveResizeDirection(); diff --git a/src/Avalonia.Controls/MenuItem.cs b/src/Avalonia.Controls/MenuItem.cs index 58229a17724..11c42f2ef36 100644 --- a/src/Avalonia.Controls/MenuItem.cs +++ b/src/Avalonia.Controls/MenuItem.cs @@ -79,25 +79,33 @@ public class MenuItem : HeaderedSelectingItemsControl, IMenuItem, ISelectable, I /// Defines the event. /// public static readonly RoutedEvent ClickEvent = - RoutedEvent.Register(nameof(Click), RoutingStrategies.Bubble); + RoutedEvent.Register( + nameof(Click), + RoutingStrategies.Bubble); /// - /// Defines the event. + /// Defines the event. /// - public static readonly RoutedEvent PointerEnterItemEvent = - RoutedEvent.Register(nameof(PointerEnterItem), RoutingStrategies.Bubble); + public static readonly RoutedEvent PointerEnteredItemEvent = + RoutedEvent.Register( + nameof(PointerEnteredItem), + RoutingStrategies.Bubble); /// - /// Defines the event. + /// Defines the event. /// - public static readonly RoutedEvent PointerLeaveItemEvent = - RoutedEvent.Register(nameof(PointerLeaveItem), RoutingStrategies.Bubble); + public static readonly RoutedEvent PointerExitedItemEvent = + RoutedEvent.Register( + nameof(PointerExitedItem), + RoutingStrategies.Bubble); /// /// Defines the event. /// public static readonly RoutedEvent SubmenuOpenedEvent = - RoutedEvent.Register(nameof(SubmenuOpened), RoutingStrategies.Bubble); + RoutedEvent.Register( + nameof(SubmenuOpened), + RoutingStrategies.Bubble); /// /// The default value for the property. @@ -174,24 +182,24 @@ public event EventHandler? Click /// Occurs when the pointer enters a menu item. /// /// - /// A bubbling version of the event for menu items. + /// A bubbling version of the event for menu items. /// - public event EventHandler? PointerEnterItem + public event EventHandler? PointerEnteredItem { - add { AddHandler(PointerEnterItemEvent, value); } - remove { RemoveHandler(PointerEnterItemEvent, value); } + add { AddHandler(PointerEnteredItemEvent, value); } + remove { RemoveHandler(PointerEnteredItemEvent, value); } } /// /// Raised when the pointer leaves a menu item. /// /// - /// A bubbling version of the event for menu items. + /// A bubbling version of the event for menu items. /// - public event EventHandler? PointerLeaveItem + public event EventHandler? PointerExitedItem { - add { AddHandler(PointerLeaveItemEvent, value); } - remove { RemoveHandler(PointerLeaveItemEvent, value); } + add { AddHandler(PointerExitedItemEvent, value); } + remove { RemoveHandler(PointerExitedItemEvent, value); } } /// @@ -437,22 +445,22 @@ protected override void OnKeyDown(KeyEventArgs e) } /// - 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)); } /// - protected override void OnPointerLeave(PointerEventArgs e) + protected override void OnPointerExited(PointerEventArgs e) { - base.OnPointerLeave(e); + base.OnPointerExited(e); var point = e.GetCurrentPoint(null); - RaiseEvent(new PointerEventArgs(PointerLeaveItemEvent, this, e.Pointer, this.VisualRoot, point.Position, + RaiseEvent(new PointerEventArgs(PointerExitedItemEvent, this, e.Pointer, this.VisualRoot, point.Position, e.Timestamp, point.Properties, e.KeyModifiers)); } diff --git a/src/Avalonia.Controls/Platform/DefaultMenuInteractionHandler.cs b/src/Avalonia.Controls/Platform/DefaultMenuInteractionHandler.cs index 3a6d06f1508..868cce879aa 100644 --- a/src/Avalonia.Controls/Platform/DefaultMenuInteractionHandler.cs +++ b/src/Avalonia.Controls/Platform/DefaultMenuInteractionHandler.cs @@ -53,9 +53,9 @@ public virtual void Attach(IMenu menu) 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(MenuItem.PointerLeaveItemEvent, PointerLeave); + Menu.AddHandler(Avalonia.Controls.Menu.MenuOpenedEvent, MenuOpened); + Menu.AddHandler(MenuItem.PointerEnteredItemEvent, PointerEntered); + Menu.AddHandler(MenuItem.PointerExitedItemEvent, PointerExited); Menu.AddHandler(InputElement.PointerMovedEvent, PointerMoved); _root = Menu.VisualRoot; @@ -89,9 +89,9 @@ public virtual void Detach(IMenu menu) 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(MenuItem.PointerLeaveItemEvent, PointerLeave); + Menu.RemoveHandler(Avalonia.Controls.Menu.MenuOpenedEvent, MenuOpened); + Menu.RemoveHandler(MenuItem.PointerEnteredItemEvent, PointerEntered); + Menu.RemoveHandler(MenuItem.PointerExitedItemEvent, PointerExited); Menu.RemoveHandler(InputElement.PointerMovedEvent, PointerMoved); if (_root is InputElement inputRoot) @@ -297,7 +297,7 @@ protected internal virtual void AccessKeyPressed(object? sender, RoutedEventArgs 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); @@ -358,7 +358,7 @@ protected internal virtual void PointerMoved(object? sender, PointerEventArgs e) } } - protected internal virtual void PointerLeave(object? sender, PointerEventArgs e) + protected internal virtual void PointerExited(object? sender, PointerEventArgs e) { var item = GetMenuItem(e.Source as IControl); diff --git a/src/Avalonia.Controls/Primitives/ScrollBar.cs b/src/Avalonia.Controls/Primitives/ScrollBar.cs index e5c3392faf1..e524db54440 100644 --- a/src/Avalonia.Controls/Primitives/ScrollBar.cs +++ b/src/Avalonia.Controls/Primitives/ScrollBar.cs @@ -218,9 +218,9 @@ protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs chang } } - protected override void OnPointerEnter(PointerEventArgs e) + protected override void OnPointerEntered(PointerEventArgs e) { - base.OnPointerEnter(e); + base.OnPointerEntered(e); if (AllowAutoHide) { @@ -228,9 +228,9 @@ protected override void OnPointerEnter(PointerEventArgs e) } } - protected override void OnPointerLeave(PointerEventArgs e) + protected override void OnPointerExited(PointerEventArgs e) { - base.OnPointerLeave(e); + base.OnPointerExited(e); if (AllowAutoHide) { diff --git a/src/Avalonia.Controls/ToolTipService.cs b/src/Avalonia.Controls/ToolTipService.cs index a3100ff296a..c6efe10488c 100644 --- a/src/Avalonia.Controls/ToolTipService.cs +++ b/src/Avalonia.Controls/ToolTipService.cs @@ -26,14 +26,14 @@ internal void TipChanged(AvaloniaPropertyChangedEventArgs e) if (e.OldValue != null) { - control.PointerEnter -= ControlPointerEnter; - control.PointerLeave -= ControlPointerLeave; + control.PointerEntered -= ControlPointerEntered; + control.PointerExited -= ControlPointerExited; } if (e.NewValue != null) { - control.PointerEnter += ControlPointerEnter; - control.PointerLeave += ControlPointerLeave; + control.PointerEntered += ControlPointerEntered; + control.PointerExited += ControlPointerExited; } if (ToolTip.GetIsOpen(control) && e.NewValue != e.OldValue && !(e.NewValue is ToolTip)) @@ -80,7 +80,7 @@ private void ControlDetaching(object? sender, VisualTreeAttachmentEventArgs e) /// /// The event sender. /// The event args. - private void ControlPointerEnter(object? sender, PointerEventArgs e) + private void ControlPointerEntered(object? sender, PointerEventArgs e) { StopTimer(); @@ -101,7 +101,7 @@ private void ControlPointerEnter(object? sender, PointerEventArgs e) /// /// The event sender. /// The event args. - private void ControlPointerLeave(object? sender, PointerEventArgs e) + private void ControlPointerExited(object? sender, PointerEventArgs e) { var control = (Control)sender!; Close(control); diff --git a/src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml.cs b/src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml.cs index 58807b489ea..587898ac6e9 100644 --- a/src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml.cs +++ b/src/Avalonia.Diagnostics/Diagnostics/Views/TreePageView.xaml.cs @@ -121,8 +121,8 @@ private void TreeViewItemTemplateApplied(object? sender, TemplateAppliedEventArg if (header != null) { - header.PointerEnter += AddAdorner; - header.PointerLeave += RemoveAdorner; + header.PointerEntered += AddAdorner; + header.PointerExited += RemoveAdorner; } item.TemplateApplied -= TreeViewItemTemplateApplied; diff --git a/tests/Avalonia.Base.UnitTests/Input/PointerOverTests.cs b/tests/Avalonia.Base.UnitTests/Input/PointerOverTests.cs index 87df65a0808..a5ca2aef4ae 100644 --- a/tests/Avalonia.Base.UnitTests/Input/PointerOverTests.cs +++ b/tests/Avalonia.Base.UnitTests/Input/PointerOverTests.cs @@ -189,7 +189,7 @@ public void IsPointerOver_Should_Be_Updated_When_Child_Sets_Handled_True() // 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 @@ void HandleEvent(object? sender, PointerEventArgs e) } }); - AddEnterLeaveHandlers(HandleEvent, canvas, decorator); + AddEnteredExitedHandlers(HandleEvent, canvas, decorator); // Enter decorator SetHit(renderer, decorator); @@ -246,17 +246,17 @@ void HandleEvent(object? sender, PointerEventArgs e) 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.PointerExited)), + (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 @@ void HandleEvent(object? sender, PointerEventArgs e) 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 @@ void HandleEvent(object? sender, PointerEventArgs e) Assert.Equal( new[] { - ((object?)canvas, "PointerLeave"), - (decorator, "PointerEnter"), - (border, "PointerEnter"), + ((object?)canvas, nameof(InputElement.PointerExited)), + (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 @@ void HandleEvent(object? sender, PointerEventArgs e) } }); - AddEnterLeaveHandlers(HandleEvent, root, canvas); + AddEnteredExitedHandlers(HandleEvent, root, canvas); SetHit(renderer, canvas); impl.Object.Input!(CreateRawPointerMovedArgs(deviceMock.Object, root, expectedPosition)); @@ -342,10 +342,10 @@ void HandleEvent(object? sender, PointerEventArgs e) 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.PointerExited), expectedPosition), + (root, nameof(InputElement.PointerExited), expectedPosition) }, result); } @@ -415,7 +415,7 @@ void HandleEvent(object? sender, PointerEventArgs e) } }); - AddEnterLeaveHandlers(HandleEvent, root, canvas); + AddEnteredExitedHandlers(HandleEvent, root, canvas); // Init pointer over. SetHit(renderer, canvas); @@ -429,22 +429,22 @@ void HandleEvent(object? sender, PointerEventArgs e) 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.PointerExited), lastClientPosition), + (root, nameof(InputElement.PointerExited), lastClientPosition), }, result); } - private static void AddEnterLeaveHandlers( + private static void AddEnteredExitedHandlers( EventHandler handler, params IInputElement[] controls) { foreach (var c in controls) { - c.PointerEnter += handler; - c.PointerLeave += handler; + c.PointerEntered += handler; + c.PointerExited += handler; c.PointerMoved += handler; } } diff --git a/tests/Avalonia.Controls.UnitTests/ButtonTests.cs b/tests/Avalonia.Controls.UnitTests/ButtonTests.cs index 2e3623cc3cf..42bdffd908b 100644 --- a/tests/Avalonia.Controls.UnitTests/ButtonTests.cs +++ b/tests/Avalonia.Controls.UnitTests/ButtonTests.cs @@ -150,7 +150,7 @@ public void Button_Raises_Click() target.Click += (s, e) => clicked = true; - RaisePointerEnter(target); + RaisePointerEntered(target); RaisePointerMove(target, pt); RaisePointerPressed(target, 1, MouseButton.Left, pt); @@ -182,10 +182,10 @@ public void Button_Does_Not_Raise_Click_When_PointerReleased_Outside() 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); + RaisePointerExited(target); Assert.Equal(_helper.Captured, target); @@ -224,7 +224,7 @@ public void Button_With_RenderTransform_Raises_Click() target.Click += (s, e) => clicked = true; - RaisePointerEnter(target); + RaisePointerEntered(target); RaisePointerMove(target, pt); RaisePointerPressed(target, 1, MouseButton.Left, pt); @@ -422,12 +422,12 @@ private void RaisePointerReleased(Button button, MouseButton mouseButton, Point _helper.Up(button, mouseButton, pt); } - private void RaisePointerEnter(Button button) + private void RaisePointerEntered(Button button) { _helper.Enter(button); } - private void RaisePointerLeave(Button button) + private void RaisePointerExited(Button button) { _helper.Leave(button); } diff --git a/tests/Avalonia.Controls.UnitTests/Platform/DefaultMenuInteractionHandlerTests.cs b/tests/Avalonia.Controls.UnitTests/Platform/DefaultMenuInteractionHandlerTests.cs index d22a67f389e..192734581db 100644 --- a/tests/Avalonia.Controls.UnitTests/Platform/DefaultMenuInteractionHandlerTests.cs +++ b/tests/Avalonia.Controls.UnitTests/Platform/DefaultMenuInteractionHandlerTests.cs @@ -174,7 +174,7 @@ public void Click_On_Open_TopLevel_Menu_Closes_Menu() } [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(); @@ -187,11 +187,11 @@ public void PointerEnter_Opens_Item_When_Old_Item_Is_Open() 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); @@ -202,31 +202,31 @@ public void PointerEnter_Opens_Item_When_Old_Item_Is_Open() } [Fact] - public void PointerLeave_Deselects_Item_When_Menu_Not_Open() + public void PointerExited_Deselects_Item_When_Menu_Not_Open() { var target = new DefaultMenuInteractionHandler(false); var menu = new Mock(); var item = Mock.Of(x => x.IsTopLevel == true && x.Parent == menu.Object); - var e = CreateArgs(MenuItem.PointerLeaveItemEvent, item); + var e = CreateArgs(MenuItem.PointerExitedItemEvent, item); menu.SetupGet(x => x.SelectedItem).Returns(item); - target.PointerLeave(item, e); + target.PointerExited(item, e); menu.VerifySet(x => x.SelectedItem = null); Assert.False(e.Handled); } [Fact] - public void PointerLeave_Doesnt_Deselect_Item_When_Menu_Open() + public void PointerExited_Doesnt_Deselect_Item_When_Menu_Open() { var target = new DefaultMenuInteractionHandler(false); var menu = new Mock(); var item = Mock.Of(x => x.IsTopLevel == true && x.Parent == menu.Object); - var e = CreateArgs(MenuItem.PointerLeaveItemEvent, item); + var e = CreateArgs(MenuItem.PointerExitedItemEvent, item); menu.SetupGet(x => x.IsOpen).Returns(true); menu.SetupGet(x => x.SelectedItem).Returns(item); - target.PointerLeave(item, e); + target.PointerExited(item, e); menu.VerifySet(x => x.SelectedItem = null, Times.Never); Assert.False(e.Handled); @@ -382,31 +382,31 @@ public void Escape_Closes_Parent_MenuItem() } [Fact] - public void PointerEnter_Selects_Item() + public void PointerEntered_Selects_Item() { var target = new DefaultMenuInteractionHandler(false); var menu = Mock.Of(); var parentItem = Mock.Of(x => x.IsTopLevel == true && x.HasSubMenu == true && x.Parent == menu); var item = Mock.Of(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(); var parentItem = Mock.Of(x => x.IsTopLevel == true && x.HasSubMenu == true && x.Parent == menu); var item = Mock.Of(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 @@ public void PointerEnter_Opens_Submenu_After_Delay() } [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 @@ public void PointerEnter_Closes_Sibling_Submenu_After_Delay() var parentItem = Mock.Of(x => x.IsTopLevel == true && x.HasSubMenu == true && x.Parent == menu); var item = Mock.Of(x => x.Parent == parentItem); var sibling = Mock.Of(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(); @@ -438,48 +438,48 @@ public void PointerEnter_Closes_Sibling_Submenu_After_Delay() } [Fact] - public void PointerLeave_Deselects_Item() + public void PointerExited_Deselects_Item() { var target = new DefaultMenuInteractionHandler(false); var menu = Mock.Of(); var parentItem = Mock.Of(x => x.IsTopLevel == true && x.HasSubMenu == true && x.Parent == menu); var item = Mock.Of(x => x.Parent == parentItem); - var e = CreateArgs(MenuItem.PointerLeaveItemEvent, item); + var e = CreateArgs(MenuItem.PointerExitedItemEvent, item); Mock.Get(parentItem).SetupGet(x => x.SelectedItem).Returns(item); - target.PointerLeave(item, e); + target.PointerExited(item, e); Mock.Get(parentItem).VerifySet(x => x.SelectedItem = null); Assert.False(e.Handled); } [Fact] - public void PointerLeave_Doesnt_Deselect_Sibling() + public void PointerExited_Doesnt_Deselect_Sibling() { var target = new DefaultMenuInteractionHandler(false); var menu = Mock.Of(); var parentItem = Mock.Of(x => x.IsTopLevel == true && x.HasSubMenu == true && x.Parent == menu); var item = Mock.Of(x => x.Parent == parentItem); var sibling = Mock.Of(x => x.Parent == parentItem); - var e = CreateArgs(MenuItem.PointerLeaveItemEvent, item); + var e = CreateArgs(MenuItem.PointerExitedItemEvent, item); Mock.Get(parentItem).SetupGet(x => x.SelectedItem).Returns(sibling); - target.PointerLeave(item, e); + target.PointerExited(item, e); Mock.Get(parentItem).VerifySet(x => x.SelectedItem = null, Times.Never); Assert.False(e.Handled); } [Fact] - public void PointerLeave_Doesnt_Deselect_Item_If_Pointer_Over_Submenu() + public void PointerExited_Doesnt_Deselect_Item_If_Pointer_Over_Submenu() { var target = new DefaultMenuInteractionHandler(false); var menu = Mock.Of(); var parentItem = Mock.Of(x => x.IsTopLevel == true && x.HasSubMenu == true && x.Parent == menu); var item = Mock.Of(x => x.Parent == parentItem && x.HasSubMenu == true && x.IsPointerOverSubMenu == true); - var e = CreateArgs(MenuItem.PointerLeaveItemEvent, item); + var e = CreateArgs(MenuItem.PointerExitedItemEvent, item); - target.PointerLeave(item, e); + target.PointerExited(item, e); Mock.Get(parentItem).VerifySet(x => x.SelectedItem = null, Times.Never); Assert.False(e.Handled); @@ -510,11 +510,11 @@ public void Selection_Is_Correct_When_Pointer_Temporarily_Exits_Item_To_Select_S var parentItem = Mock.Of(x => x.IsTopLevel == true && x.HasSubMenu == true && x.Parent == menu); var item = Mock.Of(x => x.Parent == parentItem && x.HasSubMenu == true); var childItem = Mock.Of(x => x.Parent == item); - var enter = CreateArgs(MenuItem.PointerEnterItemEvent, item); - var leave = CreateArgs(MenuItem.PointerLeaveItemEvent, item); + var enter = CreateArgs(MenuItem.PointerEnteredItemEvent, item); + var leave = CreateArgs(MenuItem.PointerExitedItemEvent, 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(); @@ -526,13 +526,13 @@ public void Selection_Is_Correct_When_Pointer_Temporarily_Exits_Item_To_Select_S Mock.Get(item).Invocations.Clear(); // Pointer briefly exits item, but submenu remains open. - target.PointerLeave(item, leave); + target.PointerExited(item, leave); Mock.Get(item).Verify(x => x.Close(), Times.Never); Mock.Get(item).Invocations.Clear(); // 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(); diff --git a/tests/Avalonia.UnitTests/MouseTestHelper.cs b/tests/Avalonia.UnitTests/MouseTestHelper.cs index 6c2d6d4b62b..06d53e9ff9e 100644 --- a/tests/Avalonia.UnitTests/MouseTestHelper.cs +++ b/tests/Avalonia.UnitTests/MouseTestHelper.cs @@ -107,13 +107,13 @@ public void Click(IInteractive target, IInteractive source, MouseButton button = 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)); } public void Leave(IInteractive target) { - target.RaiseEvent(new PointerEventArgs(InputElement.PointerLeaveEvent, target, _pointer, (IVisual)target, default, + target.RaiseEvent(new PointerEventArgs(InputElement.PointerExitedEvent, target, _pointer, (IVisual)target, default, Timestamp(), new PointerPointProperties((RawInputModifiers)_pressedButtons, PointerUpdateKind.Other), KeyModifiers.None)); }