Browse Source

Merge pull request #9902 from AvaloniaUI/revert-public-ctors-removal

Revert #8860 (removal of public constructors)
pull/10085/head
Jumar Macato 4 years ago
committed by GitHub
parent
commit
284d7b8569
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      src/Avalonia.Base/Input/DragEventArgs.cs
  2. 7
      src/Avalonia.Base/Input/GotFocusEventArgs.cs
  3. 11
      src/Avalonia.Base/Input/KeyEventArgs.cs
  4. 1
      src/Avalonia.Base/Input/KeyboardDevice.cs
  5. 8
      src/Avalonia.Base/Input/PointerDeltaEventArgs.cs
  6. 5
      src/Avalonia.Base/Input/PointerEventArgs.cs
  7. 8
      src/Avalonia.Base/Input/PointerWheelEventArgs.cs
  8. 2
      src/Avalonia.Base/Input/Raw/RawTextInputEventArgs.cs
  9. 4
      src/Avalonia.Base/Input/ScrollGestureEventArgs.cs
  10. 3
      src/Avalonia.Base/Input/TappedEventArgs.cs
  11. 4
      src/Avalonia.Base/Input/TextInputEventArgs.cs
  12. 7
      src/Avalonia.Base/Input/VectorEventArgs.cs
  13. 2
      src/Avalonia.Base/Layout/EffectiveViewportChangedEventArgs.cs
  14. 2
      src/Avalonia.Base/Rendering/SceneInvalidatedEventArgs.cs
  15. 12
      src/Avalonia.Headless/HeadlessWindowImpl.cs
  16. 3
      src/Avalonia.Headless/IHeadlessWindow.cs
  17. 3
      tests/Avalonia.Controls.UnitTests/ListBoxTests_Multiple.cs
  18. 4
      tests/Avalonia.Controls.UnitTests/ListBoxTests_Single.cs

5
src/Avalonia.Base/Input/DragEventArgs.cs

@ -1,5 +1,6 @@
using System; using System;
using Avalonia.Interactivity; using Avalonia.Interactivity;
using Avalonia.Metadata;
using Avalonia.VisualTree; using Avalonia.VisualTree;
namespace Avalonia.Input namespace Avalonia.Input
@ -32,7 +33,9 @@ namespace Avalonia.Input
return point; return point;
} }
internal DragEventArgs(RoutedEvent<DragEventArgs> routedEvent, IDataObject data, Interactive target, Point targetLocation, KeyModifiers keyModifiers) [Unstable]
[Obsolete("This constructor might be removed in 12.0. For unit testing, consider using DragDrop.DoDragDrop or IHeadlessWindow.DragDrop.")]
public DragEventArgs(RoutedEvent<DragEventArgs> routedEvent, IDataObject data, Interactive target, Point targetLocation, KeyModifiers keyModifiers)
: base(routedEvent) : base(routedEvent)
{ {
Data = data; Data = data;

7
src/Avalonia.Base/Input/GotFocusEventArgs.cs

@ -7,19 +7,18 @@ namespace Avalonia.Input
/// </summary> /// </summary>
public class GotFocusEventArgs : RoutedEventArgs public class GotFocusEventArgs : RoutedEventArgs
{ {
internal GotFocusEventArgs() public GotFocusEventArgs() : base(InputElement.GotFocusEvent)
{ {
} }
/// <summary> /// <summary>
/// Gets or sets a value indicating how the change in focus occurred. /// Gets or sets a value indicating how the change in focus occurred.
/// </summary> /// </summary>
public NavigationMethod NavigationMethod { get; set; } public NavigationMethod NavigationMethod { get; init; }
/// <summary> /// <summary>
/// Gets or sets any key modifiers active at the time of focus. /// Gets or sets any key modifiers active at the time of focus.
/// </summary> /// </summary>
public KeyModifiers KeyModifiers { get; set; } public KeyModifiers KeyModifiers { get; init; }
} }
} }

11
src/Avalonia.Base/Input/KeyEventArgs.cs

