X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FIdPanel.java;h=3fff67b789d1556e4a91f1b278f34d45dbdfea18;hb=refs%2Fheads%2Fbug%2FJAL-4290_headless_alignment_figure_with_sse;hp=5908810c29dd4d1cbf442f91ec05ac556f9cc5db;hpb=09976d9f77b1a3a6486735b0fd9caeb158f1834f;p=jalview.git diff --git a/src/jalview/gui/IdPanel.java b/src/jalview/gui/IdPanel.java index 5908810..3fff67b 100755 --- a/src/jalview/gui/IdPanel.java +++ b/src/jalview/gui/IdPanel.java @@ -20,26 +20,12 @@ */ package jalview.gui; -import jalview.datamodel.AlignmentAnnotation; -import jalview.datamodel.Sequence; -import jalview.datamodel.SequenceFeature; -import jalview.datamodel.SequenceGroup; -import jalview.datamodel.SequenceI; -import jalview.gui.SeqPanel.MousePos; -import jalview.io.SequenceAnnotationReport; -import jalview.util.MessageManager; -import jalview.util.Platform; -import jalview.viewmodel.AlignmentViewport; -import jalview.viewmodel.ViewportRanges; - import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; -import java.awt.event.MouseWheelEvent; -import java.awt.event.MouseWheelListener; import java.util.List; import javax.swing.JPanel; @@ -48,15 +34,23 @@ import javax.swing.SwingUtilities; import javax.swing.Timer; import javax.swing.ToolTipManager; +import jalview.datamodel.AlignmentAnnotation; +import jalview.datamodel.Sequence; +import jalview.datamodel.SequenceGroup; +import jalview.datamodel.SequenceI; +import jalview.gui.SeqPanel.MousePos; +import jalview.io.SequenceAnnotationReport; +import jalview.util.MessageManager; +import jalview.util.Platform; +import jalview.viewmodel.AlignmentViewport; +import jalview.viewmodel.ViewportRanges; + /** * This panel hosts alignment sequence ids and responds to mouse clicks on them, * as well as highlighting ids matched by a search from the Find menu. - * - * @author $author$ - * @version $Revision$ */ public class IdPanel extends JPanel - implements MouseListener, MouseMotionListener, MouseWheelListener + implements MouseListener, MouseMotionListener { private IdCanvas idCanvas; @@ -66,8 +60,6 @@ public class IdPanel extends JPanel ScrollThread scrollThread = null; - String linkImageURL; - int offy; // int width; @@ -88,13 +80,12 @@ public class IdPanel extends JPanel this.av = av; alignPanel = parent; setIdCanvas(new IdCanvas(av)); - linkImageURL = getClass().getResource("/images/link.gif").toString(); - seqAnnotReport = new SequenceAnnotationReport(linkImageURL); + seqAnnotReport = new SequenceAnnotationReport(true); setLayout(new BorderLayout()); add(getIdCanvas(), BorderLayout.CENTER); addMouseListener(this); addMouseMotionListener(this); - addMouseWheelListener(this); + addMouseWheelListener(alignPanel.getSeqPanel()); ToolTipManager.sharedInstance().registerComponent(this); } @@ -135,8 +126,7 @@ public class IdPanel extends JPanel StringBuilder text = new StringBuilder(); text.append("Sequence ").append(String.valueOf(seq + 1)) - .append(" ID: ") - .append(sequence.getName()); + .append(" ID: ").append(sequence.getName()); alignPanel.alignFrame.setStatus(text.toString()); } } @@ -176,38 +166,6 @@ public class IdPanel extends JPanel } /** - * Response to the mouse wheel by scrolling the alignment panel. - */ - @Override - public void mouseWheelMoved(MouseWheelEvent e) - { - e.consume(); - double wheelRotation = e.getPreciseWheelRotation(); - if (wheelRotation > 0) - { - if (e.isShiftDown()) - { - av.getRanges().scrollRight(true); - } - else - { - av.getRanges().scrollUp(false); - } - } - else if (wheelRotation < 0) - { - if (e.isShiftDown()) - { - av.getRanges().scrollRight(false); - } - else - { - av.getRanges().scrollUp(true); - } - } - } - - /** * Handle a mouse click event. Currently only responds to a double-click. The * action is to try to open a browser window at a URL that searches for the * selected sequence id. The search URL is configured in Preferences | @@ -318,14 +276,7 @@ public class IdPanel extends JPanel void startScrolling(boolean up) { scrollThread = new ScrollThread(up); - if (!Platform.isJS()) - { - /* - * Java - run in a new thread - */ - scrollThread.start(); - } - else + if (Platform.isJS()) { /* * for JalviewJS using Swing Timer @@ -356,6 +307,15 @@ public class IdPanel extends JPanel }); t.start(); } + else + /** + * Java only + * + * @j2sIgnore + */ + { + scrollThread.start(); + } } /** @@ -380,7 +340,7 @@ public class IdPanel extends JPanel } MousePos pos = alignPanel.getSeqPanel().findMousePosition(e); - + if (e.isPopupTrigger()) // Mac reports this in mousePressed { showPopupMenu(e, pos); @@ -434,28 +394,12 @@ public class IdPanel extends JPanel } Sequence sq = (Sequence) av.getAlignment().getSequenceAt(pos.seqIndex); - - /* - * 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(); - features = sq.getFeatures().getNonPositionalFeatures(); - for (SequenceFeature sf : features) - { - if (sf.links != null) - { - nlinks.addAll(sf.links); - } - } + PopupMenu pop = new PopupMenu(alignPanel, sq, + Preferences.getGroupURLLinks()); + pop.show(this, e.getX(), e.getY()); } - - PopupMenu pop = new PopupMenu(alignPanel, sq, features, - Preferences.getGroupURLLinks()); - pop.show(this, e.getX(), e.getY()); } /**