X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FIdCanvas.java;h=76020c716d79f4eec4df52b1eeeb23fde229dfb8;hb=9d465da4f21e403c20b835264929906b538c0c9b;hp=2df84a9eede25350b8220b742db40c4dc023d2bd;hpb=4c0d7ee1c9115a5d9ebabc6b34bda6b1af7b9fc4;p=jalview.git diff --git a/src/jalview/gui/IdCanvas.java b/src/jalview/gui/IdCanvas.java index 2df84a9..76020c7 100755 --- a/src/jalview/gui/IdCanvas.java +++ b/src/jalview/gui/IdCanvas.java @@ -256,7 +256,7 @@ public class IdCanvas extends JPanel implements ViewportListenerI gg.fillRect(0, 0, getWidth(), imgHeight); drawIds(gg, av, av.getRanges().getStartSeq(), - av.getRanges().getEndSeq(), searchResults,true, getWidth()); + av.getRanges().getEndSeq(), searchResults, true, getWidth()); gg.dispose(); @@ -274,12 +274,16 @@ public class IdCanvas extends JPanel implements ViewportListenerI * @param startSeq * @param endSeq * @param selection - * @param forGUI when false rendering for print - * @param panelWidth width used to calculate righthand margin - usually idCanvas.getWidth() + * @param forGUI + * when false rendering for print + * @param panelWidth + * width used to calculate righthand margin - usually + * idCanvas.getWidth() * */ void drawIds(Graphics2D g, AlignViewport alignViewport, - final int startSeq, final int endSeq, List selection, boolean forGUI, int panelWidth) + final int startSeq, final int endSeq, List selection, + boolean forGUI, int panelWidth) { Font font = alignViewport.getFont(); if (alignViewport.isSeqNameItalics()) @@ -307,7 +311,8 @@ public class IdCanvas extends JPanel implements ViewportListenerI if (alignViewport.getWrapAlignment()) { - drawIdsWrapped(g, alignViewport, startSeq, getHeight()); + drawIdsWrapped(g, alignViewport, startSeq, getHeight(), + manuallyAdjusted ? panelWidth : -1, forGUI); return; } @@ -390,18 +395,19 @@ public class IdCanvas extends JPanel implements ViewportListenerI /** * render sequence IDs and annotation labels when wrapped - without GUI junk + * * @param g * @param av2 - * @param i + * @param startSeq * @param totalHeight */ - public void drawIdsWrappedNoGUI(Graphics2D g, AlignViewport av2, int i, - int totalHeight) + public void drawIdsWrappedNoGUI(Graphics2D g, AlignViewport av2, + int startSeq, int totalHeight) { - drawIdsWrapped(g, av2, totalHeight, totalHeight, i,false); + drawIdsWrapped(g, av2, startSeq, totalHeight, -1, false); } - void drawIdsWrapped(Graphics2D g, AlignViewport alignViewport, + public void drawIdsWrapped(Graphics2D g, AlignViewport alignViewport, int startSeq, int pageHeight, int idWidth, boolean forGUI) { int alignmentWidth = alignViewport.getAlignment().getWidth(); @@ -418,6 +424,9 @@ public class IdCanvas extends JPanel implements ViewportListenerI AnnotationLabels labels = null; if (alignViewport.isShowAnnotation()) { + // in wrapped mode, no alignPanel reference is available + // FIXME: make the renderer not create a new object in wrapped mode + // everytime! labels = new AnnotationLabels(alignViewport); } @@ -453,10 +462,10 @@ public class IdCanvas extends JPanel implements ViewportListenerI int getWidth = getWidth(); int thisIdWidth = getWidth; g.translate(0, ypos + (alheight * charHeight)); - if (!manuallyAdjusted()) + if (!isManuallyAdjusted()) { - int getAnnotationsIdWidth = labels.drawLabels(g, false, -1, false,forGUI, - null, false); + int getAnnotationsIdWidth = labels.drawLabels(g, false, -1, false, + forGUI, null, false); thisIdWidth = idWidth < 0 ? getAnnotationsIdWidth : idWidth; if (thisIdWidth > getWidth) { @@ -625,7 +634,7 @@ public class IdCanvas extends JPanel implements ViewportListenerI private boolean manuallyAdjusted = false; - public boolean manuallyAdjusted() + public boolean isManuallyAdjusted() { return manuallyAdjusted; }