[win32/C++] Docking System
Monday, June 25, 2012 8:49:36 AM
Programmatically, the system has the following features:
- Non-intrusive. It should be quite easy to integrate into an already-existing pure win32 application without having to modify the message processors of your windows. However, even though it doesn't require additional code from the client windows, some rules need to be followed, like having to remove the window from the docking system before it's destroyed, and not moving the client windows directly through the windows API.
- Offers an interface to the application to work with layouts - the application gets to load and save layouts to files, as well as "apply" layouts at will. For example, VS will change the layout when you launch your application to show various debug windows, and restore the previous layout when you finish debugging.
- Minimal API for the system as a whole - about 7 or so C-style functions. The main component of the system is the dock host control, which implements hierarchical splitters and tabbed docked windows. This control has a rich API, but it's not needed for the typical use of the system.
Once I finish working on it, I'll probably upload it here for people to use. Any feedback is welcome.