Updated examples and demo to use createDockWidget() function for dock manager instead of deprecated DockWidgetr constructor

This commit is contained in:
Uwe Kindler
2025-06-12 14:50:16 +02:00
parent 79c208da4f
commit c135782001
10 changed files with 27 additions and 30 deletions

View File

@@ -33,7 +33,7 @@ CMainWindow::CMainWindow(QWidget *parent)
// Set central widget // Set central widget
QPlainTextEdit* w = new QPlainTextEdit(); QPlainTextEdit* w = new QPlainTextEdit();
w->setPlaceholderText("This is the central editor. Enter your text here."); w->setPlaceholderText("This is the central editor. Enter your text here.");
CDockWidget* CentralDockWidget = new CDockWidget("CentralWidget"); CDockWidget* CentralDockWidget = DockManager->createDockWidget("CentralWidget");
CentralDockWidget->setWidget(w); CentralDockWidget->setWidget(w);
auto* CentralDockArea = DockManager->setCentralWidget(CentralDockWidget); auto* CentralDockArea = DockManager->setCentralWidget(CentralDockWidget);
CentralDockArea->setAllowedAreas(DockWidgetArea::OuterDockAreas); CentralDockArea->setAllowedAreas(DockWidgetArea::OuterDockAreas);
@@ -42,7 +42,7 @@ CMainWindow::CMainWindow(QWidget *parent)
QTableWidget* table = new QTableWidget(); QTableWidget* table = new QTableWidget();
table->setColumnCount(3); table->setColumnCount(3);
table->setRowCount(10); table->setRowCount(10);
CDockWidget* TableDockWidget = new CDockWidget("Table 1"); CDockWidget* TableDockWidget = DockManager->createDockWidget("Table 1");
TableDockWidget->setWidget(table); TableDockWidget->setWidget(table);
TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
TableDockWidget->setMinimumSize(200,150); TableDockWidget->setMinimumSize(200,150);
@@ -53,7 +53,7 @@ CMainWindow::CMainWindow(QWidget *parent)
table = new QTableWidget(); table = new QTableWidget();
table->setColumnCount(5); table->setColumnCount(5);
table->setRowCount(1020); table->setRowCount(1020);
TableDockWidget = new CDockWidget("Table 2"); TableDockWidget = DockManager->createDockWidget("Table 2");
TableDockWidget->setWidget(table); TableDockWidget->setWidget(table);
TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
TableDockWidget->resize(250, 150); TableDockWidget->resize(250, 150);
@@ -64,7 +64,7 @@ CMainWindow::CMainWindow(QWidget *parent)
QTableWidget* propertiesTable = new QTableWidget(); QTableWidget* propertiesTable = new QTableWidget();
propertiesTable->setColumnCount(3); propertiesTable->setColumnCount(3);
propertiesTable->setRowCount(10); propertiesTable->setRowCount(10);
CDockWidget* PropertiesDockWidget = new CDockWidget("Properties"); CDockWidget* PropertiesDockWidget = DockManager->createDockWidget("Properties");
PropertiesDockWidget->setWidget(propertiesTable); PropertiesDockWidget->setWidget(propertiesTable);
PropertiesDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); PropertiesDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
PropertiesDockWidget->resize(250, 150); PropertiesDockWidget->resize(250, 150);

View File

