From 6b4b620a2293227b4ac14c9d763618c432729759 Mon Sep 17 00:00:00 2001 From: Max Katz Date: Thu, 5 Jan 2023 18:56:50 -0500 Subject: [PATCH 1/4] Revert "Merge pull request #8860 from AvaloniaUI/remove-public-constructors-from-eventargs-from-avalonia.base" This reverts commit a26d515aa4cc4433fb0e0173e8c8f5a3b8419727, reversing changes made to 4670536b82044e9cc21d2d3f03c98e1781453efb. # Conflicts: # src/Avalonia.Base/Input/KeyEventArgs.cs # src/Avalonia.Base/Input/PointerDeltaEventArgs.cs # src/Avalonia.Base/Input/PointerEventArgs.cs # src/Avalonia.Base/Input/PointerWheelEventArgs.cs # src/Avalonia.Base/Input/TextInputEventArgs.cs --- src/Avalonia.Base/Input/DragEventArgs.cs | 5 ++++- src/Avalonia.Base/Input/PointerDeltaEventArgs.cs | 6 +++++- src/Avalonia.Base/Input/PointerEventArgs.cs | 5 ++++- src/Avalonia.Base/Input/PointerWheelEventArgs.cs | 6 +++++- src/Avalonia.Base/Input/ScrollGestureEventArgs.cs | 4 ++-- src/Avalonia.Base/Input/TappedEventArgs.cs | 3 ++- src/Avalonia.Base/Input/VectorEventArgs.cs | 5 ----- .../Layout/EffectiveViewportChangedEventArgs.cs | 2 +- src/Avalonia.Base/Rendering/SceneInvalidatedEventArgs.cs | 2 +- 9 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/Avalonia.Base/Input/DragEventArgs.cs b/src/Avalonia.Base/Input/DragEventArgs.cs index 7a27c53023..ffa32054b4 100644 --- a/src/Avalonia.Base/Input/DragEventArgs.cs +++ b/src/Avalonia.Base/Input/DragEventArgs.cs @@ -1,5 +1,6 @@ using System; using Avalonia.Interactivity; +using Avalonia.Metadata; using Avalonia.VisualTree; namespace Avalonia.Input @@ -32,7 +33,9 @@ namespace Avalonia.Input return point; } - internal DragEventArgs(RoutedEvent routedEvent, IDataObject data, Interactive target, Point targetLocation, KeyModifiers keyModifiers) + [Unstable] + [Obsolete("This constructor may be removed in 12.0. Consider replacing it with RawDragEvent.")] + public DragEventArgs(RoutedEvent routedEvent, IDataObject data, Interactive target, Point targetLocation, KeyModifiers keyModifiers) : base(routedEvent) { Data = data; diff --git a/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs b/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs index af0fa83382..84c6a58998 100644 --- a/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs +++ b/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs @@ -1,4 +1,6 @@ +using System; using Avalonia.Interactivity; +using Avalonia.Metadata; using Avalonia.VisualTree; namespace Avalonia.Input @@ -7,7 +9,9 @@ namespace Avalonia.Input { public Vector Delta { get; set; } - internal PointerDeltaEventArgs(RoutedEvent routedEvent, object? source, + [Unstable] + [Obsolete("This constructor may be removed in 12.0. Consider replacing it with RawPointerEventArgs or headless unit tests helpers.")] + public PointerDeltaEventArgs(RoutedEvent routedEvent, object? source, IPointer pointer, Visual rootVisual, Point rootVisualPosition, ulong timestamp, PointerPointProperties properties, KeyModifiers modifiers, Vector delta) : base(routedEvent, source, pointer, rootVisual, rootVisualPosition, diff --git a/src/Avalonia.Base/Input/PointerEventArgs.cs b/src/Avalonia.Base/Input/PointerEventArgs.cs index d736253728..598f51309b 100644 --- a/src/Avalonia.Base/Input/PointerEventArgs.cs +++ b/src/Avalonia.Base/Input/PointerEventArgs.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using Avalonia.Input.Raw; using Avalonia.Interactivity; +using Avalonia.Metadata; using Avalonia.VisualTree; namespace Avalonia.Input @@ -13,7 +14,9 @@ namespace Avalonia.Input private readonly PointerPointProperties _properties; private readonly Lazy?>? _previousPoints; - internal PointerEventArgs(RoutedEvent routedEvent, + [Unstable] + [Obsolete("This constructor may be removed in 12.0. Consider replacing it with RawPointerEventArgs or headless unit tests helpers.")] + public PointerEventArgs(RoutedEvent routedEvent, object? source, IPointer pointer, Visual? rootVisual, Point rootVisualPosition, diff --git a/src/Avalonia.Base/Input/PointerWheelEventArgs.cs b/src/Avalonia.Base/Input/PointerWheelEventArgs.cs index a3de0eaaea..5095c8044d 100644 --- a/src/Avalonia.Base/Input/PointerWheelEventArgs.cs +++ b/src/Avalonia.Base/Input/PointerWheelEventArgs.cs @@ -1,4 +1,6 @@ +using System; using Avalonia.Interactivity; +using Avalonia.Metadata; using Avalonia.VisualTree; namespace Avalonia.Input @@ -7,7 +9,9 @@ namespace Avalonia.Input { public Vector Delta { get; set; } - internal PointerWheelEventArgs(object source, IPointer pointer, Visual rootVisual, + [Unstable] + [Obsolete("This constructor may be removed in 12.0. Consider replacing it with RawPointerEventArgs or headless unit tests helpers.")] + public PointerWheelEventArgs(object source, IPointer pointer, Visual rootVisual, Point rootVisualPosition, ulong timestamp, PointerPointProperties properties, KeyModifiers modifiers, Vector delta) : base(InputElement.PointerWheelChangedEvent, source, pointer, rootVisual, rootVisualPosition, diff --git a/src/Avalonia.Base/Input/ScrollGestureEventArgs.cs b/src/Avalonia.Base/Input/ScrollGestureEventArgs.cs index 55aaadff71..dd78080708 100644 --- a/src/Avalonia.Base/Input/ScrollGestureEventArgs.cs +++ b/src/Avalonia.Base/Input/ScrollGestureEventArgs.cs @@ -14,7 +14,7 @@ namespace Avalonia.Input public static int GetNextFreeId() => _nextId++; - internal ScrollGestureEventArgs(int id, Vector delta) : base(Gestures.ScrollGestureEvent) + public ScrollGestureEventArgs(int id, Vector delta) : base(Gestures.ScrollGestureEvent) { Id = id; Delta = delta; @@ -25,7 +25,7 @@ namespace Avalonia.Input { public int Id { get; } - internal ScrollGestureEndedEventArgs(int id) : base(Gestures.ScrollGestureEndedEvent) + public ScrollGestureEndedEventArgs(int id) : base(Gestures.ScrollGestureEndedEvent) { Id = id; } diff --git a/src/Avalonia.Base/Input/TappedEventArgs.cs b/src/Avalonia.Base/Input/TappedEventArgs.cs index 3e15c4843a..663207a104 100644 --- a/src/Avalonia.Base/Input/TappedEventArgs.cs +++ b/src/Avalonia.Base/Input/TappedEventArgs.cs @@ -1,3 +1,4 @@ +using System; using Avalonia.Interactivity; using Avalonia.VisualTree; @@ -7,7 +8,7 @@ namespace Avalonia.Input { private readonly PointerEventArgs lastPointerEventArgs; - internal TappedEventArgs(RoutedEvent routedEvent, PointerEventArgs lastPointerEventArgs) + public TappedEventArgs(RoutedEvent routedEvent, PointerEventArgs lastPointerEventArgs) : base(routedEvent) { this.lastPointerEventArgs = lastPointerEventArgs; diff --git a/src/Avalonia.Base/Input/VectorEventArgs.cs b/src/Avalonia.Base/Input/VectorEventArgs.cs index 3e8098f904..000fd52f69 100644 --- a/src/Avalonia.Base/Input/VectorEventArgs.cs +++ b/src/Avalonia.Base/Input/VectorEventArgs.cs @@ -5,11 +5,6 @@ namespace Avalonia.Input { public class VectorEventArgs : RoutedEventArgs { - internal VectorEventArgs() - { - - } - public Vector Vector { get; set; } } } diff --git a/src/Avalonia.Base/Layout/EffectiveViewportChangedEventArgs.cs b/src/Avalonia.Base/Layout/EffectiveViewportChangedEventArgs.cs index 749d2ecc2b..1cdc775b13 100644 --- a/src/Avalonia.Base/Layout/EffectiveViewportChangedEventArgs.cs +++ b/src/Avalonia.Base/Layout/EffectiveViewportChangedEventArgs.cs @@ -7,7 +7,7 @@ namespace Avalonia.Layout /// public class EffectiveViewportChangedEventArgs : EventArgs { - internal EffectiveViewportChangedEventArgs(Rect effectiveViewport) + public EffectiveViewportChangedEventArgs(Rect effectiveViewport) { EffectiveViewport = effectiveViewport; } diff --git a/src/Avalonia.Base/Rendering/SceneInvalidatedEventArgs.cs b/src/Avalonia.Base/Rendering/SceneInvalidatedEventArgs.cs index 73840376fe..cac4d1693a 100644 --- a/src/Avalonia.Base/Rendering/SceneInvalidatedEventArgs.cs +++ b/src/Avalonia.Base/Rendering/SceneInvalidatedEventArgs.cs @@ -12,7 +12,7 @@ namespace Avalonia.Rendering /// /// The render root that has been updated. /// The updated area. - internal SceneInvalidatedEventArgs( + public SceneInvalidatedEventArgs( IRenderRoot root, Rect dirtyRect) { From af4d9fc2e2e29bc4af1b15f6b76616886c592f56 Mon Sep 17 00:00:00 2001 From: Max Katz Date: Tue, 24 Jan 2023 16:45:24 -0500 Subject: [PATCH 2/4] Add more IHeadlessWindow methods and update Obsolete message --- src/Avalonia.Base/Input/DragEventArgs.cs | 2 +- src/Avalonia.Base/Input/PointerDeltaEventArgs.cs | 2 +- src/Avalonia.Base/Input/PointerEventArgs.cs | 2 +- src/Avalonia.Base/Input/PointerWheelEventArgs.cs | 2 +- src/Avalonia.Headless/HeadlessWindowImpl.cs | 12 ++++++++++++ src/Avalonia.Headless/IHeadlessWindow.cs | 3 +++ 6 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/Avalonia.Base/Input/DragEventArgs.cs b/src/Avalonia.Base/Input/DragEventArgs.cs index ffa32054b4..403dd6f23e 100644 --- a/src/Avalonia.Base/Input/DragEventArgs.cs +++ b/src/Avalonia.Base/Input/DragEventArgs.cs @@ -34,7 +34,7 @@ namespace Avalonia.Input } [Unstable] - [Obsolete("This constructor may be removed in 12.0. Consider replacing it with RawDragEvent.")] + [Obsolete("This constructor might be removed in 12.0. For unit testing, consider using DragDrop.DoDragDrop or IHeadlessWindow.DragDrop.")] public DragEventArgs(RoutedEvent routedEvent, IDataObject data, Interactive target, Point targetLocation, KeyModifiers keyModifiers) : base(routedEvent) { diff --git a/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs b/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs index 84c6a58998..dd8a8f0385 100644 --- a/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs +++ b/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs @@ -10,7 +10,7 @@ namespace Avalonia.Input public Vector Delta { get; set; } [Unstable] - [Obsolete("This constructor may be removed in 12.0. Consider replacing it with RawPointerEventArgs or headless unit tests helpers.")] + [Obsolete("This constructor might be removed in 12.0.")] public PointerDeltaEventArgs(RoutedEvent routedEvent, object? source, IPointer pointer, Visual rootVisual, Point rootVisualPosition, ulong timestamp, PointerPointProperties properties, KeyModifiers modifiers, Vector delta) diff --git a/src/Avalonia.Base/Input/PointerEventArgs.cs b/src/Avalonia.Base/Input/PointerEventArgs.cs index 598f51309b..502da52597 100644 --- a/src/Avalonia.Base/Input/PointerEventArgs.cs +++ b/src/Avalonia.Base/Input/PointerEventArgs.cs @@ -15,7 +15,7 @@ namespace Avalonia.Input private readonly Lazy?>? _previousPoints; [Unstable] - [Obsolete("This constructor may be removed in 12.0. Consider replacing it with RawPointerEventArgs or headless unit tests helpers.")] + [Obsolete("This constructor might be removed in 12.0. For unit testing, consider using IHeadlessWindow mouse methods.")] public PointerEventArgs(RoutedEvent routedEvent, object? source, IPointer pointer, diff --git a/src/Avalonia.Base/Input/PointerWheelEventArgs.cs b/src/Avalonia.Base/Input/PointerWheelEventArgs.cs index 5095c8044d..3a23effa79 100644 --- a/src/Avalonia.Base/Input/PointerWheelEventArgs.cs +++ b/src/Avalonia.Base/Input/PointerWheelEventArgs.cs @@ -10,7 +10,7 @@ namespace Avalonia.Input public Vector Delta { get; set; } [Unstable] - [Obsolete("This constructor may be removed in 12.0. Consider replacing it with RawPointerEventArgs or headless unit tests helpers.")] + [Obsolete("This constructor might be removed in 12.0. For unit testing, consider using IHeadlessWindow.MouseWheel.")] public PointerWheelEventArgs(object source, IPointer pointer, Visual rootVisual, Point rootVisualPosition, ulong timestamp, PointerPointProperties properties, KeyModifiers modifiers, Vector delta) diff --git a/src/Avalonia.Headless/HeadlessWindowImpl.cs b/src/Avalonia.Headless/HeadlessWindowImpl.cs index 195328cd65..2c19b2f85f 100644 --- a/src/Avalonia.Headless/HeadlessWindowImpl.cs +++ b/src/Avalonia.Headless/HeadlessWindowImpl.cs @@ -284,6 +284,18 @@ namespace Avalonia.Headless button == 1 ? RawPointerEventType.MiddleButtonUp : RawPointerEventType.RightButtonUp, point, modifiers)); } + + void IHeadlessWindow.MouseWheel(Point point, Vector delta, RawInputModifiers modifiers) + { + Input?.Invoke(new RawMouseWheelEventArgs(MouseDevice, Timestamp, InputRoot, + point, delta, modifiers)); + } + + void IHeadlessWindow.DragDrop(Point point, RawDragEventType type, IDataObject data, DragDropEffects effects, RawInputModifiers modifiers) + { + var device = AvaloniaLocator.Current.GetRequiredService(); + Input?.Invoke(new RawDragEvent(device, type, InputRoot, point, data, effects, modifiers)); + } void IWindowImpl.Move(PixelPoint point) { diff --git a/src/Avalonia.Headless/IHeadlessWindow.cs b/src/Avalonia.Headless/IHeadlessWindow.cs index 282662f98b..dfb3a4c433 100644 --- a/src/Avalonia.Headless/IHeadlessWindow.cs +++ b/src/Avalonia.Headless/IHeadlessWindow.cs @@ -1,4 +1,5 @@ using Avalonia.Input; +using Avalonia.Input.Raw; using Avalonia.Media.Imaging; using Avalonia.Platform; using Avalonia.Utilities; @@ -13,5 +14,7 @@ namespace Avalonia.Headless void MouseDown(Point point, int button, RawInputModifiers modifiers = RawInputModifiers.None); void MouseMove(Point point, RawInputModifiers modifiers = RawInputModifiers.None); void MouseUp(Point point, int button, RawInputModifiers modifiers = RawInputModifiers.None); + void MouseWheel(Point point, Vector delta, RawInputModifiers modifiers = RawInputModifiers.None); + void DragDrop(Point point, RawDragEventType type, IDataObject data, DragDropEffects effects, RawInputModifiers modifiers); } } From 39f232dcfff5ec9bc942192510aa620737feb74b Mon Sep 17 00:00:00 2001 From: Max Katz Date: Tue, 24 Jan 2023 16:52:16 -0500 Subject: [PATCH 3/4] Remove public setter where possible on events or replace with "init;" --- src/Avalonia.Base/Input/GotFocusEventArgs.cs | 7 +++---- src/Avalonia.Base/Input/KeyEventArgs.cs | 6 +++--- src/Avalonia.Base/Input/KeyboardDevice.cs | 1 - src/Avalonia.Base/Input/PointerDeltaEventArgs.cs | 2 +- src/Avalonia.Base/Input/PointerWheelEventArgs.cs | 2 +- src/Avalonia.Base/Input/Raw/RawTextInputEventArgs.cs | 2 +- src/Avalonia.Base/Input/VectorEventArgs.cs | 2 +- tests/Avalonia.Controls.UnitTests/ListBoxTests_Multiple.cs | 3 --- tests/Avalonia.Controls.UnitTests/ListBoxTests_Single.cs | 4 ---- 9 files changed, 10 insertions(+), 19 deletions(-) diff --git a/src/Avalonia.Base/Input/GotFocusEventArgs.cs b/src/Avalonia.Base/Input/GotFocusEventArgs.cs index f3de55ebae..8d15c3f9ec 100644 --- a/src/Avalonia.Base/Input/GotFocusEventArgs.cs +++ b/src/Avalonia.Base/Input/GotFocusEventArgs.cs @@ -7,19 +7,18 @@ namespace Avalonia.Input /// public class GotFocusEventArgs : RoutedEventArgs { - internal GotFocusEventArgs() + public GotFocusEventArgs() : base(InputElement.GotFocusEvent) { - } /// /// Gets or sets a value indicating how the change in focus occurred. /// - public NavigationMethod NavigationMethod { get; set; } + public NavigationMethod NavigationMethod { get; init; } /// /// Gets or sets any key modifiers active at the time of focus. /// - public KeyModifiers KeyModifiers { get; set; } + public KeyModifiers KeyModifiers { get; init; } } } diff --git a/src/Avalonia.Base/Input/KeyEventArgs.cs b/src/Avalonia.Base/Input/KeyEventArgs.cs index 35fa549995..0eaa7d43fb 100644 --- a/src/Avalonia.Base/Input/KeyEventArgs.cs +++ b/src/Avalonia.Base/Input/KeyEventArgs.cs @@ -10,10 +10,10 @@ namespace Avalonia.Input } - public IKeyboardDevice? Device { get; set; } + public IKeyboardDevice? Device { get; init; } - public Key Key { get; set; } + public Key Key { get; init; } - public KeyModifiers KeyModifiers { get; set; } + public KeyModifiers KeyModifiers { get; init; } } } diff --git a/src/Avalonia.Base/Input/KeyboardDevice.cs b/src/Avalonia.Base/Input/KeyboardDevice.cs index 26ff71a4e7..c46834fff4 100644 --- a/src/Avalonia.Base/Input/KeyboardDevice.cs +++ b/src/Avalonia.Base/Input/KeyboardDevice.cs @@ -156,7 +156,6 @@ namespace Avalonia.Input interactive?.RaiseEvent(new GotFocusEventArgs { - RoutedEvent = InputElement.GotFocusEvent, NavigationMethod = method, KeyModifiers = keyModifiers, }); diff --git a/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs b/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs index dd8a8f0385..c405cdfacd 100644 --- a/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs +++ b/src/Avalonia.Base/Input/PointerDeltaEventArgs.cs @@ -7,7 +7,7 @@ namespace Avalonia.Input { public class PointerDeltaEventArgs : PointerEventArgs { - public Vector Delta { get; set; } + public Vector Delta { get; } [Unstable] [Obsolete("This constructor might be removed in 12.0.")] diff --git a/src/Avalonia.Base/Input/PointerWheelEventArgs.cs b/src/Avalonia.Base/Input/PointerWheelEventArgs.cs index 3a23effa79..903019d85d 100644 --- a/src/Avalonia.Base/Input/PointerWheelEventArgs.cs +++ b/src/Avalonia.Base/Input/PointerWheelEventArgs.cs @@ -7,7 +7,7 @@ namespace Avalonia.Input { public class PointerWheelEventArgs : PointerEventArgs { - public Vector Delta { get; set; } + public Vector Delta { get; } [Unstable] [Obsolete("This constructor might be removed in 12.0. For unit testing, consider using IHeadlessWindow.MouseWheel.")] diff --git a/src/Avalonia.Base/Input/Raw/RawTextInputEventArgs.cs b/src/Avalonia.Base/Input/Raw/RawTextInputEventArgs.cs index 48c882197f..cd1cf29bcf 100644 --- a/src/Avalonia.Base/Input/Raw/RawTextInputEventArgs.cs +++ b/src/Avalonia.Base/Input/Raw/RawTextInputEventArgs.cs @@ -12,6 +12,6 @@ namespace Avalonia.Input.Raw Text = text; } - public string Text { get; set; } + public string Text { get; } } } diff --git a/src/Avalonia.Base/Input/VectorEventArgs.cs b/src/Avalonia.Base/Input/VectorEventArgs.cs index 000fd52f69..2ce95cf35a 100644 --- a/src/Avalonia.Base/Input/VectorEventArgs.cs +++ b/src/Avalonia.Base/Input/VectorEventArgs.cs @@ -5,6 +5,6 @@ namespace Avalonia.Input { public class VectorEventArgs : RoutedEventArgs { - public Vector Vector { get; set; } + public Vector Vector { get; init; } } } diff --git a/tests/Avalonia.Controls.UnitTests/ListBoxTests_Multiple.cs b/tests/Avalonia.Controls.UnitTests/ListBoxTests_Multiple.cs index b358c98a62..942eb8bf5b 100644 --- a/tests/Avalonia.Controls.UnitTests/ListBoxTests_Multiple.cs +++ b/tests/Avalonia.Controls.UnitTests/ListBoxTests_Multiple.cs @@ -28,7 +28,6 @@ namespace Avalonia.Controls.UnitTests target.Presenter.Panel.Children[1].RaiseEvent(new GotFocusEventArgs { - RoutedEvent = InputElement.GotFocusEvent, NavigationMethod = NavigationMethod.Directional, KeyModifiers = KeyModifiers.Shift }); @@ -52,7 +51,6 @@ namespace Avalonia.Controls.UnitTests target.Presenter.Panel.Children[1].RaiseEvent(new GotFocusEventArgs { - RoutedEvent = InputElement.GotFocusEvent, NavigationMethod = NavigationMethod.Directional, KeyModifiers = KeyModifiers.Control }); @@ -77,7 +75,6 @@ namespace Avalonia.Controls.UnitTests target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs { - RoutedEvent = InputElement.GotFocusEvent, NavigationMethod = NavigationMethod.Directional, KeyModifiers = KeyModifiers.Control }); diff --git a/tests/Avalonia.Controls.UnitTests/ListBoxTests_Single.cs b/tests/Avalonia.Controls.UnitTests/ListBoxTests_Single.cs index cb4e81001f..131642fc4e 100644 --- a/tests/Avalonia.Controls.UnitTests/ListBoxTests_Single.cs +++ b/tests/Avalonia.Controls.UnitTests/ListBoxTests_Single.cs @@ -33,7 +33,6 @@ namespace Avalonia.Controls.UnitTests target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs { - RoutedEvent = InputElement.GotFocusEvent, NavigationMethod = NavigationMethod.Tab, }); @@ -53,7 +52,6 @@ namespace Avalonia.Controls.UnitTests target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs { - RoutedEvent = InputElement.GotFocusEvent, NavigationMethod = NavigationMethod.Directional, }); @@ -73,7 +71,6 @@ namespace Avalonia.Controls.UnitTests target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs { - RoutedEvent = InputElement.GotFocusEvent, NavigationMethod = NavigationMethod.Directional, KeyModifiers = KeyModifiers.Control }); @@ -96,7 +93,6 @@ namespace Avalonia.Controls.UnitTests target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs { - RoutedEvent = InputElement.GotFocusEvent, NavigationMethod = NavigationMethod.Directional, KeyModifiers = KeyModifiers.Control }); From 86afa5e7b546b535397f700d399a55c2ccaec999 Mon Sep 17 00:00:00 2001 From: Max Katz Date: Tue, 24 Jan 2023 16:53:57 -0500 Subject: [PATCH 4/4] Remove redunant empty ctors --- src/Avalonia.Base/Input/KeyEventArgs.cs | 5 ----- src/Avalonia.Base/Input/TextInputEventArgs.cs | 4 ---- 2 files changed, 9 deletions(-) diff --git a/src/Avalonia.Base/Input/KeyEventArgs.cs b/src/Avalonia.Base/Input/KeyEventArgs.cs index 0eaa7d43fb..9fa097c4b1 100644 --- a/src/Avalonia.Base/Input/KeyEventArgs.cs +++ b/src/Avalonia.Base/Input/KeyEventArgs.cs @@ -5,11 +5,6 @@ namespace Avalonia.Input { public class KeyEventArgs : RoutedEventArgs { - public KeyEventArgs() - { - - } - public IKeyboardDevice? Device { get; init; } public Key Key { get; init; } diff --git a/src/Avalonia.Base/Input/TextInputEventArgs.cs b/src/Avalonia.Base/Input/TextInputEventArgs.cs index a027bec0c6..cda0103749 100644 --- a/src/Avalonia.Base/Input/TextInputEventArgs.cs +++ b/src/Avalonia.Base/Input/TextInputEventArgs.cs @@ -4,10 +4,6 @@ namespace Avalonia.Input { public class TextInputEventArgs : RoutedEventArgs { - public TextInputEventArgs() - { - - } public IKeyboardDevice? Device { get; set; } public string? Text { get; set; }