godot-dockable-container icon indicating copy to clipboard operation
godot-dockable-container copied to clipboard

Implement floating windows

Open OverloadedOrama opened this issue 1 year ago • 0 comments

Implements #4, a continuation of #18 for Godot 4. Many thanks to @Variable-ind for starting the work!

Peek 2024-10-09 13-53

Tab containers now have settings with a "Make Floating" option. This is what makes panels into windows. To make windows into panels again, simply close the window. If the original tab container of the panel still exists when the window closes (meaning that it has more tabs and it did not get freed), the panel returns to that tab container. If it doesn't exist, it is being added to the first available tab container.

Based on my testing, it works well with the embed subwindows option set to both true or false. Windows and their data (position and size) are being stored in the layout, and thus are being remembered between sessions.

Probably the biggest issue with this is that child controls are being reparented to window nodes. Given how windows work in Godot, I don't think soft parenting is possible, especially now that we can have separate windows. But of course I may be wrong, so ideas are welcome!

OverloadedOrama avatar Oct 09 '24 11:10 OverloadedOrama