/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * 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 <http://www.gnu.org/licenses/>.
+ * 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;
MouseListener, MouseWheelListener, MouseMotionListener,
ActionListener, AdjustmentListener, Scrollable
{
- final String HELIX = "Helix";
+ String HELIX = MessageManager.getString("label.helix");
- final String SHEET = "Sheet";
+ String SHEET = MessageManager.getString("label.sheet");
/**
* For RNA secondary structure "stems" aka helices
*/
- final String STEM = "RNA Helix";
+ String STEM = MessageManager.getString("label.rna_helix");
- final String LABEL = "Label";
+ String LABEL = MessageManager.getString("label.label");
- final String REMOVE = "Remove Annotation";
+ String REMOVE = MessageManager.getString("label.remove_annotation");
- final String COLOUR = "Colour";
+ String COLOUR = MessageManager.getString("action.colour");
public final Color HELIX_COLOUR = Color.red.darker();
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)
{
else if (evt.getActionCommand().equals(COLOUR))
{
Color col = JColorChooser.showDialog(this,
- "Choose foreground colour", Color.black);
+ MessageManager.getString("label.select_foreground_colour"), Color.black);
for (int i = 0; i < av.getColumnSelection().size(); i++)
{
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)
{
if ((label.length() > 0) && !aa[activeRow].hasText)
{
aa[activeRow].hasText = true;
+ if (evt.getActionCommand().equals(STEM))
+ {
+ aa[activeRow].showAllColLabels = true;
+ }
}
-
for (int i = 0; i < av.getColumnSelection().size(); i++)
{
int index = av.getColumnSelection().columnAt(i);
anot[index].secondaryStructure = type;
anot[index].displayCharacter = label;
+
}
}
av.getAlignment().validateAnnotation(aa[activeRow]);
ap.alignmentChanged();
-
+
adjustPanelHeight();
repaint();
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
&& aa[row].annotations[res].description != null
&& aa[row].annotations[res].description.length() > 0)
{
- this.setToolTipText("<html>"+JvSwingUtils.wrapTooltip(aa[row].annotations[res].description)+"</html>");
+ this.setToolTipText(JvSwingUtils
+ .wrapTooltip(true, aa[row].annotations[res].description));
}
else
{
@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!
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
*
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;
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));
}
}
}
fadedImage = null;
}
-
+
g.setColor(Color.white);
g.fillRect(0, 0, (endRes - startRes) * av.charWidth, getHeight());
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;
{
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;
}
}