From df72aa34a9e178c6ff4837002886634f86430944 Mon Sep 17 00:00:00 2001 From: Raphael Girardot <raphael.girardot@synchrotron-soleil.fr> Date: Thu, 18 Sep 2014 15:30:25 +0000 Subject: [PATCH] Added the undocking possibility, except for VL implementation (JAVAAPI-213) --- .../infonode/InfoNodeDockingManager.java | 47 +++++++++++++++---- 1 file changed, 38 insertions(+), 9 deletions(-) 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 0bff908..84b43bc 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 -- GitLab