X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FIdPanel.java;h=7b491e47e59ec10f8abdb2e39764bc66dff6bcb0;hb=57738a1f3c19b1c3a00bd3ac5108f8cd0af32f99;hp=46e5f147c829351d0c59e63c5ded5bf2d5f64227;hpb=3da878124135ff033f42d19d8733891b09e953cd;p=jalview.git diff --git a/src/jalview/gui/IdPanel.java b/src/jalview/gui/IdPanel.java index 46e5f14..7b491e4 100755 --- a/src/jalview/gui/IdPanel.java +++ b/src/jalview/gui/IdPanel.java @@ -20,18 +20,6 @@ */ 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; @@ -48,6 +36,17 @@ 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. @@ -66,8 +65,6 @@ public class IdPanel extends JPanel ScrollThread scrollThread = null; - String linkImageURL; - int offy; // int width; @@ -88,8 +85,7 @@ 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); @@ -135,8 +131,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()); } } @@ -273,6 +268,7 @@ public class IdPanel extends JPanel if (scrollThread != null) { scrollThread.stopScrolling(); + scrollThread = null; } } @@ -317,14 +313,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 @@ -348,13 +337,22 @@ public class IdPanel extends JPanel { if (scrollThread == null) { - // finished and nulled itself + // IdPanel.stopScrolling called t.stop(); } } }); t.start(); } + else + /** + * Java only + * + * @j2sIgnore + */ + { + scrollThread.start(); + } } /** @@ -379,7 +377,7 @@ public class IdPanel extends JPanel } MousePos pos = alignPanel.getSeqPanel().findMousePosition(e); - + if (e.isPopupTrigger()) // Mac reports this in mousePressed { showPopupMenu(e, pos); @@ -433,28 +431,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()); } /** @@ -549,7 +531,7 @@ public class IdPanel extends JPanel { if (scrollThread != null) { - scrollThread.stopScrolling(); + stopScrolling(); } MousePos pos = alignPanel.getSeqPanel().findMousePosition(e); @@ -618,7 +600,6 @@ public class IdPanel extends JPanel { this.up = up; setName("IdPanel$ScrollThread$" + String.valueOf(up)); - start(); } /**