]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/ConstantStyle.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.diagram / src / org / simantics / diagram / adapter / ConstantStyle.java
index 428acc6863952455759b9c3ddd6f2ad2b470afa5..e81d483bb93a3a6efe89b8786c93e6a60356e030 100644 (file)
@@ -38,6 +38,7 @@ public class ConstantStyle implements Style {
     final String name;
     final Map<String, Object> values = new HashMap<String, Object>();
     ObserverGroupListener listener = null;
+    double priority;
 
     public ConstantStyle(ReadGraph graph, Resource style) throws DatabaseException {
         Layer0 L0 = Layer0.getInstance(graph);
@@ -51,6 +52,14 @@ public class ConstantStyle implements Style {
         }
     }
 
+    public void setPriority(double priority) {
+        this.priority = priority;
+    }
+    
+    public double getPriority() {
+        return priority;
+    }
+    
     private Object haxx(String key, Object value) {
         if("alpha".equals(key)) {
             return AlphaComposite.getInstance(AlphaComposite. SRC_OVER, Float.parseFloat((String)value));
@@ -72,7 +81,7 @@ public class ConstantStyle implements Style {
     }
 
     @Override
-    public void activate(RequestProcessor backend, Resource diagram, Resource entry, Group group, final EvaluationContext observer) {
+    public void activate(RequestProcessor backend, Resource diagram, Resource entry, Group group, final EvaluationContext observer) throws DatabaseException {
 
         if (listener != null && !listener.isDisposed())
             return;
@@ -128,6 +137,16 @@ public class ConstantStyle implements Style {
         }
 
     }
+    
+    @Override
+    public final void apply2(Object item, final EvaluationContext evaluationContext) {
+        final DataNodeMap map = evaluationContext.getConstant(ProfileKeys.NODE_MAP);
+        final INode node = map.getNode(item);
+        
+        for(Map.Entry<String, Object> value : values.entrySet()) {
+            ProfileVariables.claimNodeProperty(node, value.getKey(), value.getValue(), evaluationContext);
+        }
+    }
 
     @Override
     public String toString() {