4 import java.awt.event.*;
\r
6 import jalview.datamodel.*;
\r
8 import javax.swing.*;
\r
10 public class IdPanel extends JPanel implements MouseListener, MouseMotionListener {
\r
12 protected IdCanvas idCanvas;
\r
13 protected AlignViewport av;
\r
14 protected AlignmentPanel alignPanel;
\r
25 public IdPanel(AlignViewport av, AlignmentPanel parent)
\r
28 alignPanel = parent;
\r
29 idCanvas = new IdCanvas(av);
\r
30 setLayout(new BorderLayout());
\r
31 add(idCanvas, BorderLayout.CENTER);
\r
32 addMouseListener(this);
\r
33 addMouseMotionListener(this);
\r
36 public void mouseMoved(MouseEvent e) {}
\r
38 public void selectSeqs(int start, int end) {
\r
45 for (int i = start; i <= end; i++) {
\r
46 SequenceI pickedSeq = av.getAlignment().getSequenceAt(i);
\r
48 if (av.getSelection().contains(pickedSeq)) {
\r
49 av.getSelection().removeElement(pickedSeq);
\r
51 av.getSelection().addElement(pickedSeq);
\r
59 public void mouseDragged(MouseEvent e) {
\r
62 int seq = av.getIndex(y);
\r
64 if (mouseDown == true) {
\r
66 selectSeqs(lastid-1,seq);
\r
67 } else if (seq > lastid) {
\r
68 selectSeqs(lastid+1,seq);
\r
76 public void mouseClicked(MouseEvent e) { }
\r
77 public void mouseEntered(MouseEvent e) { }
\r
78 public void mouseExited (MouseEvent e) { }
\r
80 public void mousePressed(MouseEvent e) {
\r
84 int seq = av.getIndex(y);
\r
88 if( javax.swing.SwingUtilities.isRightMouseButton(e))
\r
90 String id = av.getAlignment().getSequenceAt(seq).getName();
\r
91 String s = (String)JOptionPane.showInputDialog(
\r
93 "Edit sequence name",
\r
94 "Edit sequence name",
\r
95 JOptionPane.PLAIN_MESSAGE,
\r
102 av.getAlignment().getSequenceAt(seq).setName(s);
\r
103 alignPanel.RefreshPanels();
\r
110 selectSeqs(seq,seq);
\r
117 public void mouseReleased(MouseEvent e) {
\r
123 PaintRefresher.Refresh(this);
\r