X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAnnotationPanel.java;h=73be63e3bab8d8a73c81ff4ce254f1c38ab3f561;hb=7ab5d6b0ba5fec1ea4a4239e79c476d841622485;hp=128110be21198fbd7b2d218ab287bb3c91ec93aa;hpb=b2f9a8d7bce642ff4011bc6d49e02bb0569fbb11;p=jalview.git diff --git a/src/jalview/gui/AnnotationPanel.java b/src/jalview/gui/AnnotationPanel.java index 128110b..73be63e 100755 --- a/src/jalview/gui/AnnotationPanel.java +++ b/src/jalview/gui/AnnotationPanel.java @@ -1,19 +1,21 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1) + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) * Copyright (C) 2014 The Jalview Authors * * 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. + * 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 * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; @@ -269,8 +271,8 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, else if (evt.getActionCommand().equals(LABEL)) { String exMesg = collectAnnotVals(anot, av.getColumnSelection(), LABEL); - String label = JOptionPane.showInputDialog(this, MessageManager.getString("label.enter_label"), - exMesg); + String label = JOptionPane.showInputDialog(this, + MessageManager.getString("label.enter_label"), exMesg); if (label == null) { @@ -350,8 +352,8 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, aa[activeRow].hasIcons = true; } - String label = JOptionPane.showInputDialog( - MessageManager.getString("label.enter_label_for_the_structure"), symbol); + String label = JOptionPane.showInputDialog(MessageManager + .getString("label.enter_label_for_the_structure"), symbol); if (label == null) { @@ -363,7 +365,7 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, aa[activeRow].hasText = true; if (evt.getActionCommand().equals(STEM)) { - aa[activeRow].showAllColLabels=true; + aa[activeRow].showAllColLabels = true; } } for (int i = 0; i < av.getColumnSelection().size(); i++) @@ -380,12 +382,12 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, anot[index].secondaryStructure = type; anot[index].displayCharacter = label; - + } } av.getAlignment().validateAnnotation(aa[activeRow]); ap.alignmentChanged(); - + adjustPanelHeight(); repaint(); @@ -488,7 +490,8 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, return; } - JPopupMenu pop = new JPopupMenu(MessageManager.getString("label.structure_type")); + JPopupMenu pop = new JPopupMenu( + MessageManager.getString("label.structure_type")); JMenuItem item; /* * Just display the needed structure options @@ -670,7 +673,10 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, && aa[row].annotations[res].description != null && aa[row].annotations[res].description.length() > 0) { - this.setToolTipText(""+JvSwingUtils.wrapTooltip(aa[row].annotations[res].description)+""); + this.setToolTipText("" + + JvSwingUtils + .wrapTooltip(aa[row].annotations[res].description) + + ""); } else { @@ -706,11 +712,11 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, @Override public void mouseClicked(MouseEvent evt) { -// if (activeRow != -1) -// { -// AlignmentAnnotation[] aa = av.getAlignment().getAlignmentAnnotation(); -// AlignmentAnnotation anot = aa[activeRow]; -// } + // if (activeRow != -1) + // { + // AlignmentAnnotation[] aa = av.getAlignment().getAlignmentAnnotation(); + // AlignmentAnnotation anot = aa[activeRow]; + // } } // TODO mouseClicked-content and drawCursor are quite experimental! @@ -802,10 +808,12 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, imageFresh = false; g.drawImage(image, 0, 0, this); } + /** * set true to enable redraw timing debug output on stderr */ private final boolean debugRedraw = false; + /** * non-Thread safe repaint * @@ -822,9 +830,9 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, repaint(); return; } - long stime=System.currentTimeMillis(); + long stime = System.currentTimeMillis(); gg.copyArea(0, 0, imgWidth, getHeight(), -horizontal * av.charWidth, 0); - long mtime=System.currentTimeMillis(); + long mtime = System.currentTimeMillis(); int sr = av.startRes; int er = av.endRes + 1; int transX = 0; @@ -844,12 +852,15 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, drawComponent(gg, sr, er); gg.translate(-transX, 0); - long dtime=System.currentTimeMillis(); + long dtime = System.currentTimeMillis(); fastPaint = true; repaint(); - long rtime=System.currentTimeMillis(); - if (debugRedraw) { - System.err.println("Scroll:\t"+horizontal+"\tCopyArea:\t"+(mtime-stime)+"\tDraw component:\t"+(dtime-mtime)+"\tRepaint call:\t"+(rtime-dtime)); + long rtime = System.currentTimeMillis(); + if (debugRedraw) + { + System.err.println("Scroll:\t" + horizontal + "\tCopyArea:\t" + + (mtime - stime) + "\tDraw component:\t" + (dtime - mtime) + + "\tRepaint call:\t" + (rtime - dtime)); } } @@ -911,7 +922,7 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, } fadedImage = null; } - + g.setColor(Color.white); g.fillRect(0, 0, (endRes - startRes) * av.charWidth, getHeight()); @@ -929,7 +940,8 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, g.setColor(Color.black); if (av.validCharWidth) { - g.drawString(MessageManager.getString("label.alignment_has_no_annotations"), 20, 15); + g.drawString(MessageManager + .getString("label.alignment_has_no_annotations"), 20, 15); } return; @@ -959,16 +971,21 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, { return imgWidth; } + private int[] bounds = new int[2]; + @Override public int[] getVisibleVRange() { - if (ap!=null && ap.alabels!=null) + if (ap != null && ap.alabels != null) { - int sOffset=-ap.alabels.scrollOffset; - int visHeight = sOffset+ap.annotationSpaceFillerHolder.getHeight(); - bounds[0] = sOffset; bounds[1]=visHeight; - return bounds; - } else return null; + int sOffset = -ap.alabels.scrollOffset; + int visHeight = sOffset + ap.annotationSpaceFillerHolder.getHeight(); + bounds[0] = sOffset; + bounds[1] = visHeight; + return bounds; + } + else + return null; } }