Remove IDataObject to IDataTransfer wrappers and related methods (#20521)
* Remove IDataObject to IDataTransfer wrappers and related methods * Remove IDataObject
This commit is contained in:
committed by
GitHub
parent
5f47b4be53
commit
7b54818918
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- https://learn.microsoft.com/dotnet/fundamentals/package-validation/diagnostic-ids -->
|
||||||
|
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Headless.HeadlessWindowExtensions.DragDrop(Avalonia.Controls.TopLevel,Avalonia.Point,Avalonia.Input.Raw.RawDragEventType,Avalonia.Input.IDataObject,Avalonia.Input.DragDropEffects,Avalonia.Input.RawInputModifiers)</Target>
|
||||||
|
<Left>baseline/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll</Left>
|
||||||
|
<Right>current/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Headless.HeadlessWindowExtensions.DragDrop(Avalonia.Controls.TopLevel,Avalonia.Point,Avalonia.Input.Raw.RawDragEventType,Avalonia.Input.IDataObject,Avalonia.Input.DragDropEffects,Avalonia.Input.RawInputModifiers)</Target>
|
||||||
|
<Left>baseline/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll</Left>
|
||||||
|
<Right>current/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
</Suppressions>
|
||||||
@@ -43,6 +43,18 @@
|
|||||||
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0001</DiagnosticId>
|
||||||
|
<Target>T:Avalonia.Input.DataObjectExtensions</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0001</DiagnosticId>
|
||||||
|
<Target>T:Avalonia.Input.IDataObject</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0001</DiagnosticId>
|
<DiagnosticId>CP0001</DiagnosticId>
|
||||||
<Target>T:Avalonia.Media.Fonts.FontFamilyLoader</Target>
|
<Target>T:Avalonia.Media.Fonts.FontFamilyLoader</Target>
|
||||||
@@ -157,6 +169,18 @@
|
|||||||
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0001</DiagnosticId>
|
||||||
|
<Target>T:Avalonia.Input.DataObjectExtensions</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0001</DiagnosticId>
|
||||||
|
<Target>T:Avalonia.Input.IDataObject</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0001</DiagnosticId>
|
<DiagnosticId>CP0001</DiagnosticId>
|
||||||
<Target>T:Avalonia.Media.Fonts.FontFamilyLoader</Target>
|
<Target>T:Avalonia.Media.Fonts.FontFamilyLoader</Target>
|
||||||
@@ -241,6 +265,24 @@
|
|||||||
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>F:Avalonia.Input.DataFormats.FileNames</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>F:Avalonia.Input.DataFormats.Files</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>F:Avalonia.Input.DataFormats.Text</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0002</DiagnosticId>
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
<Target>F:Avalonia.Media.DrawingImage.ViewboxProperty</Target>
|
<Target>F:Avalonia.Media.DrawingImage.ViewboxProperty</Target>
|
||||||
@@ -289,6 +331,48 @@
|
|||||||
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DataObject.Contains(System.String)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DataObject.Get(System.String)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DataObject.GetDataFormats</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DataObject.Set(System.String,System.Object)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DragDrop.DoDragDrop(Avalonia.Input.PointerEventArgs,Avalonia.Input.IDataObject,Avalonia.Input.DragDropEffects)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DragEventArgs.#ctor(Avalonia.Interactivity.RoutedEvent{Avalonia.Input.DragEventArgs},Avalonia.Input.IDataObject,Avalonia.Interactivity.Interactive,Avalonia.Point,Avalonia.Input.KeyModifiers)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DragEventArgs.get_Data</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0002</DiagnosticId>
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
<Target>M:Avalonia.Input.IKeyboardNavigationHandler.Move(Avalonia.Input.IInputElement,Avalonia.Input.NavigationDirection,Avalonia.Input.KeyModifiers)</Target>
|
<Target>M:Avalonia.Input.IKeyboardNavigationHandler.Move(Avalonia.Input.IInputElement,Avalonia.Input.NavigationDirection,Avalonia.Input.KeyModifiers)</Target>
|
||||||
@@ -301,6 +385,60 @@
|
|||||||
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.GetDataAsync(System.String)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.GetFormatsAsync</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.GetTextAsync</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.SetDataObjectAsync(Avalonia.Input.IDataObject)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.SetTextAsync(System.String)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.TryGetInProcessDataObjectAsync</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IPlatformDragSource.DoDragDrop(Avalonia.Input.PointerEventArgs,Avalonia.Input.IDataObject,Avalonia.Input.DragDropEffects)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Raw.RawDragEvent.#ctor(Avalonia.Input.Raw.IDragDropDevice,Avalonia.Input.Raw.RawDragEventType,Avalonia.Input.IInputRoot,Avalonia.Point,Avalonia.Input.IDataObject,Avalonia.Input.DragDropEffects,Avalonia.Input.RawInputModifiers)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Raw.RawDragEvent.get_Data</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0002</DiagnosticId>
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
<Target>M:Avalonia.Input.TextInput.TextInputMethodClient.ShowInputPanel</Target>
|
<Target>M:Avalonia.Input.TextInput.TextInputMethodClient.ShowInputPanel</Target>
|
||||||
@@ -769,6 +907,24 @@
|
|||||||
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>F:Avalonia.Input.DataFormats.FileNames</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>F:Avalonia.Input.DataFormats.Files</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>F:Avalonia.Input.DataFormats.Text</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0002</DiagnosticId>
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
<Target>F:Avalonia.Media.DrawingImage.ViewboxProperty</Target>
|
<Target>F:Avalonia.Media.DrawingImage.ViewboxProperty</Target>
|
||||||
@@ -817,6 +973,48 @@
|
|||||||
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DataObject.Contains(System.String)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DataObject.Get(System.String)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DataObject.GetDataFormats</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DataObject.Set(System.String,System.Object)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DragDrop.DoDragDrop(Avalonia.Input.PointerEventArgs,Avalonia.Input.IDataObject,Avalonia.Input.DragDropEffects)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DragEventArgs.#ctor(Avalonia.Interactivity.RoutedEvent{Avalonia.Input.DragEventArgs},Avalonia.Input.IDataObject,Avalonia.Interactivity.Interactive,Avalonia.Point,Avalonia.Input.KeyModifiers)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.DragEventArgs.get_Data</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0002</DiagnosticId>
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
<Target>M:Avalonia.Input.IKeyboardNavigationHandler.Move(Avalonia.Input.IInputElement,Avalonia.Input.NavigationDirection,Avalonia.Input.KeyModifiers)</Target>
|
<Target>M:Avalonia.Input.IKeyboardNavigationHandler.Move(Avalonia.Input.IInputElement,Avalonia.Input.NavigationDirection,Avalonia.Input.KeyModifiers)</Target>
|
||||||
@@ -829,6 +1027,60 @@
|
|||||||
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.GetDataAsync(System.String)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.GetFormatsAsync</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.GetTextAsync</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.SetDataObjectAsync(Avalonia.Input.IDataObject)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.SetTextAsync(System.String)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IClipboard.TryGetInProcessDataObjectAsync</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Platform.IPlatformDragSource.DoDragDrop(Avalonia.Input.PointerEventArgs,Avalonia.Input.IDataObject,Avalonia.Input.DragDropEffects)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Raw.RawDragEvent.#ctor(Avalonia.Input.Raw.IDragDropDevice,Avalonia.Input.Raw.RawDragEventType,Avalonia.Input.IInputRoot,Avalonia.Point,Avalonia.Input.IDataObject,Avalonia.Input.DragDropEffects,Avalonia.Input.RawInputModifiers)</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
|
<Target>M:Avalonia.Input.Raw.RawDragEvent.get_Data</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0002</DiagnosticId>
|
<DiagnosticId>CP0002</DiagnosticId>
|
||||||
<Target>M:Avalonia.Input.TextInput.TextInputMethodClient.ShowInputPanel</Target>
|
<Target>M:Avalonia.Input.TextInput.TextInputMethodClient.ShowInputPanel</Target>
|
||||||
@@ -1621,6 +1873,12 @@
|
|||||||
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0008</DiagnosticId>
|
||||||
|
<Target>T:Avalonia.Input.DataObject</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0008</DiagnosticId>
|
<DiagnosticId>CP0008</DiagnosticId>
|
||||||
<Target>T:Avalonia.Media.ImmediateDrawingContext</Target>
|
<Target>T:Avalonia.Media.ImmediateDrawingContext</Target>
|
||||||
@@ -1729,6 +1987,12 @@
|
|||||||
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Vulkan.dll</Left>
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Vulkan.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net10.0/Avalonia.Vulkan.dll</Right>
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Vulkan.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0008</DiagnosticId>
|
||||||
|
<Target>T:Avalonia.Input.DataObject</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0008</DiagnosticId>
|
<DiagnosticId>CP0008</DiagnosticId>
|
||||||
<Target>T:Avalonia.Media.ImmediateDrawingContext</Target>
|
<Target>T:Avalonia.Media.ImmediateDrawingContext</Target>
|
||||||
@@ -1843,6 +2107,12 @@
|
|||||||
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0009</DiagnosticId>
|
||||||
|
<Target>T:Avalonia.Input.DataObject</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net10.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net10.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0009</DiagnosticId>
|
<DiagnosticId>CP0009</DiagnosticId>
|
||||||
<Target>T:Avalonia.Platform.Screen</Target>
|
<Target>T:Avalonia.Platform.Screen</Target>
|
||||||
@@ -1855,6 +2125,12 @@
|
|||||||
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
</Suppression>
|
</Suppression>
|
||||||
|
<Suppression>
|
||||||
|
<DiagnosticId>CP0009</DiagnosticId>
|
||||||
|
<Target>T:Avalonia.Input.DataObject</Target>
|
||||||
|
<Left>baseline/Avalonia/lib/net8.0/Avalonia.Base.dll</Left>
|
||||||
|
<Right>current/Avalonia/lib/net8.0/Avalonia.Base.dll</Right>
|
||||||
|
</Suppression>
|
||||||
<Suppression>
|
<Suppression>
|
||||||
<DiagnosticId>CP0009</DiagnosticId>
|
<DiagnosticId>CP0009</DiagnosticId>
|
||||||
<Target>T:Avalonia.Platform.Screen</Target>
|
<Target>T:Avalonia.Platform.Screen</Target>
|
||||||
|
|||||||
@@ -1,56 +1,11 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.ComponentModel;
|
|
||||||
using Avalonia.Input.Platform;
|
|
||||||
|
|
||||||
namespace Avalonia.Input
|
namespace Avalonia.Input;
|
||||||
{
|
|
||||||
public static class DataFormats
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Dataformat for plaintext
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete($"Use {nameof(DataFormat)}.{nameof(DataFormat.Text)} instead.")]
|
|
||||||
public static readonly string Text = nameof(Text);
|
|
||||||
|
|
||||||
/// <summary>
|
// TODO13: remove
|
||||||
/// Dataformat for one or more files.
|
/// <summary>
|
||||||
/// </summary>
|
/// This class does not do anything anymore.
|
||||||
[Obsolete($"Use {nameof(DataFormat)}.{nameof(DataFormat.File)} instead.")]
|
/// Use <see cref="DataFormat"/> instead.
|
||||||
public static readonly string Files = nameof(Files);
|
/// </summary>
|
||||||
|
[Obsolete($"Use {nameof(DataFormat)} instead", true)]
|
||||||
/// <summary>
|
public static class DataFormats;
|
||||||
/// Dataformat for one or more filenames
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// This data format is supported only on desktop platforms.
|
|
||||||
/// </remarks>
|
|
||||||
[Obsolete($"Use {nameof(DataFormat)}.{nameof(DataFormat.File)} instead."), EditorBrowsable(EditorBrowsableState.Never)]
|
|
||||||
public static readonly string FileNames = nameof(FileNames);
|
|
||||||
|
|
||||||
#pragma warning disable CS0618 // Type or member is obsolete
|
|
||||||
|
|
||||||
internal static DataFormat ToDataFormat(string format)
|
|
||||||
{
|
|
||||||
if (format == Text)
|
|
||||||
return DataFormat.Text;
|
|
||||||
|
|
||||||
if (format == Files || format == FileNames)
|
|
||||||
return DataFormat.File;
|
|
||||||
|
|
||||||
return DataFormat.CreateBytesPlatformFormat(format);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal static string ToString(DataFormat format)
|
|
||||||
{
|
|
||||||
if (DataFormat.Text.Equals(format))
|
|
||||||
return Text;
|
|
||||||
|
|
||||||
if (DataFormat.File.Equals(format))
|
|
||||||
return Files;
|
|
||||||
|
|
||||||
return format.Identifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma warning restore CS0618 // Type or member is obsolete
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,40 +1,11 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace Avalonia.Input
|
namespace Avalonia.Input;
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Specific and mutable implementation of the IDataObject interface.
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete($"Use {nameof(DataTransfer)} instead")]
|
|
||||||
public class DataObject : IDataObject
|
|
||||||
{
|
|
||||||
private readonly Dictionary<string, object> _items = new();
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
// TODO13: remove
|
||||||
public bool Contains(string dataFormat)
|
/// <summary>
|
||||||
{
|
/// This class does not do anything anymore.
|
||||||
return _items.ContainsKey(dataFormat);
|
/// Use <see cref="DataTransfer"/> instead.
|
||||||
}
|
/// </summary>
|
||||||
|
[Obsolete($"Use {nameof(DataTransfer)} instead", true)]
|
||||||
/// <inheritdoc />
|
public sealed class DataObject;
|
||||||
public object? Get(string dataFormat)
|
|
||||||
{
|
|
||||||
return _items.TryGetValue(dataFormat, out var item) ? item : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public IEnumerable<string> GetDataFormats()
|
|
||||||
{
|
|
||||||
return _items.Keys;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Sets a value to the internal store of the data object with <see cref="DataFormats"/> as a key.
|
|
||||||
/// </summary>
|
|
||||||
public void Set(string dataFormat, object value)
|
|
||||||
{
|
|
||||||
_items[dataFormat] = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Linq;
|
|
||||||
using Avalonia.Platform.Storage;
|
|
||||||
|
|
||||||
#pragma warning disable CS0618 // Type or member is obsolete
|
|
||||||
|
|
||||||
namespace Avalonia.Input
|
|
||||||
{
|
|
||||||
// TODO12: remove
|
|
||||||
public static class DataObjectExtensions
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Returns a list of files if the DataObject contains files or filenames.
|
|
||||||
/// <seealso cref="DataFormats.Files"/>.
|
|
||||||
/// </summary>
|
|
||||||
/// <returns>
|
|
||||||
/// Collection of storage items - files or folders. If format isn't available, returns null.
|
|
||||||
/// </returns>
|
|
||||||
public static IEnumerable<IStorageItem>? GetFiles(this IDataObject dataObject)
|
|
||||||
{
|
|
||||||
return dataObject.Get(DataFormats.Files) as IEnumerable<IStorageItem>;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Returns a list of filenames if the DataObject contains filenames.
|
|
||||||
/// <seealso cref="DataFormats.FileNames"/>
|
|
||||||
/// </summary>
|
|
||||||
/// <returns>
|
|
||||||
/// Collection of file names. If format isn't available, returns null.
|
|
||||||
/// </returns>
|
|
||||||
[System.Obsolete("Use GetFiles, this method is supported only on desktop platforms."), EditorBrowsable(EditorBrowsableState.Never)]
|
|
||||||
public static IEnumerable<string>? GetFileNames(this IDataObject dataObject)
|
|
||||||
{
|
|
||||||
return (dataObject.Get(DataFormats.FileNames) as IEnumerable<string>)
|
|
||||||
?? dataObject.GetFiles()?
|
|
||||||
.Select(f => f.TryGetLocalPath())
|
|
||||||
.Where(p => !string.IsNullOrEmpty(p))
|
|
||||||
.OfType<string>();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Returns the dragged text if the DataObject contains any text.
|
|
||||||
/// <seealso cref="DataFormats.Text"/>
|
|
||||||
/// </summary>
|
|
||||||
/// <returns>
|
|
||||||
/// A text string. If format isn't available, returns null.
|
|
||||||
/// </returns>
|
|
||||||
public static string? GetText(this IDataObject dataObject)
|
|
||||||
{
|
|
||||||
return dataObject.Get(DataFormats.Text) as string;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
using System;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Avalonia.Input.Platform;
|
|
||||||
using Avalonia.Media.Imaging;
|
using Avalonia.Media.Imaging;
|
||||||
using Avalonia.Platform.Storage;
|
using Avalonia.Platform.Storage;
|
||||||
|
|
||||||
@@ -14,11 +12,6 @@ namespace Avalonia.Input;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static class DataTransferExtensions
|
public static class DataTransferExtensions
|
||||||
{
|
{
|
||||||
[Obsolete]
|
|
||||||
internal static IDataObject ToLegacyDataObject(this IDataTransfer dataTransfer)
|
|
||||||
=> (dataTransfer as DataObjectToDataTransferWrapper)?.DataObject
|
|
||||||
?? new DataTransferToDataObjectWrapper(dataTransfer);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets whether a <see cref="IDataTransfer"/> supports a specific format.
|
/// Gets whether a <see cref="IDataTransfer"/> supports a specific format.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -122,16 +122,6 @@ namespace Avalonia.Input
|
|||||||
element.RemoveHandler(DropEvent, handler);
|
element.RemoveHandler(DropEvent, handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Starts a dragging operation with the given <see cref="IDataObject"/> and returns the applied drop effect from the target.
|
|
||||||
/// <seealso cref="DataObject"/>
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete($"Use {nameof(DoDragDropAsync)} instead.")]
|
|
||||||
public static Task<DragDropEffects> DoDragDrop(PointerEventArgs triggerEvent, IDataObject data, DragDropEffects allowedEffects)
|
|
||||||
{
|
|
||||||
return DoDragDropAsync(triggerEvent, new DataObjectToDataTransferWrapper(data), allowedEffects);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Starts a dragging operation with the given <see cref="IDataTransfer"/> and returns the applied drop effect from the target.
|
/// Starts a dragging operation with the given <see cref="IDataTransfer"/> and returns the applied drop effect from the target.
|
||||||
/// <seealso cref="DataTransfer"/>
|
/// <seealso cref="DataTransfer"/>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using Avalonia.Input.Platform;
|
|
||||||
using Avalonia.Interactivity;
|
using Avalonia.Interactivity;
|
||||||
using Avalonia.Metadata;
|
using Avalonia.Metadata;
|
||||||
|
|
||||||
@@ -9,16 +8,11 @@ namespace Avalonia.Input
|
|||||||
{
|
{
|
||||||
private readonly Interactive _target;
|
private readonly Interactive _target;
|
||||||
private readonly Point _targetLocation;
|
private readonly Point _targetLocation;
|
||||||
[Obsolete] private IDataObject? _legacyDataObject;
|
|
||||||
|
|
||||||
public DragDropEffects DragEffects { get; set; }
|
public DragDropEffects DragEffects { get; set; }
|
||||||
|
|
||||||
public IDataTransfer DataTransfer { get; }
|
public IDataTransfer DataTransfer { get; }
|
||||||
|
|
||||||
[Obsolete($"Use {nameof(DataTransfer)} instead.")]
|
|
||||||
public IDataObject Data
|
|
||||||
=> _legacyDataObject ??= DataTransfer.ToLegacyDataObject();
|
|
||||||
|
|
||||||
public KeyModifiers KeyModifiers { get; }
|
public KeyModifiers KeyModifiers { get; }
|
||||||
|
|
||||||
public Point GetPosition(Visual relativeTo)
|
public Point GetPosition(Visual relativeTo)
|
||||||
@@ -31,17 +25,6 @@ namespace Avalonia.Input
|
|||||||
return _target.TranslatePoint(_targetLocation, relativeTo) ?? new Point(0, 0);
|
return _target.TranslatePoint(_targetLocation, relativeTo) ?? new Point(0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete($"Use the constructor accepting a {nameof(IDataTransfer)} instance instead.")]
|
|
||||||
public DragEventArgs(
|
|
||||||
RoutedEvent<DragEventArgs> routedEvent,
|
|
||||||
IDataObject data,
|
|
||||||
Interactive target,
|
|
||||||
Point targetLocation,
|
|
||||||
KeyModifiers keyModifiers)
|
|
||||||
: this(routedEvent, new DataObjectToDataTransferWrapper(data), target, targetLocation, keyModifiers)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
[Unstable("This constructor might be removed in 12.0. For unit testing, consider using DragDrop.DoDragDrop or IHeadlessWindow.DragDrop.")]
|
[Unstable("This constructor might be removed in 12.0. For unit testing, consider using DragDrop.DoDragDrop or IHeadlessWindow.DragDrop.")]
|
||||||
public DragEventArgs(
|
public DragEventArgs(
|
||||||
RoutedEvent<DragEventArgs> routedEvent,
|
RoutedEvent<DragEventArgs> routedEvent,
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace Avalonia.Input
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Interface to access information about the data of a drag-and-drop operation.
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete($"Use {nameof(IDataTransfer)} or {nameof(IAsyncDataTransfer)} instead")]
|
|
||||||
public interface IDataObject
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Lists all formats which are present in the DataObject.
|
|
||||||
/// <seealso cref="DataFormats"/>
|
|
||||||
/// </summary>
|
|
||||||
IEnumerable<string> GetDataFormats();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Checks whether a given DataFormat is present in this object
|
|
||||||
/// <seealso cref="DataFormats"/>
|
|
||||||
/// </summary>
|
|
||||||
bool Contains(string dataFormat);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Tries to get the data of the given DataFormat.
|
|
||||||
/// </summary>
|
|
||||||
/// <returns>
|
|
||||||
/// Object data. If format isn't available, returns null.
|
|
||||||
/// </returns>
|
|
||||||
object? Get(string dataFormat);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,4 @@
|
|||||||
using System;
|
using System.Threading.Tasks;
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Avalonia.Compatibility;
|
|
||||||
using Avalonia.Platform.Storage;
|
|
||||||
|
|
||||||
namespace Avalonia.Input.Platform;
|
namespace Avalonia.Input.Platform;
|
||||||
|
|
||||||
@@ -15,12 +10,6 @@ internal sealed class Clipboard(IClipboardImpl clipboardImpl) : IClipboard
|
|||||||
private readonly IClipboardImpl _clipboardImpl = clipboardImpl;
|
private readonly IClipboardImpl _clipboardImpl = clipboardImpl;
|
||||||
private IAsyncDataTransfer? _lastDataTransfer;
|
private IAsyncDataTransfer? _lastDataTransfer;
|
||||||
|
|
||||||
Task<string?> IClipboard.GetTextAsync()
|
|
||||||
=> this.TryGetTextAsync();
|
|
||||||
|
|
||||||
Task IClipboard.SetTextAsync(string? text)
|
|
||||||
=> this.SetValueAsync(DataFormat.Text, text);
|
|
||||||
|
|
||||||
public Task ClearAsync()
|
public Task ClearAsync()
|
||||||
{
|
{
|
||||||
_lastDataTransfer?.Dispose();
|
_lastDataTransfer?.Dispose();
|
||||||
@@ -29,10 +18,6 @@ internal sealed class Clipboard(IClipboardImpl clipboardImpl) : IClipboard
|
|||||||
return _clipboardImpl.ClearAsync();
|
return _clipboardImpl.ClearAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete($"Use {nameof(SetDataAsync)} instead.")]
|
|
||||||
Task IClipboard.SetDataObjectAsync(IDataObject data)
|
|
||||||
=> SetDataAsync(new DataObjectToDataTransferWrapper(data));
|
|
||||||
|
|
||||||
public Task SetDataAsync(IAsyncDataTransfer? dataTransfer)
|
public Task SetDataAsync(IAsyncDataTransfer? dataTransfer)
|
||||||
{
|
{
|
||||||
if (dataTransfer is null)
|
if (dataTransfer is null)
|
||||||
@@ -47,47 +32,9 @@ internal sealed class Clipboard(IClipboardImpl clipboardImpl) : IClipboard
|
|||||||
public Task FlushAsync()
|
public Task FlushAsync()
|
||||||
=> _clipboardImpl is IFlushableClipboardImpl flushable ? flushable.FlushAsync() : Task.CompletedTask;
|
=> _clipboardImpl is IFlushableClipboardImpl flushable ? flushable.FlushAsync() : Task.CompletedTask;
|
||||||
|
|
||||||
async Task<string[]> IClipboard.GetFormatsAsync()
|
|
||||||
{
|
|
||||||
var dataTransfer = await TryGetDataAsync();
|
|
||||||
return dataTransfer is null ? [] : dataTransfer.Formats.Select(DataFormats.ToString).ToArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
[Obsolete($"Use {nameof(TryGetDataAsync)} instead.")]
|
|
||||||
async Task<object?> IClipboard.GetDataAsync(string format)
|
|
||||||
{
|
|
||||||
// No ConfigureAwait(false) here: we want TryGetXxxAsync() below to be called on the initial thread.
|
|
||||||
using var dataTransfer = await TryGetDataAsync();
|
|
||||||
if (dataTransfer is null)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
if (format == DataFormats.Text)
|
|
||||||
return await dataTransfer.TryGetTextAsync().ConfigureAwait(false);
|
|
||||||
|
|
||||||
if (format == DataFormats.Files)
|
|
||||||
return await dataTransfer.TryGetFilesAsync().ConfigureAwait(false);
|
|
||||||
|
|
||||||
if (format == DataFormats.FileNames)
|
|
||||||
{
|
|
||||||
return (await dataTransfer.TryGetFilesAsync().ConfigureAwait(false))
|
|
||||||
?.Select(file => file.TryGetLocalPath())
|
|
||||||
.Where(path => path is not null)
|
|
||||||
.ToArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task<IAsyncDataTransfer?> TryGetDataAsync()
|
public Task<IAsyncDataTransfer?> TryGetDataAsync()
|
||||||
=> _clipboardImpl.TryGetDataAsync();
|
=> _clipboardImpl.TryGetDataAsync();
|
||||||
|
|
||||||
[Obsolete($"Use {nameof(TryGetInProcessDataAsync)} instead.")]
|
|
||||||
async Task<IDataObject?> IClipboard.TryGetInProcessDataObjectAsync()
|
|
||||||
{
|
|
||||||
var dataTransfer = await TryGetInProcessDataAsync().ConfigureAwait(false);
|
|
||||||
return (dataTransfer as DataObjectToDataTransferWrapper)?.DataObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<IAsyncDataTransfer?> TryGetInProcessDataAsync()
|
public async Task<IAsyncDataTransfer?> TryGetInProcessDataAsync()
|
||||||
{
|
{
|
||||||
if (_lastDataTransfer is null || _clipboardImpl is not IOwnedClipboardImpl ownedClipboardImpl)
|
if (_lastDataTransfer is null || _clipboardImpl is not IOwnedClipboardImpl ownedClipboardImpl)
|
||||||
|
|||||||
@@ -1,76 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using System.IO;
|
|
||||||
using System.Text;
|
|
||||||
using Avalonia.Compatibility;
|
|
||||||
|
|
||||||
namespace Avalonia.Input.Platform;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Wraps a legacy <see cref="IDataObject"/> into a <see cref="IDataTransferItem"/>.
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete]
|
|
||||||
internal sealed class DataObjectToDataTransferItemWrapper(
|
|
||||||
IDataObject dataObject,
|
|
||||||
DataFormat[] formats,
|
|
||||||
string[] formatStrings)
|
|
||||||
: PlatformDataTransferItem
|
|
||||||
{
|
|
||||||
private readonly IDataObject _dataObject = dataObject;
|
|
||||||
private readonly DataFormat[] _formats = formats;
|
|
||||||
private readonly string[] _formatStrings = formatStrings;
|
|
||||||
|
|
||||||
protected override DataFormat[] ProvideFormats()
|
|
||||||
=> _formats;
|
|
||||||
|
|
||||||
protected override object? TryGetRawCore(DataFormat format)
|
|
||||||
{
|
|
||||||
var index = Array.IndexOf(Formats, format);
|
|
||||||
if (index < 0)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
// We should never have DataFormat.File here, it's been handled by DataObjectToDataTransferWrapper.
|
|
||||||
Debug.Assert(!DataFormat.File.Equals(format));
|
|
||||||
|
|
||||||
var formatString = _formatStrings[index];
|
|
||||||
var data = _dataObject.Get(formatString);
|
|
||||||
|
|
||||||
if (DataFormat.Text.Equals(format))
|
|
||||||
return Convert.ToString(data) ?? string.Empty;
|
|
||||||
|
|
||||||
if (format is DataFormat<string>)
|
|
||||||
return Convert.ToString(data);
|
|
||||||
|
|
||||||
if (format is DataFormat<byte[]>)
|
|
||||||
return ConvertLegacyDataToBytes(format, data);
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static byte[]? ConvertLegacyDataToBytes(DataFormat format, object? data)
|
|
||||||
{
|
|
||||||
switch (data)
|
|
||||||
{
|
|
||||||
case null:
|
|
||||||
return null;
|
|
||||||
|
|
||||||
case byte[] bytes:
|
|
||||||
return bytes;
|
|
||||||
|
|
||||||
case string str:
|
|
||||||
return OperatingSystemEx.IsWindows() || OperatingSystemEx.IsMacOS() || OperatingSystemEx.IsIOS() ?
|
|
||||||
Encoding.Unicode.GetBytes(str) :
|
|
||||||
Encoding.UTF8.GetBytes(str);
|
|
||||||
|
|
||||||
case Stream stream:
|
|
||||||
var length = (int)(stream.Length - stream.Position);
|
|
||||||
var buffer = new byte[length];
|
|
||||||
|
|
||||||
stream.ReadExactly(buffer, 0, length);
|
|
||||||
return buffer;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Diagnostics.CodeAnalysis;
|
|
||||||
using System.Linq;
|
|
||||||
using Avalonia.Platform.Storage;
|
|
||||||
using Avalonia.Platform.Storage.FileIO;
|
|
||||||
|
|
||||||
namespace Avalonia.Input.Platform;
|
|
||||||
|
|
||||||
#pragma warning disable CS0618 // Type or member is obsolete: usages of IDataObject and DataFormats
|
|
||||||
|
|
||||||
// TODO12: remove
|
|
||||||
/// <summary>
|
|
||||||
/// Wraps a legacy <see cref="IDataObject"/> into a <see cref="IDataTransfer"/>.
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete]
|
|
||||||
internal sealed class DataObjectToDataTransferWrapper(IDataObject dataObject)
|
|
||||||
: PlatformDataTransfer
|
|
||||||
{
|
|
||||||
public IDataObject DataObject { get; } = dataObject;
|
|
||||||
|
|
||||||
protected override DataFormat[] ProvideFormats()
|
|
||||||
=> DataObject.GetDataFormats().Select(DataFormats.ToDataFormat).Distinct().ToArray();
|
|
||||||
|
|
||||||
protected override PlatformDataTransferItem[] ProvideItems()
|
|
||||||
{
|
|
||||||
var items = new List<PlatformDataTransferItem>();
|
|
||||||
var nonFileFormats = new List<DataFormat>();
|
|
||||||
var nonFileFormatStrings = new List<string>();
|
|
||||||
var hasFiles = false;
|
|
||||||
|
|
||||||
foreach (var formatString in DataObject.GetDataFormats())
|
|
||||||
{
|
|
||||||
var format = DataFormats.ToDataFormat(formatString);
|
|
||||||
|
|
||||||
if (formatString == DataFormats.Files)
|
|
||||||
{
|
|
||||||
if (hasFiles)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// This is not ideal as we're reading the filenames ahead of time to generate the appropriate items.
|
|
||||||
// We don't really care about that for this legacy wrapper.
|
|
||||||
if (DataObject.Get(formatString) is IEnumerable<IStorageItem> storageItems)
|
|
||||||
{
|
|
||||||
hasFiles = true;
|
|
||||||
|
|
||||||
foreach (var storageItem in storageItems)
|
|
||||||
items.Add(PlatformDataTransferItem.Create(DataFormat.File, storageItem));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (formatString == DataFormats.FileNames)
|
|
||||||
{
|
|
||||||
if (hasFiles)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (DataObject.Get(formatString) is IEnumerable<string> fileNames)
|
|
||||||
{
|
|
||||||
hasFiles = true;
|
|
||||||
|
|
||||||
foreach (var fileName in fileNames)
|
|
||||||
{
|
|
||||||
if (StorageProviderHelpers.TryCreateBclStorageItem(fileName) is { } storageItem)
|
|
||||||
items.Add(PlatformDataTransferItem.Create(DataFormat.File, storageItem));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
nonFileFormats.Add(format);
|
|
||||||
nonFileFormatStrings.Add(formatString);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nonFileFormats.Count > 0)
|
|
||||||
{
|
|
||||||
Debug.Assert(nonFileFormats.Count == nonFileFormatStrings.Count);
|
|
||||||
|
|
||||||
// Single item containing all formats except for DataFormat.File.
|
|
||||||
items.Add(new DataObjectToDataTransferItemWrapper(
|
|
||||||
DataObject,
|
|
||||||
nonFileFormats.ToArray(),
|
|
||||||
nonFileFormatStrings.ToArray()));
|
|
||||||
}
|
|
||||||
|
|
||||||
return items.ToArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
[SuppressMessage(
|
|
||||||
"ReSharper",
|
|
||||||
"SuspiciousTypeConversion.Global",
|
|
||||||
Justification = "IDisposable may be implemented externally by the IDataObject instance.")]
|
|
||||||
public override void Dispose()
|
|
||||||
=> (DataObject as IDisposable)?.Dispose();
|
|
||||||
}
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using Avalonia.Platform.Storage;
|
|
||||||
|
|
||||||
namespace Avalonia.Input.Platform;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Wraps a <see cref="IDataTransfer"/> into a legacy <see cref="IDataObject"/>.
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete]
|
|
||||||
internal sealed class DataTransferToDataObjectWrapper(IDataTransfer dataTransfer) : IDataObject
|
|
||||||
{
|
|
||||||
public IDataTransfer DataTransfer { get; } = dataTransfer;
|
|
||||||
|
|
||||||
public IEnumerable<string> GetDataFormats()
|
|
||||||
=> DataTransfer.Formats.Select(DataFormats.ToString);
|
|
||||||
|
|
||||||
public bool Contains(string dataFormat)
|
|
||||||
=> DataTransfer.Contains(DataFormats.ToDataFormat(dataFormat));
|
|
||||||
|
|
||||||
public object? Get(string dataFormat)
|
|
||||||
{
|
|
||||||
if (dataFormat == DataFormats.Text)
|
|
||||||
return DataTransfer.TryGetText();
|
|
||||||
|
|
||||||
if (dataFormat == DataFormats.Files)
|
|
||||||
return DataTransfer.TryGetFiles();
|
|
||||||
|
|
||||||
if (dataFormat == DataFormats.FileNames)
|
|
||||||
{
|
|
||||||
return DataTransfer
|
|
||||||
.TryGetFiles()
|
|
||||||
?.Select(file => file.TryGetLocalPath())
|
|
||||||
.Where(path => path is not null)
|
|
||||||
.ToArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
using System;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Avalonia.Metadata;
|
using Avalonia.Metadata;
|
||||||
|
|
||||||
@@ -10,41 +9,11 @@ namespace Avalonia.Input.Platform
|
|||||||
[NotClientImplementable]
|
[NotClientImplementable]
|
||||||
public interface IClipboard
|
public interface IClipboard
|
||||||
{
|
{
|
||||||
// TODO12: remove, ClipboardExtensions.TryGetTextAsync exists
|
|
||||||
/// <summary>
|
|
||||||
/// Returns a string containing the text data on the clipboard.
|
|
||||||
/// </summary>
|
|
||||||
/// <returns>A string containing text data, or null if no corresponding text data is available.</returns>
|
|
||||||
[Obsolete($"Use {nameof(ClipboardExtensions)}.{nameof(ClipboardExtensions.TryGetTextAsync)} instead")]
|
|
||||||
Task<string?> GetTextAsync();
|
|
||||||
|
|
||||||
// TODO12: remove, ClipboardExtensions.SetTextAsync exists
|
|
||||||
/// <summary>
|
|
||||||
/// Places a text on the clipboard.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="text">The text value to set.</param>
|
|
||||||
/// <remarks>
|
|
||||||
/// <para>By calling this method, the clipboard will get cleared of any possible previous data.</para>
|
|
||||||
/// <para>
|
|
||||||
/// If <paramref name="text"/> is null or empty, nothing will get placed on the clipboard and this method
|
|
||||||
/// will be equivalent to <see cref="ClearAsync"/>.
|
|
||||||
/// </para>
|
|
||||||
/// </remarks>
|
|
||||||
Task SetTextAsync(string? text);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Clears any data from the system clipboard.
|
/// Clears any data from the system clipboard.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Task ClearAsync();
|
Task ClearAsync();
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Places a specified non-persistent data object on the system Clipboard.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="data">A data object (an object that implements <see cref="IDataObject"/>) to place on the system Clipboard.</param>
|
|
||||||
/// <exception cref="System.ArgumentNullException"><paramref name="data"/> is null.</exception>
|
|
||||||
[Obsolete($"Use {nameof(SetDataAsync)} instead.")]
|
|
||||||
Task SetDataObjectAsync(IDataObject data);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Places a data object on the clipboard.
|
/// Places a data object on the clipboard.
|
||||||
/// The data object is responsible for providing supported formats and data upon request.
|
/// The data object is responsible for providing supported formats and data upon request.
|
||||||
@@ -69,20 +38,6 @@ namespace Avalonia.Input.Platform
|
|||||||
/// <remarks>This method is only supported on the Windows platform. This method will do nothing on other platforms.</remarks>
|
/// <remarks>This method is only supported on the Windows platform. This method will do nothing on other platforms.</remarks>
|
||||||
Task FlushAsync();
|
Task FlushAsync();
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Get list of available Clipboard format.
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete($"Use {nameof(ClipboardExtensions.GetDataFormatsAsync)} instead.")]
|
|
||||||
Task<string[]> GetFormatsAsync();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Retrieves data in a specified format from the Clipboard.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="format">A string that specifies the format of the data to retrieve. For a set of predefined data formats, see the <see cref="DataFormats"/> class.</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
[Obsolete($"Use {nameof(TryGetDataAsync)} instead.")]
|
|
||||||
Task<object?> GetDataAsync(string format);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Retrieves data from the clipboard.
|
/// Retrieves data from the clipboard.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -95,16 +50,6 @@ namespace Avalonia.Input.Platform
|
|||||||
/// </remarks>
|
/// </remarks>
|
||||||
Task<IAsyncDataTransfer?> TryGetDataAsync();
|
Task<IAsyncDataTransfer?> TryGetDataAsync();
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// If clipboard contains the IDataObject that was set by a previous call to <see cref="SetDataObjectAsync(Avalonia.Input.IDataObject)"/>,
|
|
||||||
/// return said IDataObject instance. Otherwise, return null.
|
|
||||||
/// Note that not every platform supports that method, on unsupported platforms this method will always return
|
|
||||||
/// null
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
[Obsolete($"Use {nameof(TryGetInProcessDataAsync)} instead.")]
|
|
||||||
Task<IDataObject?> TryGetInProcessDataObjectAsync();
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Retrieves the exact instance of a <see cref="IAsyncDataTransfer"/> previously placed on the clipboard
|
/// Retrieves the exact instance of a <see cref="IAsyncDataTransfer"/> previously placed on the clipboard
|
||||||
/// by <see cref="SetDataAsync"/>, if any.
|
/// by <see cref="SetDataAsync"/>, if any.
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System.Threading.Tasks;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Avalonia.Metadata;
|
using Avalonia.Metadata;
|
||||||
|
|
||||||
namespace Avalonia.Input.Platform
|
namespace Avalonia.Input.Platform
|
||||||
@@ -7,12 +6,6 @@ namespace Avalonia.Input.Platform
|
|||||||
[NotClientImplementable]
|
[NotClientImplementable]
|
||||||
public interface IPlatformDragSource
|
public interface IPlatformDragSource
|
||||||
{
|
{
|
||||||
[Obsolete($"Use {nameof(DoDragDropAsync)} instead.")]
|
|
||||||
Task<DragDropEffects> DoDragDrop(
|
|
||||||
PointerEventArgs triggerEvent,
|
|
||||||
IDataObject data,
|
|
||||||
DragDropEffects allowedEffects);
|
|
||||||
|
|
||||||
Task<DragDropEffects> DoDragDropAsync(
|
Task<DragDropEffects> DoDragDropAsync(
|
||||||
PointerEventArgs triggerEvent,
|
PointerEventArgs triggerEvent,
|
||||||
IDataTransfer dataTransfer,
|
IDataTransfer dataTransfer,
|
||||||
|
|||||||
@@ -1,40 +1,20 @@
|
|||||||
using System;
|
using Avalonia.Metadata;
|
||||||
using Avalonia.Input.Platform;
|
|
||||||
using Avalonia.Metadata;
|
|
||||||
|
|
||||||
namespace Avalonia.Input.Raw
|
namespace Avalonia.Input.Raw
|
||||||
{
|
{
|
||||||
[PrivateApi]
|
[PrivateApi]
|
||||||
public class RawDragEvent : RawInputEventArgs
|
public class RawDragEvent : RawInputEventArgs
|
||||||
{
|
{
|
||||||
[Obsolete] private IDataObject? _legacyDataObject;
|
|
||||||
|
|
||||||
public Point Location { get; set; }
|
public Point Location { get; set; }
|
||||||
|
|
||||||
public IDataTransfer DataTransfer { get; }
|
public IDataTransfer DataTransfer { get; }
|
||||||
|
|
||||||
[Obsolete($"Use {nameof(DataTransfer)} instead.")]
|
|
||||||
public IDataObject Data
|
|
||||||
=> _legacyDataObject ??= DataTransfer.ToLegacyDataObject();
|
|
||||||
|
|
||||||
public DragDropEffects Effects { get; set; }
|
public DragDropEffects Effects { get; set; }
|
||||||
|
|
||||||
public RawDragEventType Type { get; }
|
public RawDragEventType Type { get; }
|
||||||
|
|
||||||
public KeyModifiers KeyModifiers { get; }
|
public KeyModifiers KeyModifiers { get; }
|
||||||
|
|
||||||
[Obsolete($"Use the constructor accepting a {nameof(IDataTransfer)} instance instead.")]
|
|
||||||
public RawDragEvent(IDragDropDevice inputDevice,
|
|
||||||
RawDragEventType type,
|
|
||||||
IInputRoot root,
|
|
||||||
Point location,
|
|
||||||
IDataObject data,
|
|
||||||
DragDropEffects effects,
|
|
||||||
RawInputModifiers modifiers)
|
|
||||||
: this(inputDevice, type, root, location, new DataObjectToDataTransferWrapper(data), effects, modifiers)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public RawDragEvent(
|
public RawDragEvent(
|
||||||
IDragDropDevice inputDevice,
|
IDragDropDevice inputDevice,
|
||||||
RawDragEventType type,
|
RawDragEventType type,
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System.Linq;
|
||||||
using System.Linq;
|
|
||||||
using Avalonia.Reactive;
|
using Avalonia.Reactive;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
@@ -31,13 +30,6 @@ namespace Avalonia.Platform
|
|||||||
_dragDrop = AvaloniaLocator.Current.GetRequiredService<IDragDropDevice>();
|
_dragDrop = AvaloniaLocator.Current.GetRequiredService<IDragDropDevice>();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete($"Use {nameof(DoDragDropAsync)} instead.")]
|
|
||||||
Task<DragDropEffects> IPlatformDragSource.DoDragDrop(
|
|
||||||
PointerEventArgs triggerEvent,
|
|
||||||
IDataObject data,
|
|
||||||
DragDropEffects allowedEffects)
|
|
||||||
=> DoDragDropAsync(triggerEvent, new DataObjectToDataTransferWrapper(data), allowedEffects);
|
|
||||||
|
|
||||||
public async Task<DragDropEffects> DoDragDropAsync(
|
public async Task<DragDropEffects> DoDragDropAsync(
|
||||||
PointerEventArgs triggerEvent,
|
PointerEventArgs triggerEvent,
|
||||||
IDataTransfer dataTransfer,
|
IDataTransfer dataTransfer,
|
||||||
|
|||||||
@@ -223,26 +223,12 @@ namespace Avalonia.DesignerSupport.Remote
|
|||||||
|
|
||||||
class ClipboardStub : IClipboard
|
class ClipboardStub : IClipboard
|
||||||
{
|
{
|
||||||
public Task<string?> GetTextAsync() => Task.FromResult<string?>(null);
|
|
||||||
|
|
||||||
public Task SetTextAsync(string? text) => Task.CompletedTask;
|
|
||||||
|
|
||||||
public Task ClearAsync() => Task.CompletedTask;
|
public Task ClearAsync() => Task.CompletedTask;
|
||||||
|
|
||||||
[Obsolete($"Use {nameof(SetDataAsync)} instead.")]
|
|
||||||
public Task SetDataObjectAsync(IDataObject data) => Task.CompletedTask;
|
|
||||||
|
|
||||||
public Task SetDataAsync(IAsyncDataTransfer? dataTransfer) => Task.CompletedTask;
|
public Task SetDataAsync(IAsyncDataTransfer? dataTransfer) => Task.CompletedTask;
|
||||||
|
|
||||||
public Task<string[]> GetFormatsAsync() => Task.FromResult<string[]>([]);
|
|
||||||
|
|
||||||
public Task<object?> GetDataAsync(string format) => Task.FromResult<object?>(null);
|
|
||||||
|
|
||||||
public Task<IAsyncDataTransfer?> TryGetDataAsync() => Task.FromResult<IAsyncDataTransfer?>(null);
|
public Task<IAsyncDataTransfer?> TryGetDataAsync() => Task.FromResult<IAsyncDataTransfer?>(null);
|
||||||
|
|
||||||
[Obsolete($"Use {nameof(TryGetInProcessDataAsync)} instead.")]
|
|
||||||
public Task<IDataObject?> TryGetInProcessDataObjectAsync() => Task.FromResult<IDataObject?>(null);
|
|
||||||
|
|
||||||
public Task FlushAsync() => Task.CompletedTask;
|
public Task FlushAsync() => Task.CompletedTask;
|
||||||
|
|
||||||
public Task<IAsyncDataTransfer?> TryGetInProcessDataAsync() => Task.FromResult<IAsyncDataTransfer?>(null);
|
public Task<IAsyncDataTransfer?> TryGetInProcessDataAsync() => Task.FromResult<IAsyncDataTransfer?>(null);
|
||||||
|
|||||||
@@ -32,13 +32,6 @@ namespace Avalonia.Native
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete($"Use {nameof(DoDragDropAsync)} instead.")]
|
|
||||||
Task<DragDropEffects> IPlatformDragSource.DoDragDrop(
|
|
||||||
PointerEventArgs triggerEvent,
|
|
||||||
IDataObject data,
|
|
||||||
DragDropEffects allowedEffects)
|
|
||||||
=> DoDragDropAsync(triggerEvent, new DataObjectToDataTransferWrapper(data), allowedEffects);
|
|
||||||
|
|
||||||
public Task<DragDropEffects> DoDragDropAsync(
|
public Task<DragDropEffects> DoDragDropAsync(
|
||||||
PointerEventArgs triggerEvent,
|
PointerEventArgs triggerEvent,
|
||||||
IDataTransfer dataTransfer,
|
IDataTransfer dataTransfer,
|
||||||
|
|||||||
@@ -121,14 +121,6 @@ public static class HeadlessWindowExtensions
|
|||||||
RawInputModifiers modifiers = RawInputModifiers.None) =>
|
RawInputModifiers modifiers = RawInputModifiers.None) =>
|
||||||
RunJobsOnImpl(topLevel, w => w.MouseWheel(point, delta, modifiers));
|
RunJobsOnImpl(topLevel, w => w.MouseWheel(point, delta, modifiers));
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Simulates a drag and drop target event on the headless window/toplevel. This event simulates a user moving files from another app to the current app.
|
|
||||||
/// </summary>
|
|
||||||
[Obsolete($"Use the overload accepting a {nameof(IDataTransfer)} instance instead.")]
|
|
||||||
public static void DragDrop(this TopLevel topLevel, Point point, RawDragEventType type, IDataObject data,
|
|
||||||
DragDropEffects effects, RawInputModifiers modifiers = RawInputModifiers.None) =>
|
|
||||||
RunJobsOnImpl(topLevel, w => w.DragDrop(point, type, data, effects, modifiers));
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Simulates a drag and drop target event on the headless window/toplevel. This event simulates a user moving files from another app to the current app.
|
/// Simulates a drag and drop target event on the headless window/toplevel. This event simulates a user moving files from another app to the current app.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -349,13 +349,6 @@ namespace Avalonia.Headless
|
|||||||
point, delta, modifiers));
|
point, delta, modifiers));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete($"Use the overload accepting a {nameof(IDataTransfer)} instance instead.")]
|
|
||||||
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, new DataObjectToDataTransferWrapper(data), effects, modifiers));
|
|
||||||
}
|
|
||||||
|
|
||||||
void IHeadlessWindow.DragDrop(Point point, RawDragEventType type, IDataTransfer data, DragDropEffects effects, RawInputModifiers modifiers)
|
void IHeadlessWindow.DragDrop(Point point, RawDragEventType type, IDataTransfer data, DragDropEffects effects, RawInputModifiers modifiers)
|
||||||
{
|
{
|
||||||
var device = AvaloniaLocator.Current.GetRequiredService<IDragDropDevice>();
|
var device = AvaloniaLocator.Current.GetRequiredService<IDragDropDevice>();
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ namespace Avalonia.Headless
|
|||||||
void MouseMove(Point point, RawInputModifiers modifiers = RawInputModifiers.None);
|
void MouseMove(Point point, RawInputModifiers modifiers = RawInputModifiers.None);
|
||||||
void MouseUp(Point point, MouseButton button, RawInputModifiers modifiers = RawInputModifiers.None);
|
void MouseUp(Point point, MouseButton button, RawInputModifiers modifiers = RawInputModifiers.None);
|
||||||
void MouseWheel(Point point, Vector delta, RawInputModifiers modifiers = RawInputModifiers.None);
|
void MouseWheel(Point point, Vector delta, RawInputModifiers modifiers = RawInputModifiers.None);
|
||||||
[Obsolete($"Use the overload accepting a {nameof(IDataTransfer)} instance instead.")]
|
|
||||||
void DragDrop(Point point, RawDragEventType type, IDataObject data, DragDropEffects effects, RawInputModifiers modifiers = RawInputModifiers.None);
|
|
||||||
void DragDrop(Point point, RawDragEventType type, IDataTransfer data, DragDropEffects effects, RawInputModifiers modifiers = RawInputModifiers.None);
|
void DragDrop(Point point, RawDragEventType type, IDataTransfer data, DragDropEffects effects, RawInputModifiers modifiers = RawInputModifiers.None);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System.Threading.Tasks;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Input.Platform;
|
using Avalonia.Input.Platform;
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
@@ -10,13 +9,6 @@ namespace Avalonia.Win32
|
|||||||
{
|
{
|
||||||
internal sealed class DragSource : IPlatformDragSource
|
internal sealed class DragSource : IPlatformDragSource
|
||||||
{
|
{
|
||||||
[Obsolete($"Use {nameof(DoDragDropAsync)} instead.")]
|
|
||||||
Task<DragDropEffects> IPlatformDragSource.DoDragDrop(
|
|
||||||
PointerEventArgs triggerEvent,
|
|
||||||
IDataObject data,
|
|
||||||
DragDropEffects allowedEffects)
|
|
||||||
=> DoDragDropAsync(triggerEvent, new DataObjectToDataTransferWrapper(data), allowedEffects);
|
|
||||||
|
|
||||||
public Task<DragDropEffects> DoDragDropAsync(
|
public Task<DragDropEffects> DoDragDropAsync(
|
||||||
PointerEventArgs triggerEvent,
|
PointerEventArgs triggerEvent,
|
||||||
IDataTransfer dataTransfer,
|
IDataTransfer dataTransfer,
|
||||||
|
|||||||
Reference in New Issue
Block a user