@@ -35,14 +35,14 @@ CMainWindow::CMainWindow(QWidget *parent)
// Set central widget // Set central widget
QPlainTextEdit* w = new QPlainTextEdit(); QPlainTextEdit* w = new QPlainTextEdit();
w->setPlaceholderText("This is the central editor. Enter your text here."); w->setPlaceholderText("This is the central editor. Enter your text here.");
CDockWidget* CentralDockWidget = new CDockWidget("CentralWidget"); CDockWidget* CentralDockWidget = DockManager->createDockWidget("CentralWidget");
CentralDockWidget->setWidget(w); CentralDockWidget->setWidget(w);
auto* CentralDockArea = DockManager->setCentralWidget(CentralDockWidget); auto* CentralDockArea = DockManager->setCentralWidget(CentralDockWidget);
CentralDockArea->setAllowedAreas(DockWidgetArea::OuterDockAreas); CentralDockArea->setAllowedAreas(DockWidgetArea::OuterDockAreas);
{ {
DroppableItem* droppableItem = new DroppableItem("Drop text here."); DroppableItem* droppableItem = new DroppableItem("Drop text here.");
CDockWidget* dropDockWidget = new CDockWidget("Tab 1"); CDockWidget* dropDockWidget = DockManager->createDockWidget("Tab 1");
dropDockWidget->setWidget(droppableItem); dropDockWidget->setWidget(droppableItem);
dropDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); dropDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
dropDockWidget->setMinimumSize(200,150); dropDockWidget->setMinimumSize(200,150);
@@ -54,7 +54,7 @@ CMainWindow::CMainWindow(QWidget *parent)
} }
{ {
DroppableItem* droppableItem = new DroppableItem("Drop text here."); DroppableItem* droppableItem = new DroppableItem("Drop text here.");
CDockWidget* dropDockWidget = new CDockWidget("Tab 2"); CDockWidget* dropDockWidget = DockManager->createDockWidget("Tab 2");
dropDockWidget->setWidget(droppableItem); dropDockWidget->setWidget(droppableItem);
dropDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); dropDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
dropDockWidget->setMinimumSize(200,150); dropDockWidget->setMinimumSize(200,150);
@@ -68,7 +68,7 @@ CMainWindow::CMainWindow(QWidget *parent)
QTableWidget* propertiesTable = new QTableWidget(); QTableWidget* propertiesTable = new QTableWidget();
propertiesTable->setColumnCount(3); propertiesTable->setColumnCount(3);
propertiesTable->setRowCount(10); propertiesTable->setRowCount(10);
CDockWidget* PropertiesDockWidget = new CDockWidget("Properties"); CDockWidget* PropertiesDockWidget = DockManager->createDockWidget("Properties");
PropertiesDockWidget->setWidget(propertiesTable); PropertiesDockWidget->setWidget(propertiesTable);
PropertiesDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); PropertiesDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
PropertiesDockWidget->resize(250, 150); PropertiesDockWidget->resize(250, 150);

View File

@@ -40,7 +40,7 @@ CMainWindow::CMainWindow(QWidget *parent)
// Set central widget // Set central widget
QPlainTextEdit* w = new QPlainTextEdit(); QPlainTextEdit* w = new QPlainTextEdit();
w->setPlaceholderText("This is the central editor. Enter your text here."); w->setPlaceholderText("This is the central editor. Enter your text here.");
CDockWidget* CentralDockWidget = new CDockWidget("CentralWidget"); CDockWidget* CentralDockWidget = DockManager->createDockWidget("CentralWidget");
CentralDockWidget->setWidget(w); CentralDockWidget->setWidget(w);
auto* CentralDockArea = DockManager->setCentralWidget(CentralDockWidget); auto* CentralDockArea = DockManager->setCentralWidget(CentralDockWidget);
CentralDockArea->setAllowedAreas(DockWidgetArea::OuterDockAreas); CentralDockArea->setAllowedAreas(DockWidgetArea::OuterDockAreas);
@@ -49,7 +49,7 @@ CMainWindow::CMainWindow(QWidget *parent)
QTableWidget* table = new QTableWidget(); QTableWidget* table = new QTableWidget();
table->setColumnCount(3); table->setColumnCount(3);
table->setRowCount(10); table->setRowCount(10);
CDockWidget* TableDockWidget = new CDockWidget("Table 1"); CDockWidget* TableDockWidget = DockManager->createDockWidget("Table 1");
TableDockWidget->setWidget(table); TableDockWidget->setWidget(table);
TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
TableDockWidget->resize(250, 150); TableDockWidget->resize(250, 150);
@@ -60,7 +60,7 @@ CMainWindow::CMainWindow(QWidget *parent)
table = new QTableWidget(); table = new QTableWidget();
table->setColumnCount(5); table->setColumnCount(5);
table->setRowCount(1020); table->setRowCount(1020);
TableDockWidget = new CDockWidget("Table 2"); TableDockWidget = DockManager->createDockWidget("Table 2");
TableDockWidget->setWidget(table); TableDockWidget->setWidget(table);
TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
TableDockWidget->resize(250, 150); TableDockWidget->resize(250, 150);
@@ -71,7 +71,7 @@ CMainWindow::CMainWindow(QWidget *parent)
QTableWidget* propertiesTable = new QTableWidget(); QTableWidget* propertiesTable = new QTableWidget();
propertiesTable->setColumnCount(3); propertiesTable->setColumnCount(3);
propertiesTable->setRowCount(10); propertiesTable->setRowCount(10);
CDockWidget* PropertiesDockWidget = new CDockWidget("Properties"); CDockWidget* PropertiesDockWidget = DockManager->createDockWidget("Properties");
PropertiesDockWidget->setWidget(propertiesTable); PropertiesDockWidget->setWidget(propertiesTable);
PropertiesDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); PropertiesDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
PropertiesDockWidget->resize(250, 150); PropertiesDockWidget->resize(250, 150);

