Skip to content

Avalonia.Native TopLevel embedding#15932

Merged
maxkatz6 merged 2 commits into
AvaloniaUI:masterfrom
Gillibald:macEmbedding
Jun 19, 2024
Merged

Avalonia.Native TopLevel embedding#15932
maxkatz6 merged 2 commits into
AvaloniaUI:masterfrom
Gillibald:macEmbedding

Conversation

@Gillibald

@Gillibald Gillibald commented Jun 6, 2024

Copy link
Copy Markdown
Contributor

What does the pull request do?

This PR introduces a TopLevelImpl for the Avalonia.Native backend. The WindowBaseImpl previously implemented this layer.

This makes it possible to have more embedding solutions that only require an NSView.

Ime interaction with Popups is also fixed. Only the Popup's parent window is the key window so that is responding to key events but Avalonia isn't using the parent's text input method. Hence, we must pretend the Popup's input method is the parent's.

Sample: https://github.com/AvaloniaUI/Xamarin.Mac.Interop

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

Comment thread src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs Outdated
Comment thread src/Windows/Avalonia.Win32/Win32Platform.cs Outdated
Comment thread samples/interop/Xamarin.Mac.Interop/AvaloniaView.cs Outdated
Comment thread src/Avalonia.Base/Platform/IMacOSTopLevelPlatformHandle.cs Outdated
Comment thread samples/interop/Xamarin.Mac.Interop/AvaloniaView.cs Outdated
@avaloniaui-bot

Copy link
Copy Markdown

You can test this PR using the following package version. 11.2.999-cibuild0048965-alpha. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

@avaloniaui-bot

Copy link
Copy Markdown

You can test this PR using the following package version. 11.2.999-cibuild0048984-alpha. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

@Gillibald Gillibald changed the title [WIP] Avalonia.Native TopLevel embedding Avalonia.Native TopLevel embedding Jun 13, 2024
@avaloniaui-bot

Copy link
Copy Markdown

You can test this PR using the following package version. 11.2.999-cibuild0049041-alpha. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

Comment thread src/Avalonia.Controls/Platform/IWindowBaseImpl.cs Outdated
@avaloniaui-bot

Copy link
Copy Markdown

You can test this PR using the following package version. 11.2.999-cibuild0049103-alpha. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

@avaloniaui-bot

Copy link
Copy Markdown

You can test this PR using the following package version. 11.2.999-cibuild0049108-alpha. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

@avaloniaui-bot

Copy link
Copy Markdown

You can test this PR using the following package version. 11.2.999-cibuild0049150-alpha. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

@maxkatz6
maxkatz6 merged commit 143399f into AvaloniaUI:master Jun 19, 2024
Gillibald added a commit to Gillibald/Avalonia that referenced this pull request Jul 29, 2024
* Introduce Avalonia.Native TopLevelImpl

* Update Avalonia.Native.csproj

Revert change
Gillibald added a commit that referenced this pull request Jul 30, 2024
* Introduce Avalonia.Native TopLevelImpl

* Update Avalonia.Native.csproj

Revert change
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants