41 lines
1.6 KiB
Markdown
41 lines
1.6 KiB
Markdown
KDDockWidgets
|
|
==============
|
|
|
|
`KDDockWidgets` is a KDAB effort to provide an advanced docking system for Qt.
|
|
|
|
Throughout the years KDAB has contributed and funded bug fixes and features to `QDockWidget`.
|
|
Sadly, the `QDockWidget` code is in such a state that each bug fix took many days
|
|
and sometimes caused regressions. The codebase mixes GUI code, with logic, with state
|
|
in a spaghetti manner, which makes it very hard to move forward with new features.
|
|
|
|
In hindsight, what led to `QDockWidget` complexity is that is supports a multitude
|
|
of options and a exponential number of option combinations, times 3 platforms. From
|
|
talking with our customers we gathered that none of them cared about most of those options,
|
|
and all of them wanted the same 3 or 4 missing features.
|
|
|
|
This framework is under active development and has no planned release date yet.
|
|
|
|
|
|
Goals
|
|
=====
|
|
- Provide advanced docking that QDockWidgets doesn't support:
|
|
- nesting dock widgets in a floating window and docking that group back to main window
|
|
- nesting in any main window
|
|
- docking to center of main window
|
|
- main window supporting detachable tabs in center widget
|
|
- different forms of docking indicators (through plugins)
|
|
- detaching arbitrary tabs from a tab bar into a dock area
|
|
|
|
- Discard unneeded features present in QDockWidgets that make the code complicated
|
|
|
|
- Clean codebase
|
|
- Not mixing GUI with state with logic with animations
|
|
- Unit-test everything, even the GUI and DnD operations
|
|
|
|
|
|
Licensing
|
|
=========
|
|
|
|
This software is provided as GPLv2 (See LICENSE.GPL.txt) or, alternatively,
|
|
contact KDAB at <info@kdab.com> if you need different licensing.
|