View File

@@ -6,7 +6,6 @@
#include <QToolBar> #include <QToolBar>
#include "DockAreaWidget.h" #include "DockAreaWidget.h"
#include "DockAreaTitleBar.h"
using namespace ads; using namespace ads;
@@ -36,7 +35,7 @@ CMainWindow::CMainWindow(QWidget *parent) :
l1->setWordWrap(true); l1->setWordWrap(true);
l1->setAlignment(Qt::AlignTop | Qt::AlignLeft); l1->setAlignment(Qt::AlignTop | Qt::AlignLeft);
l1->setText("Docking widget 1"); l1->setText("Docking widget 1");
ads::CDockWidget *dockWidget1 = new ads::CDockWidget("Dock 1"); ads::CDockWidget *dockWidget1 = DockManager->createDockWidget("Dock 1");
dockWidget1->setWidget(l1); dockWidget1->setWidget(l1);
DockManager->addDockWidget(ads::LeftDockWidgetArea, dockWidget1); DockManager->addDockWidget(ads::LeftDockWidgetArea, dockWidget1);
@@ -44,7 +43,7 @@ CMainWindow::CMainWindow(QWidget *parent) :
l2->setWordWrap(true); l2->setWordWrap(true);
l2->setAlignment(Qt::AlignTop | Qt::AlignLeft); l2->setAlignment(Qt::AlignTop | Qt::AlignLeft);
l2->setText("Docking widget 2"); l2->setText("Docking widget 2");
ads::CDockWidget *dockWidget2 = new ads::CDockWidget("Dock 2"); ads::CDockWidget *dockWidget2 = DockManager->createDockWidget("Dock 2");
dockWidget2->setWidget(l2); dockWidget2->setWidget(l2);
DockManager->addDockWidget(ads::RightDockWidgetArea, dockWidget2); DockManager->addDockWidget(ads::RightDockWidgetArea, dockWidget2);

View File

