Add Modal
and Memory::set_modal_layer
#5358
Open
+572
−8
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.
#5370 should be merged before this
This adds modals to egui.
This PR
Modal
structMemory::set_modal_layer
to limit focus to a layer and above (used by the modal struct, but could also be used by custom modal implementations)Memory::allows_interaction
to check if a layer is behind a modal layer, deprecatingLayer::allows_interaction
Current problems:
When a button is focused before the modal opens, it stays focused and you also can't hit tab to focus the next widget. Seems like focus is "stuck" on that widget until you hit escape. This might be related to Disabled widgets prevent focus from going to next widget #5359fixed!Possible future improvements:
window
should be made into a separate widget and added to the modal