2016-07-15 15:06:33 +08:00
|
|
|
# Advanced Docking System for Qt
|
2016-04-05 14:01:14 +08:00
|
|
|
|
2017-03-29 21:43:18 +08:00
|
|
|
Qt Advanced Docking System lets you create customizable layouts using a full
|
|
|
|
featured window docking system similar to what is found in many popular
|
|
|
|
integrated development environements (IDEs) such as Visual Studio.
|
|
|
|
Everything is implemented with standard Qt functionality without any
|
|
|
|
platform specific code. Basic usage of QWidgets an QLayouts and using basic
|
|
|
|
styles as much as possible.
|
|
|
|
|
|
|
|
This work is based on and inspired by the
|
|
|
|
[Advanced Docking System for Qt](https://github.com/mfreiholz/Qt-Advanced-Docking-System)
|
|
|
|
from Manuel Freiholz. I did an almost complete rewrite of his code to improve
|
|
|
|
code quality, readibility and to fix all issues from the issue tracker
|
|
|
|
of his docking system project.
|
|
|
|
|
|
|
|
## Features
|
|
|
|
### Docking everywhere - no central widget
|
|
|
|
There is no central widget like in the Qt docking system. You can dock on every
|
|
|
|
border of the main window or you can dock into each dock area - so you are
|
|
|
|
free to dock almost everywhere.
|
|
|
|
|
2018-12-12 18:59:29 +08:00
|
|
|
![Dropping widgets](doc/preview-dragndrop.png)\
|
|
|
|
\
|
|
|
|
![Dropping widgets](doc/preview-dragndrop_dark.png)
|
2016-02-17 17:57:28 +08:00
|
|
|
|
2017-03-29 21:43:18 +08:00
|
|
|
### Docking inside floating windows
|
|
|
|
There is no difference between the main window and a floating window. Docking
|
|
|
|
into floating windows is supported.
|
|
|
|
|
2018-12-12 18:59:29 +08:00
|
|
|
![Docking inside floating windows](doc/floating-widget-dragndrop.png)\
|
|
|
|
\
|
|
|
|
![Docking inside floating windows](doc/floating-widget-dragndrop_dark.png)
|
2017-03-29 21:43:18 +08:00
|
|
|
|
|
|
|
### Grouped dragging
|
|
|
|
When dragging the titlebar of a dock, all the tabs that are tabbed with it are
|
|
|
|
going to be dragged. So you can move complete groups of tabbed widgets into
|
|
|
|
a floating widget or from one dock area to another one.
|
|
|
|
|
2018-12-12 18:59:29 +08:00
|
|
|
![Grouped dragging](doc/grouped-dragging.png)\
|
|
|
|
\
|
|
|
|
![Grouped dragging](doc/grouped-dragging_dark.png)
|
2017-03-29 21:43:18 +08:00
|
|
|
|
2018-02-13 19:50:35 +08:00
|
|
|
### Perspectives for fast switching of the complete main window layout
|
2018-02-13 19:56:33 +08:00
|
|
|
A perspective defines the set and layout of dock windows in the main
|
2018-02-13 19:50:35 +08:00
|
|
|
window. You can save the current layout of the dockmanager into a named
|
|
|
|
perspective to make your own custom perspective. Later you can simply
|
2018-02-13 19:56:33 +08:00
|
|
|
select a perspective from the perspective list to quickly switch the complete
|
|
|
|
main window layout.
|
2018-02-13 19:50:35 +08:00
|
|
|
|
2018-12-12 18:59:29 +08:00
|
|
|
![Perspective](doc/perspectives.png)\
|
|
|
|
\
|
|
|
|
![Perspective](doc/perspectives_dark.png)
|
2017-03-29 21:43:18 +08:00
|
|
|
|
2016-02-19 19:41:15 +08:00
|
|
|
## Tested Compatible Environments
|
2017-02-20 17:06:55 +08:00
|
|
|
- Windows 10
|
2016-02-02 21:35:51 +08:00
|
|
|
|
|
|
|
## Build
|
2017-03-29 21:43:18 +08:00
|
|
|
Open the `ads.pro` with QtCreator and start the build, that's it.
|
2016-02-19 19:41:15 +08:00
|
|
|
You can run the demo project and test it yourself.
|
2016-01-19 19:21:06 +08:00
|
|
|
|
2016-02-19 19:41:15 +08:00
|
|
|
## Developers
|
2017-02-20 17:08:19 +08:00
|
|
|
- Uwe Kindler, Project Maintainer
|
|
|
|
- Manuel Freiholz
|
2016-01-19 19:21:06 +08:00
|
|
|
|
2016-02-19 19:41:15 +08:00
|
|
|
## License information
|
2017-08-17 19:35:03 +08:00
|
|
|
This project uses the [LGPLv2.1 license](gnu-lgpl-v2.1.md)
|
2016-02-19 19:41:15 +08:00
|
|
|
|