- void putElementOnVisibleLayers(IDiagram diagram, IElement element) {
- // Make the new element visible and focusable on all currently
- // active layers.
- ILayers diagramLayers = diagram.getHint(DiagramHints.KEY_LAYERS);
- if (diagramLayers != null) {
- element.setHint(ElementHints.KEY_VISIBLE_LAYERS, new HashSet<ILayer>());
- element.setHint(ElementHints.KEY_FOCUS_LAYERS, new HashSet<ILayer>());
- Set<ILayer> visibleLayers = diagramLayers.getVisibleLayers();
-
- if (DEBUG_LAYERS)
- System.out.println("Marking element visible and focusable only on visible layers: " + visibleLayers);
-
- for (ElementLayers elementLayers : element.getElementClass().getItemsByClass(ElementLayers.class)) {
- for (ILayer layer : visibleLayers) {
- elementLayers.setVisibility(element, layer, true);
- elementLayers.setFocusability(element, layer, true);
- }
- }
- }
- }
-