X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FOverviewPanel.java;h=7ffac1e9da0eab40d69def91c86ddd147cc832ae;hb=9807ea8cc4e867378c52d51b832168d4bc611d29;hp=3662ec298f88f3d1b8293faf61951b5f37b92c3e;hpb=9c5d69ef1e102b1eac18ec13c362522f40c9000d;p=jalview.git diff --git a/src/jalview/gui/OverviewPanel.java b/src/jalview/gui/OverviewPanel.java index 3662ec2..7ffac1e 100755 --- a/src/jalview/gui/OverviewPanel.java +++ b/src/jalview/gui/OverviewPanel.java @@ -65,9 +65,10 @@ public class OverviewPanel extends JPanel implements Runnable sr = new SequenceRenderer(av); sr.renderGaps( false ); + sr.forOverview = true; fr = new FeatureRenderer(av); - fr.transparency = ap.seqPanel.seqCanvas.getFeatureRenderer().transparency; - fr.featuresDisplayed = ap.seqPanel.seqCanvas.getFeatureRenderer().featuresDisplayed; + fr.overview = true; + // scale the initial size of overviewpanel to shape of alignment float initialScale = (float) av.alignment.getWidth() / (float) av.alignment.getHeight(); @@ -244,6 +245,14 @@ public class OverviewPanel extends JPanel implements Runnable { miniMe = null; + if (av.showSequenceFeatures) + { + fr.featureGroups = ap.seqPanel.seqCanvas.getFeatureRenderer().featureGroups; + fr.featureColours = ap.seqPanel.seqCanvas.getFeatureRenderer().featureColours; + fr.transparency = ap.seqPanel.seqCanvas.getFeatureRenderer().transparency; + fr.sequenceFeatures = ap.seqPanel.seqCanvas.getFeatureRenderer().sequenceFeatures; + } + int alwidth = av.alignment.getWidth(); int alheight = av.alignment.getHeight(); @@ -267,33 +276,46 @@ public class OverviewPanel extends JPanel implements Runnable float sampleRow = (float) alheight / (float) sequencesHeight; int lastcol=-1, lastrow=-1; - Color color = Color.white; - for (int col = 0; col < width; col++) + int color = Color.white.getRGB(); + int row, col; + for (row = 0; row < sequencesHeight; row++) { - for (int row = 0; row < sequencesHeight; row++) - { + for (col = 0; col < width; col++) + { if((int)(col*sampleCol) == lastcol && (int)(row*sampleRow)==lastrow) { - miniMe.setRGB(col,row,color.getRGB()); + miniMe.setRGB(col,row,color); continue; } lastrow = (int)(row*sampleRow); lastcol = (int)(col*sampleCol); - color = sr.getResidueBoxColour( - av.alignment.getSequenceAt(lastrow), lastcol); - - if(av.showSequenceFeatures) + if(av.alignment.getSequenceAt(lastrow).getLength()>lastcol) { - color = fr.findFeatureColour(color, - av.alignment.getSequenceAt(lastrow), - lastcol); - } + color = sr.getResidueBoxColour( + av.alignment.getSequenceAt(lastrow), lastcol).getRGB(); + + if(av.showSequenceFeatures) + color = fr.findFeatureColour(color, lastrow, lastcol); + + } + else + { + color = -1; //White + } - miniMe.setRGB(col,row,color.getRGB()); + miniMe.setRGB(col,row,color); - if (av.conservation != null) + + } + } + + if (av.conservation != null) + { + for (col = 0; col < width; col++) + { + lastcol = (int) (col * sampleCol); { mg.translate(col, sequencesHeight); ap.annotationPanel.drawGraph(mg, av.conservation, @@ -301,11 +323,10 @@ public class OverviewPanel extends JPanel implements Runnable graphHeight, (int) (col * sampleCol), (int) (col * sampleCol) + 1); - mg.translate(-col, -sequencesHeight); + mg.translate( -col, -sequencesHeight); } } } - System.gc(); resizing = false;