[x] I have followed the instructions in the PR template
5370 should be merged before this
This adds modals to egui.
This PR
adds a new Modal struct
adds Memory::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)
adds Memory::allows_interaction to check if a layer is behind a modal layer, deprecating Layer::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 https://github.com/emilk/egui/issues/5359~ fixed!
Possible future improvements:
The titlebar from window should be made into a separate widget and added to the modal
The state whether the modal is open should be stored in egui (optionally), similar to popup and menu. Ideally before this we would refactor popup state to unify popup and menu
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:
Possible future improvements:
window
should be made into a separate widget and added to the modal