X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FIdPanel.java;h=939a65effad7f8e993120b2b82e37f936137b9dc;hb=d4ede6b61d4abab78200f334d8df07879dfe6741;hp=14f60d57466764f4dae8cf32ca009832052fb152;hpb=95d5181c5173b5ded7d1ef0da1f8c779409fde6d;p=jalview.git diff --git a/src/jalview/gui/IdPanel.java b/src/jalview/gui/IdPanel.java index 14f60d5..939a65e 100755 --- a/src/jalview/gui/IdPanel.java +++ b/src/jalview/gui/IdPanel.java @@ -33,7 +33,8 @@ public class IdPanel extends JPanel implements MouseListener, MouseMotionListene public void mouseMoved(MouseEvent e) {} public void selectSeqs(int start, int end) { - if (end < start) { + if (end < start) + { int tmp = start; start = end; end = tmp; @@ -53,7 +54,8 @@ public class IdPanel extends JPanel implements MouseListener, MouseMotionListene if(selectedSequenceGroup==null) { selectedSequenceGroup = new SequenceGroup(); - av.alignment.addGroup( selectedSequenceGroup ); + av.setRubberbandGroup( selectedSequenceGroup ); + // av.alignment.addGroup( selectedSequenceGroup ); selectedSequenceGroup.setStartRes(0); selectedSequenceGroup.setEndRes( pickedSeq.getSequence().length()); } @@ -73,9 +75,6 @@ public class IdPanel extends JPanel implements MouseListener, MouseMotionListene int y = e.getY(); int seq = av.getIndex(y); - - - if (seq < lastid) selectSeqs(lastid - 1, seq); else if (seq > lastid) @@ -111,35 +110,34 @@ public class IdPanel extends JPanel implements MouseListener, MouseMotionListene int y = e.getY(); int seq = av.getIndex(y); + if (javax.swing.SwingUtilities.isRightMouseButton(e)) + { + jalview.gui.PopupMenu pop = new jalview.gui.PopupMenu(alignPanel, + av.getAlignment().getSequenceAt(seq)); + pop.show(this, e.getX(), y); + return; + } + + + + if(av.getRubberbandGroup()!=null && (av.getRubberbandGroup().getSize() == av.getSelection().size())) + selectedSequenceGroup = av.getRubberbandGroup(); + + if (selectedSequenceGroup == null) + { + selectedSequenceGroup = new SequenceGroup(); + av.setRubberbandGroup(selectedSequenceGroup); + } + + selectedSequenceGroup.setStartRes(0); + selectedSequenceGroup.setEndRes(av.getAlignment().getWidth() - 1); + + if (seq != -1) + selectSeqs(seq, seq); + + lastid = seq; + - if( javax.swing.SwingUtilities.isRightMouseButton(e)) - { - String id = av.getAlignment().getSequenceAt(seq).getName(); - String s = (String)JOptionPane.showInternalInputDialog( - this, - "Edit sequence name", - "Edit sequence name", - JOptionPane.PLAIN_MESSAGE, - null, - null, - id); - - if(s!=null) - { - av.getAlignment().getSequenceAt(seq).setName(s); - alignPanel.RefreshPanels(); - } - - } - else - { - selectedSequenceGroup = av.alignment.findGroup(seq); - - if (seq != -1) - selectSeqs(seq,seq); - - lastid = seq; - } return; }