X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAnnotationPanel.java;h=92cd407c90a9977b4c936ce1c4af56bb0f499d1e;hb=4cea7a0328724b90a6a7c16ae8c926e0cc12cedd;hp=93647a8c66a66d17d74d1201ad0d9df4eccf254c;hpb=ef0e58880dc9de8c3a1eeef3c9879ed996a07602;p=jalview.git diff --git a/src/jalview/gui/AnnotationPanel.java b/src/jalview/gui/AnnotationPanel.java index 93647a8..92cd407 100755 --- a/src/jalview/gui/AnnotationPanel.java +++ b/src/jalview/gui/AnnotationPanel.java @@ -20,11 +20,13 @@ package jalview.gui; import java.awt.*; import java.awt.event.*; import java.awt.image.*; + import javax.swing.*; import jalview.datamodel.*; import jalview.renderer.AnnotationRenderer; import jalview.renderer.AwtRenderPanelI; +import jalview.util.MessageManager; /** * AnnotationPanel displays visible portion of annotation rows below unwrapped @@ -266,7 +268,7 @@ 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, "Enter label", + String label = JOptionPane.showInputDialog(this, MessageManager.getString("label.enter_label"), exMesg); if (label == null) @@ -348,7 +350,7 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, } String label = JOptionPane.showInputDialog( - "Enter a label for the structure?", symbol); + MessageManager.getString("label.enter_label_for_the_structure"), symbol); if (label == null) { @@ -376,10 +378,10 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, anot[index].displayCharacter = label; } } - aa[activeRow].validateRangeAndDisplay(); - - adjustPanelHeight(); + av.getAlignment().validateAnnotation(aa[activeRow]); ap.alignmentChanged(); + + adjustPanelHeight(); repaint(); return; @@ -481,7 +483,7 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, return; } - JPopupMenu pop = new JPopupMenu("Structure type"); + JPopupMenu pop = new JPopupMenu(MessageManager.getString("label.structure_type")); JMenuItem item; /* * Just display the needed structure options @@ -663,7 +665,7 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, && aa[row].annotations[res].description != null && aa[row].annotations[res].description.length() > 0) { - this.setToolTipText(aa[row].annotations[res].description); + this.setToolTipText(""+JvSwingUtils.wrapTooltip(aa[row].annotations[res].description)+""); } else { @@ -699,16 +701,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 (anot.description.equals("secondary structure")) - { - // System.out.println(anot.description+" "+anot.getRNAStruc()); - } - } +// if (activeRow != -1) +// { +// AlignmentAnnotation[] aa = av.getAlignment().getAlignmentAnnotation(); +// AlignmentAnnotation anot = aa[activeRow]; +// } } // TODO mouseClicked-content and drawCursor are quite experimental! @@ -800,7 +797,10 @@ 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 * @@ -809,7 +809,6 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, */ public void fastPaint(int horizontal) { - if ((horizontal == 0) || gg == null || av.getAlignment().getAlignmentAnnotation() == null || av.getAlignment().getAlignmentAnnotation().length < 1 @@ -818,8 +817,9 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, repaint(); return; } + long stime=System.currentTimeMillis(); gg.copyArea(0, 0, imgWidth, getHeight(), -horizontal * av.charWidth, 0); - + long mtime=System.currentTimeMillis(); int sr = av.startRes; int er = av.endRes + 1; int transX = 0; @@ -839,9 +839,13 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, drawComponent(gg, sr, er); gg.translate(-transX, 0); - + 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)); + } } @@ -920,7 +924,7 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, g.setColor(Color.black); if (av.validCharWidth) { - g.drawString("Alignment has no annotations", 20, 15); + g.drawString(MessageManager.getString("label.alignment_has_no_annotations"), 20, 15); } return; @@ -950,4 +954,16 @@ 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) + { + int sOffset=-ap.alabels.scrollOffset; + int visHeight = sOffset+ap.annotationSpaceFillerHolder.getHeight(); + bounds[0] = sOffset; bounds[1]=visHeight; + return bounds; + } else return null; + } }