@@ -46,7 +46,7 @@ int main(int argc, char *argv[])
int i = 0; int i = 0;
QObject::connect(action, &QAction::triggered, [&]() { QObject::connect(action, &QAction::triggered, [&]() {
auto dw = new ads::CDockWidget(QStringLiteral("test %1 [DockWidgetDeleteOnClose]").arg(i++), &w); auto dw = dockManager->createDockWidget(QStringLiteral("test %1 [DockWidgetDeleteOnClose]").arg(i++), &w);
auto editor = new QTextEdit(QStringLiteral("lorem ipsum..."), dw); auto editor = new QTextEdit(QStringLiteral("lorem ipsum..."), dw);
dw->setWidget(editor); dw->setWidget(editor);
dw->setFeature(ads::CDockWidget::DockWidgetDeleteOnClose, true); dw->setFeature(ads::CDockWidget::DockWidgetDeleteOnClose, true);
@@ -54,7 +54,7 @@ int main(int argc, char *argv[])
qDebug() << "doc dock widget created!" << dw << area; qDebug() << "doc dock widget created!" << dw << area;
}); });
auto dw = new ads::CDockWidget(QStringLiteral("test %1 [DeleteContentOnClose]").arg(i++), &w); auto dw = dockManager->createDockWidget(QStringLiteral("test %1 [DeleteContentOnClose]").arg(i++), &w);
auto editor = new QTextEdit(QStringLiteral("recreated lorem ipsum......"), dw); auto editor = new QTextEdit(QStringLiteral("recreated lorem ipsum......"), dw);
dw->setWidget(editor); dw->setWidget(editor);
dw->setFeature(ads::CDockWidget::DeleteContentOnClose, true); dw->setFeature(ads::CDockWidget::DeleteContentOnClose, true);
@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
action = new QAction("New", &w); action = new QAction("New", &w);
w.menuBar()->addAction(action); w.menuBar()->addAction(action);
QObject::connect(action, &QAction::triggered, [&]() { QObject::connect(action, &QAction::triggered, [&]() {
auto dw = new ads::CDockWidget(QStringLiteral("test %1").arg(i++), &w); auto dw = dockManager->createDockWidget(QStringLiteral("test %1").arg(i++), &w);
auto editor = new QTextEdit(QStringLiteral("lorem ipsum..."), dw); auto editor = new QTextEdit(QStringLiteral("lorem ipsum..."), dw);
dw->setWidget(editor); dw->setWidget(editor);
auto area = dockManager->addDockWidgetTab(ads::CenterDockWidgetArea, dw); auto area = dockManager->addDockWidgetTab(ads::CenterDockWidgetArea, dw);

View File

@@ -54,7 +54,7 @@ ads::CDockAreaWidget* DockInDockWidget::addTabWidget( QWidget* widget, const QSt
} }
} }
ads::CDockWidget* DockWidget = new ads::CDockWidget(name); ads::CDockWidget* DockWidget = m_mgr->createDockWidget(name);
DockWidget->setWidget(widget); DockWidget->setWidget(widget);
DockWidget->setIcon( icon ); DockWidget->setIcon( icon );
@@ -101,7 +101,7 @@ DockInDockWidget* DockInDockWidget::createGroup( const QString& groupName, QIcon
DockInDockWidget* child = new DockInDockWidget( this, m_topLevelDockWidget, m_perspectivesManager ); DockInDockWidget* child = new DockInDockWidget( this, m_topLevelDockWidget, m_perspectivesManager );
child->setObjectName( groupName ); child->setObjectName( groupName );
ads::CDockWidget* DockWidget = new ads::CDockWidget(groupName); ads::CDockWidget* DockWidget = m_mgr->createDockWidget(groupName);
DockWidget->setWidget(child); DockWidget->setWidget(child);
DockWidget->setIcon(icon); DockWidget->setIcon(icon);

View File

@@ -19,8 +19,6 @@
#include <QToolBar> #include <QToolBar>
#include "DockAreaWidget.h" #include "DockAreaWidget.h"
#include "DockAreaTitleBar.h"
#include "DockAreaTabBar.h"
#include "FloatingDockContainer.h" #include "FloatingDockContainer.h"
#include "DockComponentsFactory.h" #include "DockComponentsFactory.h"
@@ -44,7 +42,7 @@ CMainWindow::CMainWindow(QWidget *parent)
QLabel* label = new QLabel(); QLabel* label = new QLabel();
label->setText("This is a DockArea which is always visible, even if it does not contain any DockWidgets."); label->setText("This is a DockArea which is always visible, even if it does not contain any DockWidgets.");
label->setAlignment(Qt::AlignCenter); label->setAlignment(Qt::AlignCenter);
CDockWidget* CentralDockWidget = new CDockWidget("CentralWidget"); CDockWidget* CentralDockWidget = DockManager->createDockWidget("CentralWidget");
CentralDockWidget->setWidget(label); CentralDockWidget->setWidget(label);
CentralDockWidget->setFeature(ads::CDockWidget::NoTab, true); CentralDockWidget->setFeature(ads::CDockWidget::NoTab, true);
auto* CentralDockArea = DockManager->setCentralWidget(CentralDockWidget); auto* CentralDockArea = DockManager->setCentralWidget(CentralDockWidget);
@@ -53,7 +51,7 @@ CMainWindow::CMainWindow(QWidget *parent)
QTableWidget* table = new QTableWidget(); QTableWidget* table = new QTableWidget();
table->setColumnCount(3); table->setColumnCount(3);
table->setRowCount(10); table->setRowCount(10);
CDockWidget* TableDockWidget = new CDockWidget("Table 1"); CDockWidget* TableDockWidget = DockManager->createDockWidget("Table 1");
TableDockWidget->setWidget(table); TableDockWidget->setWidget(table);
TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
TableDockWidget->resize(250, 150); TableDockWidget->resize(250, 150);
@@ -65,7 +63,7 @@ CMainWindow::CMainWindow(QWidget *parent)
table = new QTableWidget(); table = new QTableWidget();
table->setColumnCount(5); table->setColumnCount(5);
table->setRowCount(1020); table->setRowCount(1020);
TableDockWidget = new CDockWidget("Table 2"); TableDockWidget = DockManager->createDockWidget("Table 2");
TableDockWidget->setWidget(table); TableDockWidget->setWidget(table);
TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
TableDockWidget->resize(250, 150); TableDockWidget->resize(250, 150);
@@ -76,7 +74,7 @@ CMainWindow::CMainWindow(QWidget *parent)
QTableWidget* propertiesTable = new QTableWidget(); QTableWidget* propertiesTable = new QTableWidget();
propertiesTable->setColumnCount(3); propertiesTable->setColumnCount(3);
propertiesTable->setRowCount(10); propertiesTable->setRowCount(10);
CDockWidget* PropertiesDockWidget = new CDockWidget("Properties"); CDockWidget* PropertiesDockWidget = DockManager->createDockWidget("Properties");
PropertiesDockWidget->setWidget(propertiesTable); PropertiesDockWidget->setWidget(propertiesTable);
PropertiesDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); PropertiesDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
PropertiesDockWidget->resize(250, 150); PropertiesDockWidget->resize(250, 150);

View File

@@ -35,7 +35,7 @@ MainWindow::MainWindow(QWidget *parent) :
// Create a dock widget with the title Label 1 and set the created label // Create a dock widget with the title Label 1 and set the created label
// as the dock widget content // as the dock widget content
ads::CDockWidget* DockWidget = new ads::CDockWidget("Label 1"); ads::CDockWidget* DockWidget = m_DockManager->createDockWidget("Label 1");
DockWidget->setWidget(l); DockWidget->setWidget(l);
// Add the toggleViewAction of the dock widget to the menu to give // Add the toggleViewAction of the dock widget to the menu to give

View File

@@ -28,7 +28,7 @@ MainWindow::MainWindow(QWidget *parent) :
// Create a dock widget with the title Label 1 and set the created label // Create a dock widget with the title Label 1 and set the created label
// as the dock widget content // as the dock widget content
ads::CDockWidget* DockWidget = new ads::CDockWidget("Label 1"); ads::CDockWidget* DockWidget = m_DockManager->createDockWidget("Label 1");
DockWidget->setWidget(l); DockWidget->setWidget(l);
// Add the toggleViewAction of the dock widget to the menu to give // Add the toggleViewAction of the dock widget to the menu to give
@@ -42,7 +42,7 @@ MainWindow::MainWindow(QWidget *parent) :
// Create an example editor // Create an example editor
QPlainTextEdit* te = new QPlainTextEdit(); QPlainTextEdit* te = new QPlainTextEdit();
te->setPlaceholderText("Please enter your text here into this QPlainTextEdit..."); te->setPlaceholderText("Please enter your text here into this QPlainTextEdit...");
DockWidget = new ads::CDockWidget("Editor 1"); DockWidget = m_DockManager->createDockWidget("Editor 1");
DockWidget->setWidget(te); DockWidget->setWidget(te);
ui->menuView->addAction(DockWidget->toggleViewAction()); ui->menuView->addAction(DockWidget->toggleViewAction());
m_DockManager->addDockWidget(ads::BottomDockWidgetArea, DockWidget); m_DockManager->addDockWidget(ads::BottomDockWidgetArea, DockWidget);

View File

@@ -24,7 +24,7 @@ MainWindow::MainWindow(QWidget *parent) :
// Create a dock widget with the title Label 1 and set the created label // Create a dock widget with the title Label 1 and set the created label
// as the dock widget content // as the dock widget content
ads::CDockWidget* DockWidget = new ads::CDockWidget("Label 1"); ads::CDockWidget* DockWidget = m_DockManager->createDockWidget("Label 1");
DockWidget->setWidget(l); DockWidget->setWidget(l);
// Add the toggleViewAction of the dock widget to the menu to give // Add the toggleViewAction of the dock widget to the menu to give