From: Jim Procter Date: Sun, 4 Dec 2016 10:59:34 +0000 (+0000) Subject: JAL-2348 JAL-2349 refactored contact map renderer and renderer factory implementation X-Git-Tag: Release_2_11_3_0~23^2~60^2~9^2~29 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=63f0973726e9e0949ecec7be348c9bb77de1f790;p=jalview.git JAL-2348 JAL-2349 refactored contact map renderer and renderer factory implementation --- diff --git a/src/jalview/renderer/AnnotationRenderer.java b/src/jalview/renderer/AnnotationRenderer.java index 096c6a7..18cc627 100644 --- a/src/jalview/renderer/AnnotationRenderer.java +++ b/src/jalview/renderer/AnnotationRenderer.java @@ -302,6 +302,7 @@ public class AnnotationRenderer useClip = false; } + rendererFactoryI = AnnotationRendererFactory.getRendererFactory(); updateFromAlignViewport(av); } diff --git a/src/jalview/renderer/AnnotationRendererFactory.java b/src/jalview/renderer/AnnotationRendererFactory.java new file mode 100644 index 0000000..1bee418 --- /dev/null +++ b/src/jalview/renderer/AnnotationRendererFactory.java @@ -0,0 +1,41 @@ +package jalview.renderer; + +import jalview.datamodel.AlignmentAnnotation; +import jalview.renderer.api.AnnotationRendererFactoryI; +import jalview.renderer.api.AnnotationRowRendererI; + +import java.util.IdentityHashMap; + +public class AnnotationRendererFactory implements + AnnotationRendererFactoryI +{ + + private static AnnotationRendererFactoryI factory = null; + + public static AnnotationRendererFactoryI getRendererFactory() + { + if (factory == null) + { + factory = new AnnotationRendererFactory(); + } + return factory; + } + + IdentityHashMap renderers = new IdentityHashMap(); + + public AnnotationRendererFactory() + { + // renderers.put) + } + + @Override + public AnnotationRowRendererI getRendererFor(AlignmentAnnotation row) + { + if (row.graph == AlignmentAnnotation.CUSTOMRENDERER) + { + return new ContactMapRenderer(); + } + return null; + } + +}