X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FIdPanel.java;h=f2761ab44e6b87a0fecf54e67b568e081418d132;hb=07194be147ec7a652d1029c9460fb6426db13b7e;hp=2074900ecc83ef332c5b84c6b28bd059f337d417;hpb=97b26ba418dec7a6e926378205d25470bf098633;p=jalview.git diff --git a/src/jalview/gui/IdPanel.java b/src/jalview/gui/IdPanel.java index 2074900..f2761ab 100755 --- a/src/jalview/gui/IdPanel.java +++ b/src/jalview/gui/IdPanel.java @@ -48,8 +48,8 @@ import javax.swing.ToolTipManager; * @author $author$ * @version $Revision$ */ -public class IdPanel extends JPanel implements MouseListener, - MouseMotionListener, MouseWheelListener +public class IdPanel extends JPanel + implements MouseListener, MouseMotionListener, MouseWheelListener { private IdCanvas idCanvas; @@ -138,7 +138,7 @@ public class IdPanel extends JPanel implements MouseListener, } lastid = seq; - alignPanel.paintAlignment(true); + alignPanel.paintAlignment(false, false); } /** @@ -148,26 +148,27 @@ public class IdPanel extends JPanel implements MouseListener, public void mouseWheelMoved(MouseWheelEvent e) { e.consume(); - if (e.getWheelRotation() > 0) + double wheelRotation = e.getPreciseWheelRotation(); + if (wheelRotation > 0) { if (e.isShiftDown()) { - alignPanel.scrollRight(true); + av.getRanges().scrollRight(true); } else { - alignPanel.scrollUp(false); + av.getRanges().scrollUp(false); } } - else + else if (wheelRotation < 0) { if (e.isShiftDown()) { - alignPanel.scrollRight(false); + av.getRanges().scrollRight(false); } else { - alignPanel.scrollUp(true); + av.getRanges().scrollUp(true); } } } @@ -293,8 +294,8 @@ public class IdPanel extends JPanel implements MouseListener, } if ((av.getSelectionGroup() == null) - || (!jalview.util.Platform.isControlDown(e) && !e.isShiftDown() && av - .getSelectionGroup() != null)) + || (!jalview.util.Platform.isControlDown(e) && !e.isShiftDown() + && av.getSelectionGroup() != null)) { av.setSelectionGroup(new SequenceGroup()); av.getSelectionGroup().setStartRes(0); @@ -313,7 +314,7 @@ public class IdPanel extends JPanel implements MouseListener, av.isSelectionGroupChanged(true); - alignPanel.paintAlignment(true); + alignPanel.paintAlignment(false, false); } /** @@ -325,23 +326,19 @@ public class IdPanel extends JPanel implements MouseListener, { int seq2 = alignPanel.getSeqPanel().findSeq(e); Sequence sq = (Sequence) av.getAlignment().getSequenceAt(seq2); - // build a new links menu based on the current links + any non-positional - // features + + /* + * build a new links menu based on the current links + * and any non-positional features + */ List nlinks = Preferences.sequenceUrlLinks.getLinksForMenu(); - SequenceFeature sfs[] = sq == null ? null : sq.getSequenceFeatures(); - if (sfs != null) + for (SequenceFeature sf : sq.getFeatures().getNonPositionalFeatures()) { - for (SequenceFeature sf : sfs) + if (sf.links != null) { - if (sf.begin == sf.end && sf.begin == 0) + for (String link : sf.links) { - if (sf.links != null && sf.links.size() > 0) - { - for (int l = 0, lSize = sf.links.size(); l < lSize; l++) - { - nlinks.add(sf.links.elementAt(l)); - } - } + nlinks.add(link); } } } @@ -395,8 +392,8 @@ public class IdPanel extends JPanel implements MouseListener, for (int i = start; i <= end; i++) { - av.getSelectionGroup().addSequence( - av.getAlignment().getSequenceAt(i), i == end); + av.getSelectionGroup().addSequence(av.getAlignment().getSequenceAt(i), + i == end); } } @@ -446,7 +443,7 @@ public class IdPanel extends JPanel implements MouseListener, if ((av.getRanges().getStartSeq() > index) || (av.getRanges().getEndSeq() < index)) { - alignPanel.setScrollValues(av.getRanges().getStartRes(), index); + av.getRanges().setStartSeq(index); } } @@ -485,7 +482,7 @@ public class IdPanel extends JPanel implements MouseListener, while (running) { - if (alignPanel.scrollUp(up)) + if (av.getRanges().scrollUp(up)) { // scroll was ok, so add new sequence to selection int seq = av.getRanges().getStartSeq(); @@ -511,7 +508,7 @@ public class IdPanel extends JPanel implements MouseListener, running = false; } - alignPanel.paintAlignment(false); + alignPanel.paintAlignment(false, false); try {