-package org.simantics.document.linking.ge;\r
-\r
-import org.eclipse.jface.resource.ImageDescriptor;\r
-import org.eclipse.jface.viewers.IDecoration;\r
-import org.simantics.browsing.ui.content.ImageDecorator;\r
-import org.simantics.browsing.ui.model.imagedecorators.ImageDecorationRule;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.document.DocumentResource;\r
-import org.simantics.document.linking.Activator;\r
-import org.simantics.document.linking.ontology.DocumentLink;\r
-import org.simantics.document.linking.utils.SourceLinkUtil;\r
-import org.simantics.utils.ui.gfx.DecorationOverlayIcon;\r
-\r
-public class VariableImageDecorationRule implements ImageDecorationRule{\r
- \r
- @Override\r
- public boolean isCompatible(Class<?> contentType) {\r
- return contentType.equals(Variable.class);\r
- }\r
- \r
- @Override\r
- public ImageDecorator getImageDecorator(ReadGraph graph, Object content)\r
- throws DatabaseException {\r
- Variable v = (Variable)content;\r
- Resource r = v.getPossibleRepresents(graph);\r
- if (r == null)\r
- return null;\r
- \r
- DocumentLink sl = DocumentLink.getInstance(graph);\r
- DocumentResource doc = DocumentResource.getInstance(graph);\r
- \r
- if (graph.isInstanceOf(r, sl.Source)) {\r
- Resource reference = SourceLinkUtil.getReferredDocument(graph, r);\r
- if (reference != null) {\r
- if (graph.hasStatement(reference,doc.HasNewerVersion))\r
- return new Dec(Activator.getDefault().clock_red);\r
- } else {\r
- return new Dec(Activator.getDefault().cross);\r
- }\r
- }\r
- return null;\r
- }\r
- \r
- private class Dec implements ImageDecorator {\r
- private ImageDescriptor decorator;\r
- \r
- public Dec(ImageDescriptor decorator) {\r
- this.decorator = decorator;\r
- }\r
- @SuppressWarnings("unchecked")\r
- public <Image extends Object> Image decorateImage(Image image, String column, int itemIndex) {\r
- return (Image) getDecoration((ImageDescriptor) image,decorator);\r
- };\r
- }\r
- \r
- private ImageDescriptor getDecoration(ImageDescriptor original, ImageDescriptor decorator) {\r
- return (original == null) ? decorator:\r
- new DecorationOverlayIcon(original, decorator, IDecoration.BOTTOM_RIGHT);\r
- }\r
-\r
-}\r
+package org.simantics.document.linking.ge;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.IDecoration;
+import org.simantics.browsing.ui.content.ImageDecorator;
+import org.simantics.browsing.ui.model.imagedecorators.ImageDecorationRule;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.document.DocumentResource;
+import org.simantics.document.linking.Activator;
+import org.simantics.document.linking.ontology.DocumentLink;
+import org.simantics.document.linking.utils.SourceLinkUtil;
+import org.simantics.utils.ui.gfx.DecorationOverlayIcon;
+
+public class VariableImageDecorationRule implements ImageDecorationRule{
+
+ @Override
+ public boolean isCompatible(Class<?> contentType) {
+ return contentType.equals(Variable.class);
+ }
+
+ @Override
+ public ImageDecorator getImageDecorator(ReadGraph graph, Object content)
+ throws DatabaseException {
+ Variable v = (Variable)content;
+ Resource r = v.getPossibleRepresents(graph);
+ if (r == null)
+ return null;
+
+ DocumentLink sl = DocumentLink.getInstance(graph);
+ DocumentResource doc = DocumentResource.getInstance(graph);
+
+ if (graph.isInstanceOf(r, sl.Source)) {
+ Resource reference = SourceLinkUtil.getReferredDocument(graph, r);
+ if (reference != null) {
+ if (graph.hasStatement(reference,doc.HasNewerVersion))
+ return new Dec(Activator.getDefault().clock_red);
+ } else {
+ return new Dec(Activator.getDefault().cross);
+ }
+ }
+ return null;
+ }
+
+ private class Dec implements ImageDecorator {
+ private ImageDescriptor decorator;
+
+ public Dec(ImageDescriptor decorator) {
+ this.decorator = decorator;
+ }
+ @SuppressWarnings("unchecked")
+ public <Image extends Object> Image decorateImage(Image image, String column, int itemIndex) {
+ return (Image) getDecoration((ImageDescriptor) image,decorator);
+ };
+ }
+
+ private ImageDescriptor getDecoration(ImageDescriptor original, ImageDescriptor decorator) {
+ return (original == null) ? decorator:
+ new DecorationOverlayIcon(original, decorator, IDecoration.BOTTOM_RIGHT);
+ }
+
+}