From 12e483acd16303256d68c5fa4a64de81fba64b0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pedro?= Date: Wed, 5 Feb 2020 20:31:25 +0000 Subject: [PATCH 1/3] Replaced obsolete PointerEventArgs.Device usages. --- .../DataGridColumnHeader.cs | 4 ++-- src/Avalonia.Controls/Calendar/CalendarItem.cs | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs b/src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs index 062fdeb4d3..bff2b500ae 100644 --- a/src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs +++ b/src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs @@ -326,7 +326,7 @@ namespace Avalonia.Controls if (OwningGrid != null && OwningGrid.ColumnHeaders != null) { - args.Device.Capture(this); + args.Pointer.Capture(this); _dragMode = DragMode.MouseDown; _frozenColumnsWidth = OwningGrid.ColumnsInternal.GetVisibleFrozenEdgedColumnsWidth(); @@ -391,7 +391,7 @@ namespace Avalonia.Controls SetDragCursor(mousePosition); // Variables that track drag mode states get reset in DataGridColumnHeader_LostMouseCapture - args.Device.Capture(null); + args.Pointer.Capture(null); OnLostMouseCapture(); _dragMode = DragMode.None; handled = true; diff --git a/src/Avalonia.Controls/Calendar/CalendarItem.cs b/src/Avalonia.Controls/Calendar/CalendarItem.cs index d6874e1ad6..5a2d1bbfd5 100644 --- a/src/Avalonia.Controls/Calendar/CalendarItem.cs +++ b/src/Avalonia.Controls/Calendar/CalendarItem.cs @@ -943,8 +943,8 @@ namespace Avalonia.Controls.Primitives { CalendarDayButton b = (CalendarDayButton)sender; // The button is in Pressed state. Change the state to normal. - if (e.Device.Captured == b) - e.Device.Capture(null); + if (e.Pointer.Captured == b) + e.Pointer.Capture(null); _lastCalendarDayButton = b; } } @@ -1213,8 +1213,8 @@ namespace Avalonia.Controls.Primitives { CalendarButton b = (CalendarButton)sender; // The button is in Pressed state. Change the state to normal. - if (e.Device.Captured == b) - e.Device.Capture(null); + if (e.Pointer.Captured == b) + e.Pointer.Capture(null); //b.ReleaseMouseCapture(); _lastCalendarButton = b; @@ -1224,7 +1224,7 @@ namespace Avalonia.Controls.Primitives { if (_lastCalendarDayButton != null) { - e.Device.Capture(_lastCalendarDayButton); + e.Pointer.Capture(_lastCalendarDayButton); } } @@ -1232,7 +1232,7 @@ namespace Avalonia.Controls.Primitives { if (_lastCalendarButton != null) { - e.Device.Capture(_lastCalendarButton); + e.Pointer.Capture(_lastCalendarButton); } } From 2722f509fa8eeea53521966ad956d21316a03ec6 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Tue, 14 Jan 2020 12:53:33 +0100 Subject: [PATCH 2/3] Swap order of parameters to event args. As described in #3437 the argument ordering was different to WPF/UWP causing bugs in some code ported from WPF/UWP. Use the same argument ordering as WPF/UWP. Fixes #3437 --- src/Avalonia.Controls/AutoCompleteBox.cs | 2 +- src/Avalonia.Controls/Calendar/DatePicker.cs | 2 +- src/Avalonia.Controls/Calendar/SelectedDatesCollection.cs | 4 ++-- src/Avalonia.Controls/Primitives/SelectingItemsControl.cs | 8 ++++---- .../Repeater/ItemsRepeaterElementIndexChangedEventArgs.cs | 4 ++-- src/Avalonia.Controls/SelectionChangedEventArgs.cs | 6 +++--- src/Avalonia.Controls/TreeView.cs | 4 ++-- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Avalonia.Controls/AutoCompleteBox.cs b/src/Avalonia.Controls/AutoCompleteBox.cs index 6deddef0d0..bf177d64cd 100644 --- a/src/Avalonia.Controls/AutoCompleteBox.cs +++ b/src/Avalonia.Controls/AutoCompleteBox.cs @@ -683,7 +683,7 @@ namespace Avalonia.Controls added.Add(e.NewValue); } - OnSelectionChanged(new SelectionChangedEventArgs(SelectionChangedEvent, added, removed)); + OnSelectionChanged(new SelectionChangedEventArgs(SelectionChangedEvent, removed, added)); } /// diff --git a/src/Avalonia.Controls/Calendar/DatePicker.cs b/src/Avalonia.Controls/Calendar/DatePicker.cs index 46a1f5557b..ea06bdb394 100644 --- a/src/Avalonia.Controls/Calendar/DatePicker.cs +++ b/src/Avalonia.Controls/Calendar/DatePicker.cs @@ -788,7 +788,7 @@ namespace Avalonia.Controls removedItems.Add(removedDate.Value); } - handler(this, new SelectionChangedEventArgs(SelectingItemsControl.SelectionChangedEvent, addedItems, removedItems)); + handler(this, new SelectionChangedEventArgs(SelectingItemsControl.SelectionChangedEvent, removedItems, addedItems)); } } private void OnCalendarClosed(EventArgs e) diff --git a/src/Avalonia.Controls/Calendar/SelectedDatesCollection.cs b/src/Avalonia.Controls/Calendar/SelectedDatesCollection.cs index e6e0cf7c4f..3573c67057 100644 --- a/src/Avalonia.Controls/Calendar/SelectedDatesCollection.cs +++ b/src/Avalonia.Controls/Calendar/SelectedDatesCollection.cs @@ -49,7 +49,7 @@ namespace Avalonia.Controls.Primitives private void InvokeCollectionChanged(System.Collections.IList removedItems, System.Collections.IList addedItems) { - _owner.OnSelectedDatesCollectionChanged(new SelectionChangedEventArgs(null, addedItems, removedItems)); + _owner.OnSelectedDatesCollectionChanged(new SelectionChangedEventArgs(null, removedItems, addedItems)); } /// @@ -119,7 +119,7 @@ namespace Avalonia.Controls.Primitives } } - _owner.OnSelectedDatesCollectionChanged(new SelectionChangedEventArgs(null, _addedItems, _owner.RemovedItems)); + _owner.OnSelectedDatesCollectionChanged(new SelectionChangedEventArgs(null, _owner.RemovedItems, _addedItems)); _owner.RemovedItems.Clear(); _owner.UpdateMonths(); _isRangeAdded = false; diff --git a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs b/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs index 69da211aa4..6bc4e71508 100644 --- a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs +++ b/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs @@ -939,8 +939,8 @@ namespace Avalonia.Controls.Primitives { var changed = new SelectionChangedEventArgs( SelectionChangedEvent, - added ?? Empty, - removed ?? Empty); + removed ?? Empty, + added ?? Empty); RaiseEvent(changed); } } @@ -1055,8 +1055,8 @@ namespace Avalonia.Controls.Primitives var e = new SelectionChangedEventArgs( SelectionChangedEvent, - added != -1 ? new[] { ElementAt(Items, added) } : Array.Empty(), - removed?.Select(x => ElementAt(Items, x)).ToArray() ?? Array.Empty()); + removed?.Select(x => ElementAt(Items, x)).ToArray() ?? Array.Empty(), + added != -1 ? new[] { ElementAt(Items, added) } : Array.Empty()); RaiseEvent(e); } diff --git a/src/Avalonia.Controls/Repeater/ItemsRepeaterElementIndexChangedEventArgs.cs b/src/Avalonia.Controls/Repeater/ItemsRepeaterElementIndexChangedEventArgs.cs index 7ca68140b2..bf1b80f947 100644 --- a/src/Avalonia.Controls/Repeater/ItemsRepeaterElementIndexChangedEventArgs.cs +++ b/src/Avalonia.Controls/Repeater/ItemsRepeaterElementIndexChangedEventArgs.cs @@ -12,11 +12,11 @@ namespace Avalonia.Controls /// public class ItemsRepeaterElementIndexChangedEventArgs : EventArgs { - internal ItemsRepeaterElementIndexChangedEventArgs(IControl element, int newIndex, int oldIndex) + internal ItemsRepeaterElementIndexChangedEventArgs(IControl element, int oldIndex, int newIndex) { Element = element; - NewIndex = newIndex; OldIndex = oldIndex; + NewIndex = newIndex; } /// diff --git a/src/Avalonia.Controls/SelectionChangedEventArgs.cs b/src/Avalonia.Controls/SelectionChangedEventArgs.cs index 267ddf036e..fb412a64a8 100644 --- a/src/Avalonia.Controls/SelectionChangedEventArgs.cs +++ b/src/Avalonia.Controls/SelectionChangedEventArgs.cs @@ -16,13 +16,13 @@ namespace Avalonia.Controls /// Initializes a new instance of the class. /// /// The event being raised. - /// The items added to the selection. /// The items removed from the selection. - public SelectionChangedEventArgs(RoutedEvent routedEvent, IList addedItems, IList removedItems) + /// The items added to the selection. + public SelectionChangedEventArgs(RoutedEvent routedEvent, IList removedItems, IList addedItems) : base(routedEvent) { - AddedItems = addedItems; RemovedItems = removedItems; + AddedItems = addedItems; } /// diff --git a/src/Avalonia.Controls/TreeView.cs b/src/Avalonia.Controls/TreeView.cs index 6c8d58a8dd..99e9ac2ecf 100644 --- a/src/Avalonia.Controls/TreeView.cs +++ b/src/Avalonia.Controls/TreeView.cs @@ -324,8 +324,8 @@ namespace Avalonia.Controls { var changed = new SelectionChangedEventArgs( SelectingItemsControl.SelectionChangedEvent, - added ?? Empty, - removed ?? Empty); + removed ?? Empty, + added ?? Empty); RaiseEvent(changed); } } From d5c362dffdf7cebab13ce1d7d3b755cd177fd872 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 9 Feb 2020 22:30:32 +0300 Subject: [PATCH 3/3] Update readme.md --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 783857a096..33da0e82b6 100644 --- a/readme.md +++ b/readme.md @@ -10,7 +10,7 @@ **Avalonia** is a WPF/UWP-inspired cross-platform XAML-based UI framework providing a flexible styling system and supporting a wide range of Operating Systems such as Windows (.NET Framework, .NET Core), Linux (via Xorg), macOS and with experimental support for Android and iOS. -**Avalonia** is ready for **General-Purpose Desktop App Development**. However, there may be some bugs and breaking changes as we continue along into this project's development. To see the status of some of our features, please see our [Roadmap here](https://github.com/AvaloniaUI/Avalonia/issues/2239). +**Avalonia** is ready for **General-Purpose Desktop App Development**. However, there may be some bugs and [breaking changes](https://github.com/AvaloniaUI/Avalonia/wiki/Breaking-Changes) as we continue along into this project's development. To see the status of some of our features, please see our [Roadmap here](https://github.com/AvaloniaUI/Avalonia/issues/2239). | Control catalog | Desktop platforms | Mobile platforms | |---|---|---|