Introduce main window affinity

By default a dock widget can dock into any main window.
With affinities, we can now have a dock widget "belong" to a main window
and only be able to dock into it (or into other floating dock widgets
with the same affinity).

See DockWidgetBase::setAffinity() and MainWindowBase::setAffinity().
This commit is contained in:
Sergio Martins
2020-02-09 21:02:21 +00:00
parent 59bb0d8e71
commit d6997eaf7f
13 changed files with 234 additions and 10 deletions

View File

@@ -26,7 +26,9 @@ class MyMainWindow : public KDDockWidgets::MainWindow
{
Q_OBJECT
public:
explicit MyMainWindow(KDDockWidgets::MainWindowOptions options, QWidget *parent = nullptr);
explicit MyMainWindow(const QString &uniqueName, KDDockWidgets::MainWindowOptions options,
const QString &affinityName = {}, // Usually not needed. Just here to show the feature.
QWidget *parent = nullptr);
private:
void createDockWidgets();