diff --git a/src/Gui/DockWindowManager.cpp b/src/Gui/DockWindowManager.cpp index 608d856898..4548ac8901 100644 --- a/src/Gui/DockWindowManager.cpp +++ b/src/Gui/DockWindowManager.cpp @@ -276,6 +276,17 @@ bool DockWindowManager::registerDockWindow(const char* name, QWidget* widget) return true; } +QWidget* DockWindowManager::unregisterDockWindow(const char* name) +{ + QWidget* widget = 0; + QMap >::Iterator it = d->_dockWindows.find(QLatin1String(name)); + if (it != d->_dockWindows.end()) { + widget = d->_dockWindows.take(QLatin1String(name)); + } + + return widget; +} + /** Sets up the dock windows of the activated workbench. */ void DockWindowManager::setup(DockWindowItems* items) { diff --git a/src/Gui/DockWindowManager.h b/src/Gui/DockWindowManager.h index fa15019a98..de0b5c8e5a 100644 --- a/src/Gui/DockWindowManager.h +++ b/src/Gui/DockWindowManager.h @@ -67,6 +67,7 @@ public: static void destruct(); bool registerDockWindow(const char* name, QWidget* widget); + QWidget* unregisterDockWindow(const char* name); void setup(DockWindowItems*); /// Adds a QDockWidget to the main window and sets \a widget as its widget