]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/ge/VariableImageRule.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / ge / VariableImageRule.java
1 package org.simantics.document.linking.ge;
2
3 import java.util.Collections;
4 import java.util.Map;
5
6 import org.eclipse.jface.resource.ImageDescriptor;
7 import org.simantics.browsing.ui.model.images.ImageRule;
8 import org.simantics.db.ReadGraph;
9 import org.simantics.db.Resource;
10 import org.simantics.db.exception.DatabaseException;
11 import org.simantics.db.layer0.variable.StandardGraphPropertyVariable;
12 import org.simantics.db.layer0.variable.Variable;
13 import org.simantics.document.linking.ontology.DocumentLink;
14 import org.simantics.silk.SilkResources;
15 import org.simantics.simulation.ontology.SimulationResource;
16 import org.simantics.structural.stubs.StructuralResource2;
17
18 public class VariableImageRule implements ImageRule{
19
20         
21         @Override
22         public boolean isCompatible(Class<?> contentType) {
23                 return contentType.equals(Variable.class);
24         }
25         
26         @Override
27         public Map<String, ImageDescriptor> getImage(ReadGraph graph, Object content)
28                         throws DatabaseException {
29                 Variable v = (Variable)content;
30                 Resource r = v.getPossibleRepresents(graph);
31                 if (r == null)
32                         return null;
33                 
34                 DocumentLink sl = DocumentLink.getInstance(graph);
35                 SilkResources SILK = SilkResources.getInstance(graph);
36                 StructuralResource2 sr = StructuralResource2.getInstance(graph);
37                 SimulationResource sim = SimulationResource.getInstance(graph);
38                 
39                 if (graph.isInstanceOf(r, sl.Source)) {
40                         return Collections.singletonMap(Constants.REFERENCE, graph.adapt(SILK.page_white, ImageDescriptor.class));
41                 } else if ( graph.isInstanceOf(r, sr.Composite)) {
42                         return Collections.singletonMap(Constants.NAME, graph.adapt(SILK.application, ImageDescriptor.class));
43                 } else if ( graph.isInstanceOf(r, sr.Component)) {
44                         return Collections.singletonMap(Constants.NAME, graph.adapt(SILK.brick, ImageDescriptor.class));
45                 } else if (graph.isInstanceOf(r, sim.Model)) {
46                         return Collections.singletonMap(Constants.NAME, graph.adapt(SILK.chart_organisation, ImageDescriptor.class));
47                 } else if (content instanceof StandardGraphPropertyVariable) {
48                         return Collections.singletonMap(Constants.NAME, graph.adapt(SILK.cog, ImageDescriptor.class));
49                 }
50                 
51                 return null;
52         }
53 }