Support contributions to the shell layout #10981
Closed
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.
What it does
Allows downstream apps to contribute widgets to the layout without extending the
ApplicationShell
itself. I had the idea while reviewing #10731, where overriding theApplicationShell
to contribute a new widget to the layout seemed a bit overengineered.So far it only supports adding panels under the top panel, although we could extend this for all areas of the app. Although, I'm not totally sure that's even useful.
Aside from the toolbar, I can imagine that we reuse this API to also add support for banners in the future like in VSCode:
How to test
The test case for the introduced
ShellLayoutContribution
is the toolbar. Simply confirm that it behaves as usual.Review checklist
Reminder for reviewers