X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.diagram%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fsynchronization%2Fgraph%2Flayer%2FGraphLayer.java;h=33df689be4014e48665683f1f59209cc22c1b011;hp=87746246d87b86632beaf48d55f5a7e38d7c28e9;hb=d11fef0101853949671492de5b49ea94892ced78;hpb=efec7759cf9f153cf368f2ece6fed67f0d1632b1 diff --git a/bundles/org.simantics.diagram/src/org/simantics/diagram/synchronization/graph/layer/GraphLayer.java b/bundles/org.simantics.diagram/src/org/simantics/diagram/synchronization/graph/layer/GraphLayer.java index 87746246d..33df689be 100644 --- a/bundles/org.simantics.diagram/src/org/simantics/diagram/synchronization/graph/layer/GraphLayer.java +++ b/bundles/org.simantics.diagram/src/org/simantics/diagram/synchronization/graph/layer/GraphLayer.java @@ -11,30 +11,37 @@ *******************************************************************************/ package org.simantics.diagram.synchronization.graph.layer; +import java.util.Collection; +import java.util.Map; + import org.simantics.db.Resource; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.function.DbConsumer; +import org.simantics.g2d.layers.ILayer; +import org.simantics.g2d.layers.SimpleLayer; /** * @author Tuukka Lehtonen */ public class GraphLayer { + public static final String PROP_VISIBLE = "PROP_VISIBLE"; + public static final String PROP_FOCUSABLE = "PROP_FOCUSABLE"; + private final String name; private final Resource layer; + + private final Map tags; - private final Resource visible; - - private final Resource focusable; - - public GraphLayer(String name, Resource layer, Resource visible, Resource focusable) { + public GraphLayer(String name, Resource layer, Map tags) { this.name = name; this.layer = layer; - this.visible = visible; - this.focusable = focusable; + this.tags = tags; } public GraphLayer withName(String name) { - return new GraphLayer(name, layer, visible, focusable); + return new GraphLayer(name, layer, tags); } public String getName() { @@ -46,11 +53,24 @@ public class GraphLayer { } public Resource getVisible() { - return visible; + return tags.get(PROP_VISIBLE); } public Resource getFocusable() { - return focusable; + return tags.get(PROP_FOCUSABLE); + } + + public ILayer getILayer() { + return new SimpleLayer(name); + } + + public Collection getTags() { + return tags.values(); + } + + public void forEachTag(DbConsumer consumer) throws DatabaseException { + for (Resource r : tags.values()) + consumer.accept(r); } } \ No newline at end of file