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
21 public IdPanel(AlignViewport av, AlignmentPanel parent)
\r
24 alignPanel = parent;
\r
25 idCanvas = new IdCanvas(av);
\r
26 setLayout(new BorderLayout());
\r
27 add(idCanvas, BorderLayout.CENTER);
\r
28 addMouseListener(this);
\r
29 addMouseMotionListener(this);
\r
32 public void mouseMoved(MouseEvent e) {}
\r
34 public void selectSeqs(int start, int end) {
\r
41 for (int i = start; i <= end; i++)
\r
43 SequenceI pickedSeq = av.getAlignment().getSequenceAt(i);
\r
45 if (av.getSelection().contains(pickedSeq))
\r
46 av.getSelection().removeElement(pickedSeq);
\r
48 av.getSelection().addElement(pickedSeq);
\r
56 public void mouseDragged(MouseEvent e) {
\r
58 int seq = av.getIndex(y);
\r
64 selectSeqs(lastid - 1, seq);
\r
65 else if (seq > lastid)
\r
66 selectSeqs(lastid + 1, seq);
\r
73 public void mouseClicked(MouseEvent e)
\r
75 if (e.getClickCount() == 2)
\r
77 int seq = av.getIndex(e.getY());
\r
78 String id = av.getAlignment().getSequenceAt(seq).getName();
\r
81 jalview.util.BrowserLauncher.openURL(
\r
82 "http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[swall-id:" + id +
\r
84 }catch(Exception ex){ex.printStackTrace();}
\r
88 public void mouseEntered(MouseEvent e) { }
\r
89 public void mouseExited (MouseEvent e) { }
\r
91 public void mousePressed(MouseEvent e) {
\r
92 if (e.getClickCount() == 2)
\r
96 int seq = av.getIndex(y);
\r
99 if( javax.swing.SwingUtilities.isRightMouseButton(e))
\r
101 String id = av.getAlignment().getSequenceAt(seq).getName();
\r
102 String s = (String)JOptionPane.showInternalInputDialog(
\r
104 "Edit sequence name",
\r
105 "Edit sequence name",
\r
106 JOptionPane.PLAIN_MESSAGE,
\r
113 av.getAlignment().getSequenceAt(seq).setName(s);
\r
114 alignPanel.RefreshPanels();
\r
121 selectSeqs(seq,seq);
\r
128 public void mouseReleased(MouseEvent e)
\r
131 PaintRefresher.Refresh(this);
\r