I'm building a user interface which will have multiple panels. As I change panels, I'd like the new panel to be the same size as the panel it replaces. I retrieve and store the width of the old panel, run the HideDockableWindows() function, then insert the new panel and set its width to the saved width from the old panel. However, it isn't the same size.
It seems the intent api is measuring the width of a panel by measuring it's distance from the edge of the screen. This only works if that panel is docked directly to the edge of the screen. In my case, there is a panel between the one I'm inserting and the edge of the screen.
To test, insert a docked panel. Retrieve its width when it is docked to the very edge of the screen, and when it is docked to another window. You'll notice its width is much larger when docked to another window.