]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.browsing.ui.graph.impl/src/org/simantics/browsing/ui/graph/impl/EvaluatorLabeler.java
222c0e261a4d04af05c4a21726339b857d49f40e
[simantics/platform.git] / bundles / org.simantics.browsing.ui.graph.impl / src / org / simantics / browsing / ui / graph / impl / EvaluatorLabeler.java
1 package org.simantics.browsing.ui.graph.impl;\r
2 \r
3 import java.util.Map;\r
4 \r
5 import org.simantics.browsing.ui.BuiltinKeys.LabelerKey;\r
6 import org.simantics.browsing.ui.NodeContext;\r
7 import org.simantics.browsing.ui.PrimitiveQueryUpdater;\r
8 import org.simantics.browsing.ui.graph.impl.contribution.LabelerContributionImpl;\r
9 import org.simantics.browsing.ui.model.browsecontexts.BrowseContext;\r
10 import org.simantics.db.ReadGraph;\r
11 import org.simantics.db.UndoContext;\r
12 import org.simantics.db.exception.DatabaseException;\r
13 \r
14 public class EvaluatorLabeler extends LabelerContributionImpl {\r
15         \r
16         final BrowseContext browseContext;\r
17         final boolean useNodeBrowseContexts;\r
18         \r
19     public EvaluatorLabeler(PrimitiveQueryUpdater updater, NodeContext context,\r
20                         LabelerKey key,\r
21                         BrowseContext browseContext, boolean useNodeBrowseContexts) {\r
22                 super(updater, context, key);\r
23                 this.browseContext = browseContext;\r
24                 this.useNodeBrowseContexts = useNodeBrowseContexts;\r
25         }\r
26 \r
27         @Override\r
28     public Map<String, String> labels(\r
29             ReadGraph graph,\r
30             NodeContext context)\r
31             throws DatabaseException {\r
32         boolean oldSynchronous = graph.setSynchronous(false); \r
33         try {\r
34                 return BrowseContext.get(graph,context,browseContext,useNodeBrowseContexts).getLabel(graph, context);\r
35         } finally {\r
36                 graph.setSynchronous(oldSynchronous);\r
37         }\r
38     }\r
39 \r
40     @Override\r
41     public int category(ReadGraph graph,\r
42             NodeContext context)\r
43     throws DatabaseException {\r
44         return 0;\r
45     }\r
46     \r
47     public Modifier \r
48     getModifier(ReadGraph graph, UndoContext undoContext, \r
49             NodeContext context, String columnKey) throws DatabaseException {\r
50         return BrowseContext.get(graph,context,browseContext,useNodeBrowseContexts).getModifier(graph, context, columnKey);\r
51     }\r
52     \r
53     public String toString() {\r
54         return "EvaluatorLabeler[" + browseContext + "] " + context;\r
55     }\r
56     \r
57 \r
58 }\r