diff --git a/dockinginfonode/src/main/java/fr/soleil/docking/infonode/InfoNodeDockingManager.java b/dockinginfonode/src/main/java/fr/soleil/docking/infonode/InfoNodeDockingManager.java index 0bff908383b3c6d3432b7dea4f72004bcf494653..84b43bca7add81bdb57ac1f48a4c99f1bb846100 100644 --- a/dockinginfonode/src/main/java/fr/soleil/docking/infonode/InfoNodeDockingManager.java +++ b/dockinginfonode/src/main/java/fr/soleil/docking/infonode/InfoNodeDockingManager.java @@ -176,19 +176,48 @@ public class InfoNodeDockingManager extends ADockingManager { } @Override - public void setEnabledDocking(boolean enabledDocking) { - RootWindow rootWindow = (RootWindow) getDockingArea(); - rootWindow.getRootWindowProperties().getDockingWindowProperties().setCloseEnabled(enabledDocking); - rootWindow.getRootWindowProperties().getDockingWindowProperties().setDragEnabled(enabledDocking); - rootWindow.getRootWindowProperties().getDockingWindowProperties().setMaximizeEnabled(enabledDocking); - rootWindow.getRootWindowProperties().getDockingWindowProperties().setMinimizeEnabled(enabledDocking); + public void setEnabledDocking(boolean enabledDocking, JComponent dockingArea) { + if (dockingArea instanceof RootWindow) { + RootWindow rootWindow = (RootWindow) dockingArea; + rootWindow.getRootWindowProperties().getDockingWindowProperties().setCloseEnabled(enabledDocking); + rootWindow.getRootWindowProperties().getDockingWindowProperties().setDragEnabled(enabledDocking); + rootWindow.getRootWindowProperties().getDockingWindowProperties().setMaximizeEnabled(enabledDocking); + rootWindow.getRootWindowProperties().getDockingWindowProperties().setMinimizeEnabled(enabledDocking); + } } @Override - public boolean isEnabledDocking() { - DockingWindowProperties dwp = this.rootWindow.getRootWindowProperties().getDockingWindowProperties(); + public boolean isEnabledDocking(JComponent dockingArea) { + boolean enabled; + if (dockingArea instanceof RootWindow) { + RootWindow rootWindow = (RootWindow) dockingArea; + DockingWindowProperties dwp = rootWindow.getRootWindowProperties().getDockingWindowProperties(); + enabled = dwp.getCloseEnabled() && dwp.getDragEnabled() && dwp.getMaximizeEnabled() + && dwp.getMinimizeEnabled(); + } else { + enabled = false; + } + return enabled; + } - return dwp.getCloseEnabled() && dwp.getDragEnabled() && dwp.getMaximizeEnabled() && dwp.getMinimizeEnabled(); + @Override + public void setUndockEnabled(boolean enabled, JComponent dockingArea) { + if (dockingArea instanceof RootWindow) { + RootWindow rootWindow = (RootWindow) dockingArea; + rootWindow.getRootWindowProperties().getDockingWindowProperties().setUndockEnabled(enabled); + } + } + + @Override + public boolean isUndockEnabled(JComponent dockingArea) { + boolean enabled; + if (dockingArea instanceof RootWindow) { + RootWindow rootWindow = (RootWindow) dockingArea; + enabled = rootWindow.getRootWindowProperties().getDockingWindowProperties().getUndockEnabled(); + } else { + enabled = false; + } + return enabled; } @Override