From f5f69f18e50256977177986194470f2a1fd967a8 Mon Sep 17 00:00:00 2001 From: Raphael Girardot <raphael.girardot@synchrotron-soleil.fr> Date: Wed, 9 Oct 2013 13:29:51 +0000 Subject: [PATCH] some code refactoring --- .../infonode/view/InfoNodeViewFactory.java | 41 +++++++------------ 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/dockinginfonode/src/main/java/fr/soleil/docking/infonode/view/InfoNodeViewFactory.java b/dockinginfonode/src/main/java/fr/soleil/docking/infonode/view/InfoNodeViewFactory.java index d545bb3..b5a403d 100644 --- a/dockinginfonode/src/main/java/fr/soleil/docking/infonode/view/InfoNodeViewFactory.java +++ b/dockinginfonode/src/main/java/fr/soleil/docking/infonode/view/InfoNodeViewFactory.java @@ -22,34 +22,21 @@ public class InfoNodeViewFactory extends AbstractViewFactory { } @Override - public IView addView(String title, Icon icon, Component component, Object id, JComponent dockingArea) { - IView addedView = null; - boolean added = false; - if (id != null) { - synchronized (views) { - if (!views.containsKey(id)) { - addedView = new InfoNodeView(title, icon, component, id); - views.put(id, addedView); - added = true; - } - addedView = views.get(id); - } - } - if ((addedView != null) && added) { - InfoNodeView view = (InfoNodeView) addedView; - if (dockingArea instanceof RootWindow) { - view.getWindowProperties().getTabProperties().getNormalButtonProperties().getCloseButtonProperties() - .setVisible(false); - view.getWindowProperties().getTabProperties().getHighlightedButtonProperties() - .getCloseButtonProperties().setVisible(false); - DockingUtil.addWindow(view, (RootWindow) dockingArea); - } else { - synchronized (support) { - support.firePropertyChange(VIEWS, null, addedView); - } - } + protected IView createView(String title, Icon icon, Component component, Object id) { + return new InfoNodeView(title, icon, component, id); + } + + @Override + protected void updateViewForDockingArea(IView view, JComponent dockingArea) { + if ((view instanceof InfoNodeView) && (dockingArea instanceof RootWindow)) { + InfoNodeView infoNodeView = (InfoNodeView) view; + RootWindow rootWindow = (RootWindow) dockingArea; + infoNodeView.getWindowProperties().getTabProperties().getNormalButtonProperties() + .getCloseButtonProperties().setVisible(false); + infoNodeView.getWindowProperties().getTabProperties().getHighlightedButtonProperties() + .getCloseButtonProperties().setVisible(false); + DockingUtil.addWindow(infoNodeView, rootWindow); } - return addedView; } } -- GitLab