X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FIdPanel.java;h=fb37445f0dd0098d3ae27bbbfa0e9edda5704de5;hb=63dc4eb11b8a7129326134f4d9a041823372778c;hp=29bb52247df14fadd01ed893a8d3722e1d1399ea;hpb=136c0793b90b72b928c4d77dc109dd5c644e00d3;p=jalview.git diff --git a/src/jalview/gui/IdPanel.java b/src/jalview/gui/IdPanel.java index 29bb522..fb37445 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; @@ -108,8 +108,7 @@ public class IdPanel extends JPanel implements MouseListener, SequenceI sequence = av.getAlignment().getSequenceAt(seq); StringBuilder tip = new StringBuilder(64); seqAnnotReport.createTooltipAnnotationReport(tip, sequence, - av.isShowDBRefs(), av.isShowNPFeats(), - sp.seqCanvas.fr.getMinMax()); + av.isShowDBRefs(), av.isShowNPFeats(), sp.seqCanvas.fr); setToolTipText(JvSwingUtils.wrapTooltip(true, sequence.getDisplayId(true) + " " + tip.toString())); } @@ -138,7 +137,7 @@ public class IdPanel extends JPanel implements MouseListener, } lastid = seq; - alignPanel.paintAlignment(true); + alignPanel.paintAlignment(false, false); } /** @@ -148,7 +147,8 @@ 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()) { @@ -159,7 +159,7 @@ public class IdPanel extends JPanel implements MouseListener, av.getRanges().scrollUp(false); } } - else + else if (wheelRotation < 0) { if (e.isShiftDown()) { @@ -293,8 +293,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 +313,7 @@ public class IdPanel extends JPanel implements MouseListener, av.isSelectionGroupChanged(true); - alignPanel.paintAlignment(true); + alignPanel.paintAlignment(false, false); } /** @@ -330,8 +330,12 @@ public class IdPanel extends JPanel implements MouseListener, * build a new links menu based on the current links * and any non-positional features */ + List features = null; + if (sq != null) + { List nlinks = Preferences.sequenceUrlLinks.getLinksForMenu(); - for (SequenceFeature sf : sq.getFeatures().getNonPositionalFeatures()) + features = sq.getFeatures().getNonPositionalFeatures(); + for (SequenceFeature sf : features) { if (sf.links != null) { @@ -341,8 +345,9 @@ public class IdPanel extends JPanel implements MouseListener, } } } + } - PopupMenu pop = new PopupMenu(alignPanel, sq, nlinks, + PopupMenu pop = new PopupMenu(alignPanel, sq, features, Preferences.getGroupURLLinks()); pop.show(this, e.getX(), e.getY()); } @@ -391,8 +396,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); } } @@ -507,7 +512,7 @@ public class IdPanel extends JPanel implements MouseListener, running = false; } - alignPanel.paintAlignment(false); + alignPanel.paintAlignment(false, false); try {