]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.interop/src/org/simantics/interop/browsing/INodeEvaluators.java
fixes #5473
[simantics/interop.git] / org.simantics.interop / src / org / simantics / interop / browsing / INodeEvaluators.java
index e6216ed1fa6b5e111be9d808a347ba8a77974681..cbd6900526ad2a2ad9a64837a61f25908b87f2df 100644 (file)
@@ -6,16 +6,15 @@ import java.util.Map;
 \r
 import org.eclipse.jface.resource.ImageDescriptor;\r
 import org.simantics.browsing.ui.BuiltinKeys;\r
-import org.simantics.browsing.ui.DataSource;\r
-import org.simantics.browsing.ui.NodeContext;\r
-import org.simantics.browsing.ui.PrimitiveQueryUpdater;\r
 import org.simantics.browsing.ui.BuiltinKeys.ImagerKey;\r
 import org.simantics.browsing.ui.BuiltinKeys.LabelerKey;\r
 import org.simantics.browsing.ui.BuiltinKeys.ViewpointKey;\r
-import org.simantics.browsing.ui.GraphExplorer.ModificationContext;\r
+import org.simantics.browsing.ui.DataSource;\r
+import org.simantics.browsing.ui.NodeContext;\r
+import org.simantics.browsing.ui.PrimitiveQueryUpdater;\r
 import org.simantics.browsing.ui.common.ColumnKeys;\r
-import org.simantics.browsing.ui.common.EvaluatorImpl;\r
 import org.simantics.browsing.ui.common.EvaluatorData.Evaluator;\r
+import org.simantics.browsing.ui.common.EvaluatorImpl;\r
 import org.simantics.browsing.ui.common.comparators.AlphanumericComparatorFactory;\r
 import org.simantics.browsing.ui.common.imagers.ContainerImager;\r
 import org.simantics.browsing.ui.content.Imager;\r
@@ -32,7 +31,6 @@ import org.simantics.db.exception.DatabaseException;
 import org.simantics.modeling.ui.modelBrowser.model.IChildrenCallback;\r
 import org.simantics.modeling.ui.modelBrowser.model.IDisposable;\r
 import org.simantics.modeling.ui.modelBrowser.model.IUpdateable;\r
-import org.simantics.ui.SimanticsUI;\r
 import org.simantics.utils.datastructures.Callable;\r
 import org.simantics.utils.datastructures.Callback;\r
 \r
@@ -52,8 +50,11 @@ public class INodeEvaluators {
 \r
 abstract class BaseViewpointFactory implements ViewpointFactory {\r
     protected abstract class VPB extends LazyViewpoint implements Callable<Boolean>, IChildrenCallback {\r
-        public VPB(PrimitiveQueryUpdater updater, NodeContext context, ViewpointKey key) {\r
+       PrimitiveQueryUpdater updater;\r
+       \r
+       public VPB(PrimitiveQueryUpdater updater, NodeContext context, ViewpointKey key) {\r
             super(updater, context, key);\r
+            this.updater = updater;\r
         }\r
 \r
         @Override\r
@@ -80,7 +81,7 @@ abstract class BaseViewpointFactory implements ViewpointFactory {
         public void refreshChildren(Collection<?> newChildren) {\r
             NodeContext[] ncs = toContextsWithInput(newChildren);\r
             setHasChildren(ncs.length > 0);\r
-            setChildren(ncs);\r
+            setChildren(updater,ncs);\r
             updater.scheduleReplace(context, key, this);\r
         }\r
 \r
@@ -133,18 +134,13 @@ class NodeLabelerFactory implements LabelerFactory {
             public Object getIdentity(LabelerKey key) {\r
                 return NodeLabelerFactory.this.getClass();\r
             }\r
-\r
+            \r
             @Override\r
             public Map<String, String> labels(ReadGraph graph) throws DatabaseException {\r
                 return Collections.singletonMap(ColumnKeys.SINGLE,\r
                         ((INode) context.getConstant(BuiltinKeys.INPUT)).getLabel(graph));\r
             }\r
 \r
-            @Override\r
-            public Modifier getModifier(ModificationContext sourcePart, String key) {\r
-                return ((INode) context.getConstant(BuiltinKeys.INPUT)).getModifier(SimanticsUI.getSession(), key);\r
-            }\r
-\r
             @Override\r
             public int category(ReadGraph graph) throws DatabaseException {\r
                 return ((INode) context.getConstant(BuiltinKeys.INPUT)).getCategory(graph);\r
@@ -166,8 +162,9 @@ class NodeImagerFactory implements ImagerFactory {
             @Override\r
             public void run(ReadGraph g) {\r
                 try {\r
-                    ImageDescriptor descriptor = ((INode)context.getConstant(BuiltinKeys.INPUT)).getImage(g);\r
-                    result.setImage(descriptor);\r
+                       INode node = (INode)context.getConstant(BuiltinKeys.INPUT);\r
+                    ImageDescriptor descriptor = node.getImage(g);\r
+                       result.setImage(descriptor);\r
                     updater.scheduleReplace(context, key, result);\r
                 } catch (DatabaseException e) {\r
                     e.printStackTrace();\r