/*
- * 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;
public class AnnotationLabels extends JPanel implements MouseListener,
MouseMotionListener, ActionListener
{
- static String TOGGLE_LABELSCALE = "Scale Label to Column";
+ String TOGGLE_LABELSCALE = MessageManager.getString("label.scale_label_to_column");
- static String ADDNEW = "Add New Row";
+ String ADDNEW = MessageManager.getString("label.add_new_row");
- static String EDITNAME = "Edit Label/Description";
+ String EDITNAME = MessageManager.getString("label.edit_label_description");
- static String HIDE = "Hide This Row";
+ String HIDE = MessageManager.getString("label.hide_row");
- static String DELETE = "Delete This Row";
+ String DELETE = MessageManager.getString("label.delete_row");
- static String SHOWALL = "Show All Hidden Rows";
+ String SHOWALL = MessageManager.getString("label.show_all_hidden_rows");
- static String OUTPUT_TEXT = "Export Annotation";
+ String OUTPUT_TEXT = MessageManager.getString("label.export_annotation");
- static String COPYCONS_SEQ = "Copy Consensus Sequence";
+ String COPYCONS_SEQ = MessageManager.getString("label.copy_consensus_sequence");
boolean resizePanel = false;
return;
}
- JPopupMenu pop = new JPopupMenu("Annotations");
+ JPopupMenu pop = new JPopupMenu(
+ MessageManager.getString("label.annotations"));
JMenuItem item = new JMenuItem(ADDNEW);
item.addActionListener(this);
pop.add(item);
}
/**
- * Draw the full set of annotation Labels for the alignment at the given cursor
+ * Draw the full set of annotation Labels for the alignment at the given
+ * cursor
+ *
+ * @param g
+ * Graphics2D instance (needed for font scaling)
+ * @param width
+ * Width for scaling labels
*
- * @param g Graphics2D instance (needed for font scaling)
- * @param width Width for scaling labels
- *
*/
public void drawComponent(Graphics g, int width)
{
}
private final boolean debugRedraw = false;
+
/**
- * Draw the full set of annotation Labels for the alignment at the given cursor
+ * Draw the full set of annotation Labels for the alignment at the given
+ * cursor
*
- * @param g Graphics2D instance (needed for font scaling)
- * @param clip - true indicates that only current visible area needs to be rendered
- * @param width Width for scaling labels
+ * @param g
+ * Graphics2D instance (needed for font scaling)
+ * @param clip
+ * - true indicates that only current visible area needs to be
+ * rendered
+ * @param width
+ * Width for scaling labels
*/
public void drawComponent(Graphics g, boolean clip, int width)
{
g.translate(0, scrollOffset);
g.setColor(Color.black);
-
+
AlignmentAnnotation[] aa = av.getAlignment().getAlignmentAnnotation();
int fontHeight = g.getFont().getSize();
int y = 0;
Font baseFont = g.getFont();
FontMetrics baseMetrics = fm;
int ofontH = fontHeight;
- int sOffset=0;
+ int sOffset = 0;
int visHeight = 0;
- int[] visr = (ap!=null && ap.annotationPanel!=null) ? ap.annotationPanel.getVisibleVRange() : null;
- if (clip && visr!=null){
- sOffset = visr[0];
+ int[] visr = (ap != null && ap.annotationPanel != null) ? ap.annotationPanel
+ .getVisibleVRange() : null;
+ if (clip && visr != null)
+ {
+ sOffset = visr[0];
visHeight = visr[1];
}
- boolean visible = true,before=false,after=false;
+ boolean visible = true, before = false, after = false;
if (aa != null)
{
hasHiddenRows = false;
- int olY=0;
+ int olY = 0;
for (int i = 0; i < aa.length; i++)
{
visible = true;
hasHiddenRows = true;
continue;
}
- olY=y;
+ olY = y;
y += aa[i].height;
- if (clip) {if (y<sOffset)
+ if (clip)
{
- if (!before)
+ if (y < sOffset)
{
- if (debugRedraw) {
- System.out.println("before vis: "+i);
+ if (!before)
+ {
+ if (debugRedraw)
+ {
+ System.out.println("before vis: " + i);
+ }
+ before = true;
}
- before=true;
+ // don't draw what isn't visible
+ continue;
}
- // don't draw what isn't visible
- continue;
- }
- if (olY>visHeight)
- {
-
- if (!after)
+ if (olY > visHeight)
{
- if (debugRedraw) {
- System.out.println("Scroll offset: "+sOffset+" after vis: "+i);
+
+ if (!after)
+ {
+ if (debugRedraw)
+ {
+ System.out.println("Scroll offset: " + sOffset
+ + " after vis: " + i);
+ }
+ after = true;
}
- after=true;
+ // don't draw what isn't visible
+ continue;
}
- // don't draw what isn't visible
- continue;
- }}
+ }
g.setColor(Color.black);
offset = -aa[i].height / 2;
if (aa[i].graphGroup > -1)
{
int groupSize = 0;
- // TODO: JAL-1291 revise rendering model so the graphGroup map is computed efficiently for all visible labels
+ // TODO: JAL-1291 revise rendering model so the graphGroup map is
+ // computed efficiently for all visible labels
for (int gg = 0; gg < aa.length; gg++)
{
if (aa[gg].graphGroup == aa[i].graphGroup)
if (!av.wrapAlignment && ((aa == null) || (aa.length < 1)))
{
g.drawString(MessageManager.getString("label.right_click"), 2, 8);
- g.drawString(MessageManager.getString("label.to_add_annotation"), 2, 18);
+ g.drawString(MessageManager.getString("label.to_add_annotation"), 2,
+ 18);
}
}
}