d5eaabd2a7fb2ac52f47e3d6d48e5e34d3b7ea49
Advanced Docking System
Manages content widgets more like Visual Studio or similar programs. I also try to get everything done with basic Qt functionality. Basic usage of QWidgets an QLayouts and using basic styles as much as possible.
Tested with - Requirements
Windows
- >= Qt 5.5, VC12 or MinGW
- >= Qt 4.5.3 VC9 - not as good...
Linux
- Not yet tested
Build
Open the build.pro with QtCreator and start the build, that's it.
Notes
- SectionContent class may safe a "size-type" property, which defines how the size of the widget should be handled.
- PerCent: Resize in proportion to other widgets.
- Fixed: Width or height are fixed (based on orientation).
TODOs
Sorted by priority
Beta 0.1
- Improve FloatingWidget (Remove maximize button, only support close-button which hides the widget)
- Serialize and Deserialize state/size/positions of dockings
- Make compatible with Qt 4.5 (*ROFL!*)
- Save and restore FloatingWidget states
- Restore: Manage new or deleted SectionContent objects, which are not available
- Working with outer-edge-drops sometimes leaves empty splitters #BUG
- Clean up of unused e.g. count()<=1 QSplitters doesn't work well #BUG
- Show close button on right corner of SectionWidget. How to safe last section position?
- Empty splitters, if only 2 or 1 items are in container
Some day...
- Drop indicator images should be fully visible over the DropOverlay rectangle
- Pin contents: Pins a content and its title widget to the edge and opens on click/hover as long as it has focus
- API: Make it possible to use custom drop images
- API: Add possibility to make a SectionContent element floatable (
ContainerWidget::setFloating(SectionContent*)?)
Credits
- Drop indicator images from: http://www.codeproject.com/Articles/140209/Building-a-Docking-Window-Management-Solution-in-W
License
Not sure yet... It's in development status anyway.
Languages
C++
90.7%
CSS
6.1%
CMake
2.6%
QMake
0.4%
Python
0.2%

