I'm trying to implement a series of nested menus. Basically, each menu is in a PanelContainer. When a button is pressed, I'd like to then spawn a submenu. And this submenu will have buttons that can spawn further submenus. When a submenu is closed, I want control to revert back to the parent menu that spawned it. When a child panel is open, it should not possible to interact with the panel that spawned it until that child panel closes.
In many programming UIs, like Qt or Java Swing, this is handled automatically through what are called modal panels. Godot does not seem to have this. When I open a child control, I am still able to interact with the controls of the parent that spawned it. If I try using PopupPanels, they close automatically if I click anywhere outside of them. I would like to be able to create panels that work like modal panels, but as far as I can tell, I have to manually track which menu is currently open and disable all their controls in code when I spawn a child panel.
Does Godot support modal panels as they're typically used in most programming UIs, or do I need to implement this functionality myself?