/*
- * Jalview - A Sequence Alignment Editor and Viewer
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
- *
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4.0.b2)
+ * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ *
* This program 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 2
* of the License, or (at your option) any later version.
- *
+ *
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
-
package jalview.appletgui;
import java.util.*;
import jalview.datamodel.*;
-public class AnnotationLabels
- extends Panel implements ActionListener, MouseListener, MouseMotionListener
+public class AnnotationLabels extends Panel implements ActionListener,
+ MouseListener, MouseMotionListener
{
Image image;
+
boolean active = false;
+
AlignmentPanel ap;
+
AlignViewport av;
+
boolean resizing = false;
+
int oldY, mouseX;
static String ADDNEW = "Add New Row";
+
static String EDITNAME = "Edit Label/Description";
+
static String HIDE = "Hide This Row";
+
static String SHOWALL = "Show All Hidden Rows";
+
static String OUTPUT_TEXT = "Show Values In Textbox";
+
static String COPYCONS_SEQ = "Copy Consensus Sequence";
int scrollOffset = 0;
+
int selectedRow = -1;
Tooltip tooltip;
if (evt.getActionCommand().equals(ADDNEW))
{
- AlignmentAnnotation newAnnotation = new AlignmentAnnotation("",
- null,
- new Annotation[ap.av.alignment.getWidth()]);
+ AlignmentAnnotation newAnnotation = new AlignmentAnnotation("", null,
+ new Annotation[ap.av.alignment.getWidth()]);
if (!editLabelDescription(newAnnotation))
{
{
for (int i = 0; i < aa.length; i++)
{
- aa[i].visible = (aa[i].annotations==null) ? false : true;
+ aa[i].visible = (aa[i].annotations == null) ? false : true;
}
}
else if (evt.getActionCommand().equals(OUTPUT_TEXT))
{
- CutAndPasteTransfer cap = new CutAndPasteTransfer(false, ap.alignFrame);
+ CutAndPasteTransfer cap = new CutAndPasteTransfer(false,
+ ap.alignFrame);
Frame frame = new Frame();
frame.add(cap);
- jalview.bin.JalviewLite.addFrame(frame,
- ap.alignFrame.getTitle() + " - " +
- aa[selectedRow].label, 500, 100);
+ jalview.bin.JalviewLite.addFrame(frame, ap.alignFrame.getTitle()
+ + " - " + aa[selectedRow].label, 500, 100);
cap.setText(aa[selectedRow].toString());
}
else if (evt.getActionCommand().equals(COPYCONS_SEQ))
boolean editLabelDescription(AlignmentAnnotation annotation)
{
- EditNameDialog dialog = new EditNameDialog(
- annotation.label,
- annotation.description,
- " Annotation Label",
- "Annotation Description",
- ap.alignFrame,
- "Edit Annotation Name / Description",
- 500, 100);
+ Checkbox padGaps = new Checkbox("Fill Empty Gaps With \""
+ + ap.av.getGapCharacter() + "\"", annotation.padGaps);
+
+ EditNameDialog dialog = new EditNameDialog(annotation.label,
+ annotation.description, " Annotation Label",
+ "Annotation Description", ap.alignFrame,
+ "Edit Annotation Name / Description", 500, 180, false);
+
+ Panel empty = new Panel(new FlowLayout());
+ empty.add(padGaps);
+ dialog.add(empty);
+ dialog.pack();
+
+ dialog.setVisible(true);
if (dialog.accept)
{
annotation.label = dialog.getName();
annotation.description = dialog.getDescription();
+ annotation.setPadGaps(padGaps.getState(), av.getGapCharacter());
repaint();
return true;
}
{
if (tooltip == null)
{
- tooltip = new Tooltip(ap.av.alignment.
- getAlignmentAnnotation()[row].
- description,
- this);
+ tooltip = new Tooltip(ap.av.alignment.getAlignmentAnnotation()[row]
+ .getDescription(true), this);
}
else
{
- tooltip.setTip(ap.av.alignment.
- getAlignmentAnnotation()[row].description);
+ tooltip.setTip(ap.av.alignment.getAlignmentAnnotation()[row]
+ .getDescription(true));
}
}
else if (tooltip != null)
}
public void mouseDragged(MouseEvent evt)
- {}
+ {
+ }
public void mouseClicked(MouseEvent evt)
- {}
+ {
+ }
public void mouseReleased(MouseEvent evt)
- {}
+ {
+ }
public void mouseEntered(MouseEvent evt)
- {}
+ {
+ }
public void mouseExited(MouseEvent evt)
- {}
+ {
+ }
public void mousePressed(MouseEvent evt)
{
{
popup.addSeparator();
final CheckboxMenuItem cbmi = new CheckboxMenuItem(
- "Ignore Gaps In Consensus",
- ap.av.getIgnoreGapsConsensus());
+ "Ignore Gaps In Consensus", ap.av.getIgnoreGapsConsensus());
cbmi.addItemListener(new ItemListener()
{
/**
* DOCUMENT ME!
- *
- * @param e DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
*/
protected void copy_annotseqtoclipboard(SequenceI sq)
{
return;
}
jalview.appletgui.AlignFrame.copiedSequences = new StringBuffer();
- jalview.appletgui.AlignFrame.copiedSequences.append(sq.getName() + "\t" +
- sq.getStart() + "\t" +
- sq.getEnd() + "\t" +
- sq.getSequenceAsString() + "\n");
+ jalview.appletgui.AlignFrame.copiedSequences.append(sq.getName() + "\t"
+ + sq.getStart() + "\t" + sq.getEnd() + "\t"
+ + sq.getSequenceAsString() + "\n");
if (av.hasHiddenColumns)
{
jalview.appletgui.AlignFrame.copiedHiddenColumns = new Vector();
for (int i = 0; i < av.getColumnSelection().getHiddenColumns().size(); i++)
{
- int[] region = (int[])
- av.getColumnSelection().getHiddenColumns().elementAt(i);
+ int[] region = (int[]) av.getColumnSelection().getHiddenColumns()
+ .elementAt(i);
- jalview.appletgui.AlignFrame.copiedHiddenColumns.addElement(new int[]
- {region[0],
- region[1]});
+ jalview.appletgui.AlignFrame.copiedHiddenColumns
+ .addElement(new int[]
+ { region[0], region[1] });
}
}
}