-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Introduce PresentationSource, move some responsibilities from TopLevel #20624
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
Open
kekekeks
wants to merge
24
commits into
master
Choose a base branch
from
feature/presentation-source
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,368
−803
Open
Changes from 11 commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
2af8b86
Extracted IInputRoot out of TopLevel
kekekeks 14dcc3a
Move some input handling out of TopLevel
kekekeks c81090d
Remove old class, make layout manager private
kekekeks 0ba1402
Removed IRenderRoot
kekekeks 95604dd
Make VisualTreeAttachmentEventArgs a bit more sensible
kekekeks 8445428
Move ILayoutRoot to PresentationSource
kekekeks 1c41ef7
Updated some VisualRoot / GetVisualRoot usages
kekekeks 5286505
Updated more XxxRoot usages
kekekeks 668b751
More Root usages
kekekeks 0de7fd1
Addressed review
kekekeks e17e35e
Hurr-durr xml
kekekeks de4f620
More fixes
kekekeks 3f7513b
Maybe fix android compilation
kekekeks 7a1ca70
API diff
kekekeks 7001ae1
Yet another cast
kekekeks 34ac9c9
I had to use MSIL analysis to detect those casts
kekekeks 4e85b02
Fixed automation
kekekeks de2d7d5
Fix PointerOverPreProcessor
kekekeks a5a2029
Fix?
kekekeks 101dc30
Removed yet another cast to Visual
kekekeks 9d09887
The amount of random downcasts is astonishing
kekekeks c850ed1
Maybe fix mac
kekekeks 596bf1f
Addressed review
kekekeks aeb8ae2
Merge branch 'master' into feature/presentation-source
kekekeks File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -583,7 +583,10 @@ protected override void OnDetachedFromVisualTreeCore(VisualTreeAttachmentEventAr | |
|
|
||
| if (IsFocused) | ||
| { | ||
| FocusManager.GetFocusManager(e.Root as IInputElement)?.ClearFocusOnElementRemoved(this, e.Parent); | ||
| var root = e.AttachmentPoint ?? this.GetVisualRoot(); | ||
kekekeks marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| if (root != null) | ||
|
||
| ((FocusManager?)e.PresentationSource.InputRoot.FocusManager) | ||
| ?.ClearFocusOnElementRemoved(this, root); | ||
| } | ||
|
|
||
| IsKeyboardFocusWithin = false; | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -11,12 +11,12 @@ namespace Avalonia.Input | |
| /// Handles keyboard navigation for a window. | ||
| /// </summary> | ||
| [Unstable] | ||
| public sealed class KeyboardNavigationHandler : IKeyboardNavigationHandler | ||
| internal sealed class KeyboardNavigationHandler : IKeyboardNavigationHandler | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Now internal, remove |
||
| { | ||
| /// <summary> | ||
| /// The window to which the handler belongs. | ||
| /// </summary> | ||
| private IInputRoot? _owner; | ||
| private InputElement? _owner; | ||
|
|
||
| /// <summary> | ||
| /// Sets the owner of the keyboard navigation handler. | ||
|
|
@@ -26,7 +26,7 @@ public sealed class KeyboardNavigationHandler : IKeyboardNavigationHandler | |
| /// This method can only be called once, typically by the owner itself on creation. | ||
| /// </remarks> | ||
| [PrivateApi] | ||
| public void SetOwner(IInputRoot owner) | ||
| public void SetOwner(InputElement owner) | ||
| { | ||
| if (_owner != null) | ||
| { | ||
|
|
@@ -56,7 +56,7 @@ public void SetOwner(IInputRoot owner) | |
|
|
||
| private static IInputElement? GetNextPrivate( | ||
| IInputElement? element, | ||
| IInputRoot? owner, | ||
| InputElement? owner, | ||
| NavigationDirection direction, | ||
| KeyDeviceType? keyDeviceType) | ||
| { | ||
|
|
||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider making the
internalmemberspublic. (Otherwise there's not really a point of having this interface aPrivateApi, and it might simply be internal.)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's exposed from
ITopLevelImplwhich is a[PrivateApi]too. This is the reason why this interface is public.