Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update #2

Merged
merged 279 commits into from
Sep 27, 2024
Merged

update #2

merged 279 commits into from
Sep 27, 2024

Conversation

dbriard
Copy link
Owner

@dbriard dbriard commented Sep 27, 2024

What does the pull request do?

What is the current behavior?

What is the updated/expected behavior with this PR?

How was the solution implemented (if it's not obvious)?

Checklist

Breaking changes

Obsoletions / Deprecations

Fixed issues

ijklam and others added 30 commits May 6, 2024 09:06
…icationManager (#15628)

* Add Close and ClearAll api for INotificationManager

* Remove notification card item on close

* Make _notificationCards readonly

* Clear _notificationCards when detached from visual tree

* Update Avalonia.nupkg.xml

* Use cancellationToken = default instead of null

* Rename ClearAll to CloseAll for consistency with Close method naming

* Remove cancellationToken param from Show method for better compatibility

* Update Avalonia.nupkg.xml

---------

Co-authored-by: Jumar Macato <16554748+jmacato@users.noreply.github.com>
…Through (#15517)

* Updated Popup to raise the pass-through overlay dismiss event prior to possibly closing the popup when a pointer is pressed.  Added the PopupFlyoutBase.OverlayDismissEventPassThrough property and updated logic in Button.

* Updated SplitButton logic to handle OverlayDismissEventPassThrough scenarios.

* Updated CalendarDatePicker logic to handle OverlayDismissEventPassThrough scenarios.

* Updated ComboBox logic to handle OverlayDismissEventPassThrough scenarios.

* Removed unncessary ComboBox.PopupClosed logic that focused the control.  This was problematic when the popup was open with OverlayDismissEventPassThrough and clicking onto another control.  Focus would not move to the clicked control.

* Fixed the Clicking_On_Control_PseudoClass unit test to properly recognize pseudo-class behavior change.

* Added a couple unit tests to FlyoutTests.
…iorities (#13802)

* Replace "Active Styles" dev tools analysis with "Active Value Frames"

* Remove old diagnostic methods from public API (breaking change)

* Show full style selectors

* Avoid unnecessary value setters by checking if color was actually changed

* Run UpdateStyles from the dispatcher to fix flickering issue

* Fix build
* support PerformContextMenuAction

* update

* update to new api
By default disable the `UseSaveLayerRootClip` option: this will re-enable subpixel rendering, fixing #15015 but causing #14270 to reappear.

Until the required API is added to SkiaSharp you have to choose one or the other :(
* Add TreeViewAutomationPeer for TreeView

* Add TreeViewItemAutomationPeer for TreeViewItem

* Add missing xml doc
* Implement missing WriteAsync/BeginWrite/BeginRead browser stream methods

* Optimize/hack StreamHelper.write to use buffer directly
* Removed index to display index map so that nth child selector can work with current data.

* Iterate to find the index of the column taking visibility into account.

* Don't rely on VisibleColumnCount since it is updated later.

* Don't take visibility into account when evaluating nth-child and nth-last-child.
Co-authored-by: Jumar Macato <16554748+jmacato@users.noreply.github.com>
* OpenGL via API lease example

* Hide glClearDepth internals

* Missing file
* Added failing tests for #15081.

* Provide target property in BindingExpression ctor.

Usually it is not necessary to provide the target property when creating a `BindingExpression` because the property will be assigned when the binding expression is attached to the target in `BindingExpressionBase.Attach`.

This is however one case where `Attach` is not called: when the obsolete `binding.Initiate` method is called and then an observable is read from the `InstancedBinding` without the binding actually being attached to the target object. In this case, prior to the binding refactor in #13970 the value produced by the observable was still converted to the target type. After #13970, because the target property (and hence the target type) is not yet set, the conversion is to the target type is no longer done.

`DataGrid` uses this obsolete method when editing cells, causing #15081. Ideally we'd fix that in `DataGrid` but I'm not happy making this change so close to 11.1, so instead fix this use-case to behave as before.

Fixes #15081
* Add HotKeys Page to DevTools

* Centralize hotkeys and hoist into DevToolsOptions
* Refactored WASM rendering, added MT support for dispatcher

* Update src/Browser/Avalonia.Browser/WindowingPlatform.cs

* net8 fixes

---------

Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Added failing test for #15201.

* Handle nested BindingNotifications.

When #13970 was written, [a check](https://github.com/AvaloniaUI/Avalonia/pull/13970/files#diff-cfb25a491b9452e1815aa2c0d71465aaf81e99792a88a04a1a2ed572fd1930ffR60) was added to ensure that nested `BindingNotification`s didn't happen, and the refactor was written with the assumption that they wouldn't happen.

The problem is that they _do_ happen: when a source object implements both `INotifyDataErrorInfo` and had data annotations, then the nested data validation plugins would each wrap the value coming from the previous plugin in a new `BindingNotification`, resulting in nested `BindingNotifications`.

This adds support for nested binding notifications back in - even though IMO nesting binding notifications is a bug, if we're doing it and we previously supported it then we should continue to support it.

Fixes #15201
* Add failing KeySpline tests

* Fix Animator for progress values less than zero

---------

Co-authored-by: Jumar Macato <16554748+jmacato@users.noreply.github.com>
Comparing WindowVersion with Windows8_1 instead of Windows8

Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Fix duplicated trimming attributes warning in Markup.Xaml.Loader

* Fix nullability warnings

* Update ImageSharp to 2.1.8

* Removed obsolete attributes on ValueStore

* Ignore CA1815 on private API RenderTargetProperties

* Fix switch expression warnings

* Fix warnings in Vulkan project

* Only include PThread for WasmEnableThreads

* Rename pollfd to PollFd to fix CS8981

* Fix incompatible packages being used in ControlCatalog.Desktop

---------

Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Try to normalize family names in case some known name is included in the requested family name

* Implicit Typeface loading

* Avoid null family names

* Fix system font collection

* Fix unit tests on macOS
MrJul and others added 29 commits September 12, 2024 19:16
* Added failing geometry bounds tests

* Fixed geometry bounds

* Fixed RenderboundsTests

---------

Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* Implement AvaloniaObject on ResourceProvider

* ColorPaletteResources and ColorPaletteResourcesCollection should inherit ResourceProvider

* Use ResourceProvider in tests too

* Adjust API diff

---------

Co-authored-by: Steven Kirk <grokys@users.noreply.github.com>
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
)

* Update XamlX

* Include nested types PR as well

* Fix Designer.HostApp compilation on older targets
* Make base project internals visible to DiagnosticsSupport, just in case for now

* Make ValueStoreDiagnostic diagnostic API more usable with wider range of types

* Add MultiBindingExpression internal members for visibilty
* Added failing binding tests

* Fix bindings without property path

---------

Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* Extract EffectiveValue notification methods to reduce code size

* Extract non-generic members from frequently used generic types
* Added failing XAML test for binding inside setters

* Fixed wrong XAML parsing of child value in setters
* Validate visual parent on attaching to the tree

* Update Visual.cs
* Reset pressed mouse buttons on drag on macOS

* Make draggable borders easier to click in ControlCatalog
* fix Automation.HelpText on windows

* change breaking abstract to virtual

* only fall back to tooltip if string

* remove duplicate override

---------

Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* Enable VisualBrush to be used as Visual's OpacityMask

* Add missing test file

---------

Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
The `AvaloniaNative.GlPlatformSurface.CreateGlRenderTarget` method can only be called on the UI thread. In normal circumstances this method is called in response to a call to `TopLevel.HandlePaint` from the native `AvnView.updateLayer` method. However, a customer was experiencing a problem where `AvnView.updateLayer` and by extension `TopLevel.HandlePaint` were being called before the window is shown. This broke the creation of the GL render target.
* Use scalable rasterization for visual brush

* Make ConfigureSceneBrushContentWithPicture less byzantine

---------

Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* fix Automation.HelpText on windows

* fix AutomationProperties.HelpText on macos

* change breaking abstract to virtual

* only fall back to tooltip if string

* remove duplicate override

* fix AutomationProperties.HelpText on macos
…down. (#17074)

* Added failing AutoCompleteBox test.

* Make sure that flags are reset if exits early.

Wrap everything in a `try`...`finally` block so that they get reset even on exception.
…17116)

* Add attribute

* Replace `SetLastError = true` with `Marshal.GetLastSystemError()`

* Make Avalonia.Base and Avalonia.Skia compatible with DisableRuntimeMarshalling

* First step in Android DisableRuntimeMarshalling support

* Make Avalonia.Browser compatible

* Set EnableRuntimeMarshalling=true on all projects we are not yet ready to support without runtime marshalling
* Add failing test for #16746

* Always read the value from the target object.

The value must be read from the target object instead of using the value from the event because the value may have changed again between the time the event was raised and now: if that occurs in a two-way binding then we end up with a stack overflow.
* Ignore null terminator and replace them with a zero space before shaping

* Replace multiple null terminators at random positions
@dbriard dbriard merged commit 1f99c6e into dbriard:master Sep 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.