properties.put(GraphLayer.PROP_FOCUSABLE, focusableTag);
properties.put(GraphLayer.PROP_VISIBLE, visibleTag);
- return new GraphLayer(layerName, layer, properties);
+ return new GraphLayer(layerName, layer, properties, active);
}
public static Resource newTag(WriteGraph graph, Layer0 L0, Resource baseTag) throws DatabaseException {
String name = graph.getRelatedValue(layer, L0.HasName);
Resource visible = graph.getSingleObject(layer, DIA.HasVisibleTag);
Resource focusable = graph.getSingleObject(layer, DIA.HasFocusableTag);
-
+ boolean active = graph.getRelatedValue(layer, DIA.IsActive);
Map<String, Resource> properties = new HashMap<>();
properties.put(GraphLayer.PROP_FOCUSABLE, focusable);
properties.put(GraphLayer.PROP_VISIBLE, visible);
- return new GraphLayer(name, layer, properties);
+ return new GraphLayer(name, layer, properties, active);
+ }
+
+ public static void addToVisibleLayers(WriteGraph graph, Resource element, Resource diagram) throws DatabaseException {
+ DiagramResource DIA = DiagramResource.getInstance(graph);
+ for (Resource layer : graph.getObjects(diagram, DIA.HasLayer)) {
+ boolean active = graph.getRelatedValue(layer, DIA.IsActive);
+ if (active) {
+ Resource visibleTag = graph.getSingleObject(layer, DIA.HasVisibleTag);
+ Resource focusableTag = graph.getSingleObject(layer, DIA.HasFocusableTag);
+ graph.claim(element, visibleTag, element);
+ graph.claim(element, focusableTag, element);
+ }
+ }
}
}