X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureRenderer.java;h=cc2c04870fa801287daaf6f0cf32e33ed912a7d8;hb=8f1d9040aa9ddac452311d6bb232f7f28f7e83e7;hp=4abc85a72f729fb133885061bd94cc2d366c3d08;hpb=12ae2bfcbee4c4508625c6731ba62e6c10f19b19;p=jalview.git diff --git a/src/jalview/gui/FeatureRenderer.java b/src/jalview/gui/FeatureRenderer.java index 4abc85a..cc2c048 100755 --- a/src/jalview/gui/FeatureRenderer.java +++ b/src/jalview/gui/FeatureRenderer.java @@ -1,13 +1,13 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) + * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * + * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR @@ -53,7 +53,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer FontMetrics fm; int charOffset; - + Map featureColours = new ConcurrentHashMap(); // A higher level for grouping features of a @@ -80,6 +80,11 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer { this.ap = ap; this.av = ap.av; + if (ap != null && ap.seqPanel != null && ap.seqPanel.seqCanvas != null + && ap.seqPanel.seqCanvas.fr != null) + { + transferSettings(ap.seqPanel.seqCanvas.fr); + } } public class FeatureRendererSettings implements Cloneable @@ -163,7 +168,10 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer this.transparency = fr.transparency; this.featureOrder = fr.featureOrder; } - + /** + * update from another feature renderer + * @param fr settings to copy + */ public void transferSettings(FeatureRenderer fr) { FeatureRendererSettings frs = new FeatureRendererSettings(fr); @@ -172,7 +180,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer this.featureColours = frs.featureColours; this.transparency = frs.transparency; this.featureOrder = frs.featureOrder; - if (av != null && av!=fr.av) + if (av != null && av != fr.av) { // copy over the displayed feature settings if (fr.av != null) @@ -196,7 +204,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer } } } - } + } } BufferedImage offscreenImage; @@ -212,7 +220,8 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer * This is used by the Molecule Viewer and Overview to get the accurate * colourof the rendered sequence */ - public synchronized int findFeatureColour(int initialCol, SequenceI seq, int column) + public synchronized int findFeatureColour(int initialCol, SequenceI seq, + int column) { if (!av.showSequenceFeatures) { @@ -256,7 +265,8 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer } currentColour = null; - // TODO: non-threadsafe - each rendering thread needs its own instance of the feature renderer - or this should be synchronized. + // TODO: non-threadsafe - each rendering thread needs its own instance of + // the feature renderer - or this should be synchronized. offscreenRender = true; if (offscreenImage != null) @@ -686,7 +696,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer { minmax = new Hashtable(); } - AlignmentI alignment=av.getAlignment(); + AlignmentI alignment = av.getAlignment(); for (int i = 0; i < alignment.getHeight(); i++) { SequenceFeature[] features = alignment.getSequenceAt(i)