X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignmentPanel.java;h=ec83a5d521fb0f310965c56e1ff26f171550c7a1;hb=4876b965727a47061c80f2b6f335be2c953a8ca1;hp=7228e1b20b0c5005afeea6d274c1515024633a7a;hpb=3b1a35f953ef3bcfd8c0dd8a00919212b69ba25d;p=jalview.git diff --git a/src/jalview/gui/AlignmentPanel.java b/src/jalview/gui/AlignmentPanel.java index 7228e1b..ec83a5d 100644 --- a/src/jalview/gui/AlignmentPanel.java +++ b/src/jalview/gui/AlignmentPanel.java @@ -34,6 +34,7 @@ import jalview.math.AlignmentDimension; import jalview.schemes.ResidueProperties; import jalview.structure.StructureSelectionManager; import jalview.util.MessageManager; +import jalview.util.Platform; import java.awt.BorderLayout; import java.awt.Color; @@ -75,6 +76,7 @@ public class AlignmentPanel extends GAlignmentPanel implements private IdPanel idPanel; private boolean headless; + IdwidthAdjuster idwidthAdjuster; /** DOCUMENT ME!! */ @@ -154,6 +156,7 @@ public class AlignmentPanel extends GAlignmentPanel implements { return av; } + public void alignmentChanged() { av.alignmentChanged(this); @@ -176,8 +179,7 @@ public class AlignmentPanel extends GAlignmentPanel implements scalePanelHolder.setPreferredSize(new Dimension(10, av.getCharHeight() + fm.getDescent())); idSpaceFillerPanel1.setPreferredSize(new Dimension(10, av - .getCharHeight() - + fm.getDescent())); + .getCharHeight() + fm.getDescent())); getIdPanel().getIdCanvas().gg = null; getSeqPanel().seqCanvas.img = null; @@ -316,7 +318,8 @@ public class AlignmentPanel extends GAlignmentPanel implements * @param redrawOverview * @return */ - public boolean scrollToPosition(SearchResults searchResults, boolean redrawOverview) + public boolean scrollToPosition(SearchResults searchResults, + boolean redrawOverview) { return scrollToPosition(searchResults, 0, redrawOverview, false); } @@ -336,8 +339,7 @@ public class AlignmentPanel extends GAlignmentPanel implements * @return false if results were not found */ public boolean scrollToPosition(SearchResults results, - int verticalOffset, - boolean redrawOverview, boolean centre) + int verticalOffset, boolean redrawOverview, boolean centre) { int startv, endv, starts, ends; // TODO: properly locate search results in view when large numbers of hidden @@ -361,8 +363,9 @@ public class AlignmentPanel extends GAlignmentPanel implements } int start = r[0]; int end = r[1]; - // System.err.println("Seq : "+seqIndex+" Scroll to "+start+","+end); // // DEBUG + // System.err.println(this.av.viewName + " Seq : " + seqIndex + // + " Scroll to " + start + "," + end); /* * To centre results, scroll to positions half the visible width @@ -372,7 +375,7 @@ public class AlignmentPanel extends GAlignmentPanel implements { int offset = (av.getEndRes() - av.getStartRes() + 1) / 2 - 1; start = Math.max(start - offset, 0); - end = Math.min(end + offset, seq.getEnd() - 1); + end = end + offset - 1; } if (start < 0) { @@ -401,6 +404,9 @@ public class AlignmentPanel extends GAlignmentPanel implements */ seqIndex = Math.max(0, seqIndex - verticalOffset); + // System.out.println("start=" + start + ", end=" + end + ", startv=" + // + av.getStartRes() + ", endv=" + av.getEndRes() + ", starts=" + // + av.getStartSeq() + ", ends=" + av.getEndSeq()); if (!av.getWrapAlignment()) { if ((startv = av.getStartRes()) >= start) @@ -531,12 +537,13 @@ public class AlignmentPanel extends GAlignmentPanel implements /* * Estimate available height in the AlignFrame for alignment + - * annotations. Deduct an estimate of 75 for menu bar, scale panel, + * annotations. Deduct an estimate for title bar, menu bar, scale panel, * hscroll, status bar (as these are not laid out we can't inspect their - * actual heights). Insets gives borders including title bar. + * actual heights). Insets gives frame borders. */ + int stuff = Platform.isAMac() ? 80 : 100; Insets insets = alignFrame.getInsets(); - int availableHeight = alignFrame.getHeight() - 75 - insets.top + int availableHeight = alignFrame.getHeight() - stuff - insets.top - insets.bottom; /* @@ -666,14 +673,14 @@ public class AlignmentPanel extends GAlignmentPanel implements * Adjust row/column scrollers to show a visible position in the alignment. * * @param x - * visible column to scroll to DOCUMENT ME! + * visible column to scroll to * @param y * visible row to scroll to * */ public void setScrollValues(int x, int y) { - // System.err.println("Scroll to "+x+","+y); + // System.err.println("Scroll " + this.av.viewName + " to " + x + "," + y); if (av == null || av.getAlignment() == null) { return; @@ -741,7 +748,8 @@ public class AlignmentPanel extends GAlignmentPanel implements { int x = hscroll.getValue(); av.setStartRes(x); - av.setEndRes((x + (getSeqPanel().seqCanvas.getWidth() / av.getCharWidth())) - 1); + av.setEndRes((x + (getSeqPanel().seqCanvas.getWidth() / av + .getCharWidth())) - 1); } if (evt.getSource() == vscroll) @@ -838,13 +846,13 @@ public class AlignmentPanel extends GAlignmentPanel implements { final AnnotationSorter sorter = new AnnotationSorter(getAlignment(), av.isShowAutocalculatedAbove()); - sorter.sort(getAlignment() - .getAlignmentAnnotation(), + sorter.sort(getAlignment().getAlignmentAnnotation(), av.getSortAnnotationsBy()); repaint(); if (updateOverview) { + // TODO: determine if this paintAlignment changed structure colours av.getStructureSelectionManager().sequenceColoursChanged(this); if (overviewPanel != null) @@ -1056,9 +1064,7 @@ public class AlignmentPanel extends GAlignmentPanel implements - 4; } - pg.drawString( - seq.getDisplayId(av.getShowJVSuffix()), - xPos, + pg.drawString(seq.getDisplayId(av.getShowJVSuffix()), xPos, (((i - startSeq) * av.getCharHeight()) + av.getCharHeight()) - (av.getCharHeight() / 5)); } @@ -1067,7 +1073,8 @@ public class AlignmentPanel extends GAlignmentPanel implements // draw main sequence panel pg.translate(idWidth, 0); - getSeqPanel().seqCanvas.drawPanel(pg, startRes, endRes, startSeq, endSeq, 0); + getSeqPanel().seqCanvas.drawPanel(pg, startRes, endRes, startSeq, + endSeq, 0); if (av.isShowAnnotation() && (endSeq == av.getAlignment().getHeight())) { @@ -1169,12 +1176,14 @@ public class AlignmentPanel extends GAlignmentPanel implements } if (labels != null) { - pg.translate(-3, ypos - + (av.getAlignment().getHeight() * av.getCharHeight())); + pg.translate(-3, + ypos + (av.getAlignment().getHeight() * av.getCharHeight())); pg.setFont(av.getFont()); labels.drawComponent(pg, idWidth); - pg.translate(+3, -ypos + pg.translate( + +3, + -ypos - (av.getAlignment().getHeight() * av .getCharHeight())); } @@ -1184,8 +1193,8 @@ public class AlignmentPanel extends GAlignmentPanel implements pg.translate(idWidth, 0); - getSeqPanel().seqCanvas.drawWrappedPanel(pg, pwidth - idWidth, totalHeight, - 0); + getSeqPanel().seqCanvas.drawWrappedPanel(pg, pwidth - idWidth, + totalHeight, 0); if ((pi * pheight) < totalHeight) { @@ -1243,8 +1252,8 @@ public class AlignmentPanel extends GAlignmentPanel implements if (alignFrame != null && !headless) { alignFrame.setProgressBar(MessageManager.formatMessage( - "status.saving_file", new Object[] - { type.getLabel() }), progress); + "status.saving_file", new Object[] { type.getLabel() }), + progress); } try { @@ -1305,7 +1314,9 @@ public class AlignmentPanel extends GAlignmentPanel implements { if (alignFrame != null && !headless) { - alignFrame.setProgressBar(MessageManager.getString("status.export_complete"), progress); + alignFrame.setProgressBar( + MessageManager.getString("status.export_complete"), + progress); } } } @@ -1370,6 +1381,7 @@ public class AlignmentPanel extends GAlignmentPanel implements { makeAlignmentImage(jalview.util.ImageMaker.TYPE.SVG, svgFile); } + public void makePNGImageMap(File imgMapFile, String imageName) { // /////ONLY WORKS WITH NONE WRAPPED ALIGNMENTS @@ -1407,8 +1419,7 @@ public class AlignmentPanel extends GAlignmentPanel implements if (av.getAlignment().isNucleotide()) { triplet = ResidueProperties.nucleotideName.get(seq - .getCharAt(res) - + ""); + .getCharAt(res) + ""); } else { @@ -1430,8 +1441,7 @@ public class AlignmentPanel extends GAlignmentPanel implements text.append("