@ -5,15 +5,10 @@ namespace Avalonia.Input
{ {
public class KeyEventArgs : RoutedEventArgs public class KeyEventArgs : RoutedEventArgs
{ {
public KeyEventArgs() public IKeyboardDevice? Device { get; init; }
{
} public Key Key { get; init; }
public IKeyboardDevice? Device { get; set; } public KeyModifiers KeyModifiers { get; init; }
public Key Key { get; set; }
public KeyModifiers KeyModifiers { get; set; }
} }
} }

1
src/Avalonia.Base/Input/KeyboardDevice.cs

@ -156,7 +156,6 @@ namespace Avalonia.Input
interactive?.RaiseEvent(new GotFocusEventArgs interactive?.RaiseEvent(new GotFocusEventArgs
{ {
RoutedEvent = InputElement.GotFocusEvent,
NavigationMethod = method, NavigationMethod = method,
KeyModifiers = keyModifiers, KeyModifiers = keyModifiers,
}); });

8
src/Avalonia.Base/Input/PointerDeltaEventArgs.cs

@ -1,13 +1,17 @@
using System;
using Avalonia.Interactivity; using Avalonia.Interactivity;
using Avalonia.Metadata;
using Avalonia.VisualTree; using Avalonia.VisualTree;
namespace Avalonia.Input namespace Avalonia.Input
{ {
public class PointerDeltaEventArgs : PointerEventArgs public class PointerDeltaEventArgs : PointerEventArgs
{ {
public Vector Delta { get; set; } public Vector Delta { get; }
internal PointerDeltaEventArgs(RoutedEvent routedEvent, object? source, [Unstable]
[Obsolete("This constructor might be removed in 12.0.")]
public PointerDeltaEventArgs(RoutedEvent routedEvent, object? source,
IPointer pointer, Visual rootVisual, Point rootVisualPosition, ulong timestamp, IPointer pointer, Visual rootVisual, Point rootVisualPosition, ulong timestamp,
PointerPointProperties properties, KeyModifiers modifiers, Vector delta) PointerPointProperties properties, KeyModifiers modifiers, Vector delta)
: base(routedEvent, source, pointer, rootVisual, rootVisualPosition, : base(routedEvent, source, pointer, rootVisual, rootVisualPosition,

5
src/Avalonia.Base/Input/PointerEventArgs.cs

@ -2,6 +2,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using Avalonia.Input.Raw; using Avalonia.Input.Raw;
using Avalonia.Interactivity; using Avalonia.Interactivity;
using Avalonia.Metadata;
using Avalonia.VisualTree; using Avalonia.VisualTree;
namespace Avalonia.Input namespace Avalonia.Input
@ -13,7 +14,9 @@ namespace Avalonia.Input
private readonly PointerPointProperties _properties; private readonly PointerPointProperties _properties;
private readonly Lazy<IReadOnlyList<RawPointerPoint>?>? _previousPoints; private readonly Lazy<IReadOnlyList<RawPointerPoint>?>? _previousPoints;
internal PointerEventArgs(RoutedEvent routedEvent, [Unstable]
[Obsolete("This constructor might be removed in 12.0. For unit testing, consider using IHeadlessWindow mouse methods.")]
public PointerEventArgs(RoutedEvent routedEvent,
object? source, object? source,
IPointer pointer, IPointer pointer,
Visual? rootVisual, Point rootVisualPosition, Visual? rootVisual, Point rootVisualPosition,

8
src/Avalonia.Base/Input/PointerWheelEventArgs.cs

@ -1,13 +1,17 @@
using System;
using Avalonia.Interactivity; using Avalonia.Interactivity;
using Avalonia.Metadata;
using Avalonia.VisualTree; using Avalonia.VisualTree;
namespace Avalonia.Input namespace Avalonia.Input
{ {
public class PointerWheelEventArgs : PointerEventArgs public class PointerWheelEventArgs : PointerEventArgs
{ {
public Vector Delta { get; set; } public Vector Delta { get; }
internal PointerWheelEventArgs(object source, IPointer pointer, Visual rootVisual, [Unstable]
[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, Point rootVisualPosition, ulong timestamp,
PointerPointProperties properties, KeyModifiers modifiers, Vector delta) PointerPointProperties properties, KeyModifiers modifiers, Vector delta)
: base(InputElement.PointerWheelChangedEvent, source, pointer, rootVisual, rootVisualPosition, : base(InputElement.PointerWheelChangedEvent, source, pointer, rootVisual, rootVisualPosition,

2
src/Avalonia.Base/Input/Raw/RawTextInputEventArgs.cs

@ -12,6 +12,6 @@ namespace Avalonia.Input.Raw
Text = text; Text = text;
} }
public string Text { get; set; } public string Text { get; }
} }
} }

4
src/Avalonia.Base/Input/ScrollGestureEventArgs.cs

@ -14,7 +14,7 @@ namespace Avalonia.Input
public static int GetNextFreeId() => _nextId++; 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; Id = id;
Delta = delta; Delta = delta;
@ -25,7 +25,7 @@ namespace Avalonia.Input
{ {
public int Id { get; } public int Id { get; }
internal ScrollGestureEndedEventArgs(int id) : base(Gestures.ScrollGestureEndedEvent) public ScrollGestureEndedEventArgs(int id) : base(Gestures.ScrollGestureEndedEvent)
{ {
Id = id; Id = id;
} }

3
src/Avalonia.Base/Input/TappedEventArgs.cs

@ -1,3 +1,4 @@
using System;
using Avalonia.Interactivity; using Avalonia.Interactivity;
using Avalonia.VisualTree; using Avalonia.VisualTree;
@ -7,7 +8,7 @@ namespace Avalonia.Input
{ {
private readonly PointerEventArgs lastPointerEventArgs; private readonly PointerEventArgs lastPointerEventArgs;
internal TappedEventArgs(RoutedEvent routedEvent, PointerEventArgs lastPointerEventArgs) public TappedEventArgs(RoutedEvent routedEvent, PointerEventArgs lastPointerEventArgs)
: base(routedEvent) : base(routedEvent)
{ {
this.lastPointerEventArgs = lastPointerEventArgs; this.lastPointerEventArgs = lastPointerEventArgs;

4
src/Avalonia.Base/Input/TextInputEventArgs.cs

@ -4,10 +4,6 @@ namespace Avalonia.Input
{ {
public class TextInputEventArgs : RoutedEventArgs public class TextInputEventArgs : RoutedEventArgs
{ {
public TextInputEventArgs()
{
}
public IKeyboardDevice? Device { get; set; } public IKeyboardDevice? Device { get; set; }
public string? Text { get; set; } public string? Text { get; set; }

7
src/Avalonia.Base/Input/VectorEventArgs.cs

@ -5,11 +5,6 @@ namespace Avalonia.Input
{ {
public class VectorEventArgs : RoutedEventArgs public class VectorEventArgs : RoutedEventArgs
{ {
internal VectorEventArgs() public Vector Vector { get; init; }
{
}
public Vector Vector { get; set; }
} }
} }

2
src/Avalonia.Base/Layout/EffectiveViewportChangedEventArgs.cs

@ -7,7 +7,7 @@ namespace Avalonia.Layout
/// </summary> /// </summary>
public class EffectiveViewportChangedEventArgs : EventArgs public class EffectiveViewportChangedEventArgs : EventArgs
{ {
internal EffectiveViewportChangedEventArgs(Rect effectiveViewport) public EffectiveViewportChangedEventArgs(Rect effectiveViewport)
{ {
EffectiveViewport = effectiveViewport; EffectiveViewport = effectiveViewport;
} }

2
src/Avalonia.Base/Rendering/SceneInvalidatedEventArgs.cs

@ -12,7 +12,7 @@ namespace Avalonia.Rendering
/// </summary> /// </summary>
/// <param name="root">The render root that has been updated.</param> /// <param name="root">The render root that has been updated.</param>
/// <param name="dirtyRect">The updated area.</param> /// <param name="dirtyRect">The updated area.</param>
internal SceneInvalidatedEventArgs( public SceneInvalidatedEventArgs(
IRenderRoot root, IRenderRoot root,
Rect dirtyRect) Rect dirtyRect)
{ {

12
src/Avalonia.Headless/HeadlessWindowImpl.cs

@ -284,6 +284,18 @@ namespace Avalonia.Headless
button == 1 ? RawPointerEventType.MiddleButtonUp : RawPointerEventType.RightButtonUp, button == 1 ? RawPointerEventType.MiddleButtonUp : RawPointerEventType.RightButtonUp,
point, modifiers)); 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<IDragDropDevice>();
Input?.Invoke(new RawDragEvent(device, type, InputRoot, point, data, effects, modifiers));
}
void IWindowImpl.Move(PixelPoint point) void IWindowImpl.Move(PixelPoint point)
{ {

3
src/Avalonia.Headless/IHeadlessWindow.cs

@ -1,4 +1,5 @@
using Avalonia.Input; using Avalonia.Input;
using Avalonia.Input.Raw;
using Avalonia.Media.Imaging; using Avalonia.Media.Imaging;
using Avalonia.Platform; using Avalonia.Platform;
using Avalonia.Utilities; using Avalonia.Utilities;
@ -13,5 +14,7 @@ namespace Avalonia.Headless
void MouseDown(Point point, int button, RawInputModifiers modifiers = RawInputModifiers.None); void MouseDown(Point point, int button, RawInputModifiers modifiers = RawInputModifiers.None);
void MouseMove(Point point, RawInputModifiers modifiers = RawInputModifiers.None); void MouseMove(Point point, RawInputModifiers modifiers = RawInputModifiers.None);
void MouseUp(Point point, int button, 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);
} }
} }

3
tests/Avalonia.Controls.UnitTests/ListBoxTests_Multiple.cs

@ -28,7 +28,6 @@ namespace Avalonia.Controls.UnitTests
target.Presenter.Panel.Children[1].RaiseEvent(new GotFocusEventArgs target.Presenter.Panel.Children[1].RaiseEvent(new GotFocusEventArgs
{ {
RoutedEvent = InputElement.GotFocusEvent,
NavigationMethod = NavigationMethod.Directional, NavigationMethod = NavigationMethod.Directional,
KeyModifiers = KeyModifiers.Shift KeyModifiers = KeyModifiers.Shift
}); });
@ -52,7 +51,6 @@ namespace Avalonia.Controls.UnitTests
target.Presenter.Panel.Children[1].RaiseEvent(new GotFocusEventArgs target.Presenter.Panel.Children[1].RaiseEvent(new GotFocusEventArgs
{ {
RoutedEvent = InputElement.GotFocusEvent,
NavigationMethod = NavigationMethod.Directional, NavigationMethod = NavigationMethod.Directional,
KeyModifiers = KeyModifiers.Control KeyModifiers = KeyModifiers.Control
}); });
@ -77,7 +75,6 @@ namespace Avalonia.Controls.UnitTests
target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs
{ {
RoutedEvent = InputElement.GotFocusEvent,
NavigationMethod = NavigationMethod.Directional, NavigationMethod = NavigationMethod.Directional,
KeyModifiers = KeyModifiers.Control KeyModifiers = KeyModifiers.Control
}); });

4
tests/Avalonia.Controls.UnitTests/ListBoxTests_Single.cs

@ -33,7 +33,6 @@ namespace Avalonia.Controls.UnitTests
target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs
{ {
RoutedEvent = InputElement.GotFocusEvent,
NavigationMethod = NavigationMethod.Tab, NavigationMethod = NavigationMethod.Tab,
}); });
@ -53,7 +52,6 @@ namespace Avalonia.Controls.UnitTests
target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs
{ {
RoutedEvent = InputElement.GotFocusEvent,
NavigationMethod = NavigationMethod.Directional, NavigationMethod = NavigationMethod.Directional,
}); });
@ -73,7 +71,6 @@ namespace Avalonia.Controls.UnitTests
target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs
{ {
RoutedEvent = InputElement.GotFocusEvent,
NavigationMethod = NavigationMethod.Directional, NavigationMethod = NavigationMethod.Directional,
KeyModifiers = KeyModifiers.Control KeyModifiers = KeyModifiers.Control
}); });
@ -96,7 +93,6 @@ namespace Avalonia.Controls.UnitTests
target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs target.Presenter.Panel.Children[0].RaiseEvent(new GotFocusEventArgs
{ {
RoutedEvent = InputElement.GotFocusEvent,
NavigationMethod = NavigationMethod.Directional, NavigationMethod = NavigationMethod.Directional,
KeyModifiers = KeyModifiers.Control KeyModifiers = KeyModifiers.Control
}); });

Loading…
Cancel
Save