2016-01-19 19:21:06 +08:00
|
|
|
# Advanced Docking System
|
2016-02-15 19:27:23 +08:00
|
|
|
Manages content widgets more like Visual Studio or similar programs.
|
2016-02-02 21:35:51 +08:00
|
|
|
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)
|
|
|
|
|
2016-02-15 19:27:23 +08:00
|
|
|
## Tested with - Requirements
|
2016-02-02 21:35:51 +08:00
|
|
|
**Windows**
|
2016-02-15 19:27:23 +08:00
|
|
|
- \>= Qt 5.5, VC12 or MinGW
|
|
|
|
- \>= Qt 4.5.3 VC9 - *not as good...*
|
2016-02-02 21:35:51 +08:00
|
|
|
|
|
|
|
**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
|
2016-02-02 21:35:51 +08:00
|
|
|
- *SectionContent* class may safe a "size-type" property, which defines how the size of the widget should be handled.
|
2016-02-02 20:49:10 +08:00
|
|
|
- PerCent: Resize in proportion to other widgets.
|
|
|
|
- Fixed: Width or height are fixed (based on orientation).
|
2016-01-19 19:21:06 +08:00
|
|
|
|
2016-02-02 20:49:10 +08:00
|
|
|
## TODOs
|
2016-02-02 21:35:51 +08:00
|
|
|
Sorted by priority
|
2016-02-17 21:52:22 +08:00
|
|
|
|
|
|
|
### Beta 0.1
|
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
|
2016-02-17 21:42:46 +08:00
|
|
|
- [x] Restore: Manage new or deleted SectionContent objects, which are not available
|
2016-02-17 21:52:22 +08:00
|
|
|
- [x] Working with outer-edge-drops sometimes leaves empty splitters #BUG
|
|
|
|
- [x] 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...
|
2016-02-17 17:57:28 +08:00
|
|
|
- [ ] 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
|
2016-02-17 21:58:47 +08:00
|
|
|
- [ ] API: Make it possible to use custom drop images
|
|
|
|
- [ ] API: Add possibility to make a SectionContent element floatable (`ContainerWidget::setFloating(SectionContent*)`?)
|
2016-02-02 20:49:10 +08:00
|
|
|
|
2016-02-02 21:35:51 +08:00
|
|
|
## Credits
|
|
|
|
- Drop indicator images from:
|
2016-02-02 20:49:10 +08:00
|
|
|
http://www.codeproject.com/Articles/140209/Building-a-Docking-Window-Management-Solution-in-W
|
2016-02-02 21:35:51 +08:00
|
|
|
|
|
|
|
## License
|
|
|
|
Not sure yet... It's in development status anyway.
|