Qt-Advanced-Docking-System/README.md

46 lines
1.8 KiB
Markdown
Raw Normal View History

2016-01-19 19:21:06 +08:00
# 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.
2016-01-19 19:21:06 +08:00
2016-02-17 17:57:28 +08:00
![Layout of widgets](preview01.png)
![Dropping widgets](preview02.png)
## 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.
2016-01-19 19:21:06 +08:00
## 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).
2016-01-19 19:21:06 +08:00
## TODOs
Sorted by priority
2016-02-17 17:57:28 +08:00
- [x] Improve FloatingWidget (Remove maximize button, only support close-button which hides the widget)
- [x] Serialize and Deserialize state/size/positions of dockings
- [x] Make compatible with Qt 4.5 (\*ROFL!\*)
- [x] Save and restore FloatingWidget states
- [ ] Restore: Manage new or deleted SectionContent objects, which are not available
- [ ] Show close button on right corner of SectionWidget
- [ ] 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
## Bugs
2016-02-17 17:57:28 +08:00
- [x] Working with outer-edge-drops sometimes leaves empty splitters
- [x] Clean up of unused e.g. count()<=1 QSplitters doesn't work well
- [ ] Empty splitters, if only 2 or 1 items are in container
2016-01-19 19:21:06 +08:00
## 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.