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

[macOS] Introduce native TopLevelImpl #15800

Closed
wants to merge 8 commits into from

Conversation

Gillibald
Copy link
Contributor

@Gillibald Gillibald commented May 23, 2024

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.

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

@Gillibald Gillibald changed the title [macOS] Introduce native TopLevelImpl [WIP][macOS] Introduce native TopLevelImpl May 23, 2024
@Gillibald Gillibald changed the title [WIP][macOS] Introduce native TopLevelImpl [macOS] Introduce native TopLevelImpl May 24, 2024
@avaloniaui-bot
Copy link

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

Copy link
Member

@kekekeks kekekeks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor notes, lgtm in general

native/Avalonia.Native/src/OSX/AvnView.mm Outdated Show resolved Hide resolved
native/Avalonia.Native/src/OSX/AvnView.mm Outdated Show resolved Hide resolved
@avaloniaui-bot
Copy link

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

@avaloniaui-bot
Copy link

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

@avaloniaui-bot
Copy link

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

@Gillibald
Copy link
Contributor Author

Superseded by: #15932

@Gillibald Gillibald closed this Jun 13, 2024
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.

4 participants