1 package org.simantics.document.linking.ge;
\r
3 import java.util.Collections;
\r
4 import java.util.Map;
\r
6 import org.eclipse.jface.resource.ImageDescriptor;
\r
7 import org.simantics.browsing.ui.model.images.ImageRule;
\r
8 import org.simantics.db.ReadGraph;
\r
9 import org.simantics.db.Resource;
\r
10 import org.simantics.db.exception.DatabaseException;
\r
11 import org.simantics.db.layer0.variable.StandardGraphPropertyVariable;
\r
12 import org.simantics.db.layer0.variable.Variable;
\r
13 import org.simantics.document.linking.ontology.DocumentLink;
\r
14 import org.simantics.silk.SilkResources;
\r
15 import org.simantics.simulation.ontology.SimulationResource;
\r
16 import org.simantics.structural.stubs.StructuralResource2;
\r
18 public class VariableImageRule implements ImageRule{
\r
22 public boolean isCompatible(Class<?> contentType) {
\r
23 return contentType.equals(Variable.class);
\r
27 public Map<String, ImageDescriptor> getImage(ReadGraph graph, Object content)
\r
28 throws DatabaseException {
\r
29 Variable v = (Variable)content;
\r
30 Resource r = v.getPossibleRepresents(graph);
\r
34 DocumentLink sl = DocumentLink.getInstance(graph);
\r
35 SilkResources SILK = SilkResources.getInstance(graph);
\r
36 StructuralResource2 sr = StructuralResource2.getInstance(graph);
\r
37 SimulationResource sim = SimulationResource.getInstance(graph);
\r
39 if (graph.isInstanceOf(r, sl.Source)) {
\r
40 return Collections.singletonMap(Constants.REFERENCE, graph.adapt(SILK.page_white, ImageDescriptor.class));
\r
41 } else if ( graph.isInstanceOf(r, sr.Composite)) {
\r
42 return Collections.singletonMap(Constants.NAME, graph.adapt(SILK.application, ImageDescriptor.class));
\r
43 } else if ( graph.isInstanceOf(r, sr.Component)) {
\r
44 return Collections.singletonMap(Constants.NAME, graph.adapt(SILK.brick, ImageDescriptor.class));
\r
45 } else if (graph.isInstanceOf(r, sim.Model)) {
\r
46 return Collections.singletonMap(Constants.NAME, graph.adapt(SILK.chart_organisation, ImageDescriptor.class));
\r
47 } else if (content instanceof StandardGraphPropertyVariable) {
\r
48 return Collections.singletonMap(Constants.NAME, graph.adapt(SILK.cog, ImageDescriptor.class));
\r