diff --git a/pyqtgraph/dockarea/Dock.py b/pyqtgraph/dockarea/Dock.py index 4493d07..a05e685 100644 --- a/pyqtgraph/dockarea/Dock.py +++ b/pyqtgraph/dockarea/Dock.py @@ -18,6 +18,7 @@ class Dock(QtGui.QWidget, DockDrop): self.label = DockLabel(name, self, closable) if closable: self.label.sigCloseClicked.connect(self.close) + self.closable = closable self.labelHidden = False self.moveLabel = True ## If false, the dock is no longer allowed to move the label. self.autoOrient = autoOrientation diff --git a/pyqtgraph/dockarea/DockArea.py b/pyqtgraph/dockarea/DockArea.py index ffe75b6..b054b24 100644 --- a/pyqtgraph/dockarea/DockArea.py +++ b/pyqtgraph/dockarea/DockArea.py @@ -306,7 +306,10 @@ class DockArea(Container, QtGui.QWidget, DockDrop): def clear(self): docks = self.findAll()[1] for dock in docks.values(): - dock.close() + if dock.closable: + dock.close() + else: + self.home.moveDock(dock, "top", None) ## PySide bug: We need to explicitly redefine these methods ## or else drag/drop events will not be delivered.