--- /dev/null
+package org.simantics.browsing.ui.graph.impl;\r
+\r
+import java.util.Map;\r
+\r
+import org.simantics.browsing.ui.BuiltinKeys.LabelerKey;\r
+import org.simantics.browsing.ui.NodeContext;\r
+import org.simantics.browsing.ui.PrimitiveQueryUpdater;\r
+import org.simantics.browsing.ui.graph.impl.contribution.LabelerContributionImpl;\r
+import org.simantics.browsing.ui.model.browsecontexts.BrowseContext;\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.UndoContext;\r
+import org.simantics.db.exception.DatabaseException;\r
+\r
+public class EvaluatorLabeler extends LabelerContributionImpl {\r
+ \r
+ final BrowseContext browseContext;\r
+ final boolean useNodeBrowseContexts;\r
+ \r
+ public EvaluatorLabeler(PrimitiveQueryUpdater updater, NodeContext context,\r
+ LabelerKey key,\r
+ BrowseContext browseContext, boolean useNodeBrowseContexts) {\r
+ super(updater, context, key);\r
+ this.browseContext = browseContext;\r
+ this.useNodeBrowseContexts = useNodeBrowseContexts;\r
+ }\r
+\r
+ @Override\r
+ public Map<String, String> labels(\r
+ ReadGraph graph,\r
+ NodeContext context)\r
+ throws DatabaseException {\r
+ boolean oldSynchronous = graph.setSynchronous(false); \r
+ try {\r
+ return BrowseContext.get(graph,context,browseContext,useNodeBrowseContexts).getLabel(graph, context);\r
+ } finally {\r
+ graph.setSynchronous(oldSynchronous);\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public int category(ReadGraph graph,\r
+ NodeContext context)\r
+ throws DatabaseException {\r
+ return 0;\r
+ }\r
+ \r
+ public Modifier \r
+ getModifier(ReadGraph graph, UndoContext undoContext, \r
+ NodeContext context, String columnKey) throws DatabaseException {\r
+ return BrowseContext.get(graph,context,browseContext,useNodeBrowseContexts).getModifier(graph, context, columnKey);\r
+ }\r
+ \r
+ public String toString() {\r
+ return "EvaluatorLabeler[" + browseContext + "] " + context;\r
+ }\r
+ \r
+\r
+}\r