I have a docksite that I'd like to add support for the layout (de)serialization to, but I'm running into some issues. I think some of these may be caused by me doing things "wrong", but I think at least some are issues in the serialization system.
My essential problem is that the layout deserialization seems to want to find existing windows by their UniqueId, or create new ones if no match is found. My ToolWindows are used to display the results of computations that can take minutes or even hours to run, so they can't just be instantiated and put on the screen.
I already have code that will restore the results of all that computation in a reasonably user-friendly fashion (progress bars, cancel buttons). I was hoping that at the end of doing that, I could apply a saved layout to the re-created tool windows.
But the UniqueId property is not settable in any way that I can see, so I can't associate the rebuilt tool windows with the information in the serialized layout.
My essential problem is that the layout deserialization seems to want to find existing windows by their UniqueId, or create new ones if no match is found. My ToolWindows are used to display the results of computations that can take minutes or even hours to run, so they can't just be instantiated and put on the screen.
I already have code that will restore the results of all that computation in a reasonably user-friendly fashion (progress bars, cancel buttons). I was hoping that at the end of doing that, I could apply a saved layout to the re-created tool windows.
But the UniqueId property is not settable in any way that I can see, so I can't associate the rebuilt tool windows with the information in the serialized layout.