/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
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
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)
}
String label = JOptionPane.showInputDialog(
- "Enter a label for the structure?", symbol);
+ MessageManager.getString("label.enter_label_for_the_structure"), symbol);
if (label == null)
{
anot[index].displayCharacter = label;
}
}
- aa[activeRow].validateRangeAndDisplay();
-
- adjustPanelHeight();
+ av.getAlignment().validateAnnotation(aa[activeRow]);
ap.alignmentChanged();
+
+ adjustPanelHeight();
repaint();
return;
return;
}
- JPopupMenu pop = new JPopupMenu("Structure type");
+ JPopupMenu pop = new JPopupMenu(MessageManager.getString("label.structure_type"));
JMenuItem item;
/*
* Just display the needed structure options
&& aa[row].annotations[res].description != null
&& aa[row].annotations[res].description.length() > 0)
{
- this.setToolTipText(aa[row].annotations[res].description);
+ this.setToolTipText("<html>"+JvSwingUtils.wrapTooltip(aa[row].annotations[res].description)+"</html>");
}
else
{
@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!
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
*
*/
public void fastPaint(int horizontal)
{
-
if ((horizontal == 0) || gg == null
|| av.getAlignment().getAlignmentAnnotation() == null
|| av.getAlignment().getAlignmentAnnotation().length < 1
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;
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));
+ }
}
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;
@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;
}
}