X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FSeqCanvas.java;h=6bb54f24f3ca35cb0b6fe8a41479db3b6ff52ed1;hb=25aaaa87042b3f507ad4348120df7dd073182759;hp=0e2773ded2a3cb6fddd31b049681864a3f8c1e2f;hpb=ab43013b7e357b84b4abade0dba949668dfb2a0e;p=jalview.git diff --git a/src/jalview/appletgui/SeqCanvas.java b/src/jalview/appletgui/SeqCanvas.java index 0e2773d..6bb54f2 100755 --- a/src/jalview/appletgui/SeqCanvas.java +++ b/src/jalview/appletgui/SeqCanvas.java @@ -20,9 +20,16 @@ */ package jalview.appletgui; -import java.awt.*; +import jalview.datamodel.AlignmentI; +import jalview.datamodel.SearchResults; +import jalview.datamodel.SequenceGroup; +import jalview.datamodel.SequenceI; -import jalview.datamodel.*; +import java.awt.Color; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Image; +import java.awt.Panel; public class SeqCanvas extends Panel { @@ -510,49 +517,52 @@ public class SeqCanvas extends Panel void drawPanel(Graphics g1, int startRes, int endRes, int startSeq, int endSeq, int offset) { + + if (!av.hasHiddenColumns()) { draw(g1, startRes, endRes, startSeq, endSeq, offset); } else { - java.util.Vector regions = av.getColumnSelection().getHiddenColumns(); int screenY = 0; int blockStart = startRes; int blockEnd = endRes; - for (int i = 0; i < regions.size(); i++) + if (av.hasHiddenColumns()) { - int[] region = (int[]) regions.elementAt(i); - int hideStart = region[0]; - int hideEnd = region[1]; - - if (hideStart <= blockStart) + for (int[] region : av.getColumnSelection().getHiddenColumns()) { - blockStart += (hideEnd - hideStart) + 1; - continue; - } + int hideStart = region[0]; + int hideEnd = region[1]; - blockEnd = hideStart - 1; + if (hideStart <= blockStart) + { + blockStart += (hideEnd - hideStart) + 1; + continue; + } - g1.translate(screenY * av.charWidth, 0); + blockEnd = hideStart - 1; - draw(g1, blockStart, blockEnd, startSeq, endSeq, offset); + g1.translate(screenY * av.charWidth, 0); - if (av.getShowHiddenMarkers()) - { - g1.setColor(Color.blue); - g1.drawLine((blockEnd - blockStart + 1) * av.charWidth - 1, - 0 + offset, (blockEnd - blockStart + 1) * av.charWidth - - 1, (endSeq - startSeq) * av.charHeight + offset); - } + draw(g1, blockStart, blockEnd, startSeq, endSeq, offset); - g1.translate(-screenY * av.charWidth, 0); - screenY += blockEnd - blockStart + 1; - blockStart = hideEnd + 1; - } + if (av.getShowHiddenMarkers()) + { + g1.setColor(Color.blue); + g1.drawLine((blockEnd - blockStart + 1) * av.charWidth - 1, + 0 + offset, (blockEnd - blockStart + 1) * av.charWidth + - 1, (endSeq - startSeq) * av.charHeight + + offset); + } + g1.translate(-screenY * av.charWidth, 0); + screenY += blockEnd - blockStart + 1; + blockStart = hideEnd + 1; + } + } if (screenY <= (endRes - startRes)) { blockEnd = blockStart + (endRes - startRes) - screenY; @@ -589,7 +599,7 @@ public class SeqCanvas extends Panel sr.drawSequence(nextSeq, av.getAlignment().findAllGroups(nextSeq), startRes, endRes, offset + ((i - startSeq) * av.charHeight)); - if (av.showSequenceFeatures) + if (av.isShowSequenceFeatures()) { fr.drawSequence(g, nextSeq, startRes, endRes, offset + ((i - startSeq) * av.charHeight)); @@ -646,7 +656,7 @@ public class SeqCanvas extends Panel if ((group == null) && (av.getAlignment().getGroups().size() > 0)) { - group = (SequenceGroup) av.getAlignment().getGroups().get(0); + group = av.getAlignment().getGroups().get(0); groupIndex = 0; } @@ -803,7 +813,7 @@ public class SeqCanvas extends Panel break; } - group = (SequenceGroup) av.getAlignment().getGroups() + group = av.getAlignment().getGroups() .get(groupIndex); } while (groupIndex < av.getAlignment().getGroups().size());