/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
import jalview.io.SequenceAnnotationReport;
import jalview.util.MessageManager;
import jalview.util.UrlLink;
+import jalview.viewmodel.AlignmentViewport;
import java.awt.BorderLayout;
import java.awt.event.MouseEvent;
{
private IdCanvas idCanvas;
- protected AlignViewport av;
+ protected AlignmentViewport av;
protected AlignmentPanel alignPanel;
{
SequenceI sequence = av.getAlignment().getSequenceAt(seq);
StringBuffer tip = new StringBuffer(64);
- seqAnnotReport
- .createSequenceAnnotationReport(tip, sequence,
- av.isShowDbRefs(), av.isShowNpFeats(),
- sp.seqCanvas.fr.getMinMax());
- setToolTipText("<html>" + sequence.getDisplayId(true) + " "
- + tip.toString() + "</html>");
+ seqAnnotReport.createSequenceAnnotationReport(tip, sequence,
+ av.isShowDBRefs(), av.isShowNPFeats(),
+ sp.seqCanvas.fr.getMinMax());
+ setToolTipText(JvSwingUtils.wrapTooltip(true,
+ sequence.getDisplayId(true) + " " + tip.toString()));
}
}
*/
if (e.getClickCount() < 2 || SwingUtilities.isRightMouseButton(e))
{
+ // reinstate isRightMouseButton check to ignore mouse-related popup events
+ // note - this does nothing on default MacBookPro force-trackpad config!
return;
}
jalview.util.BrowserLauncher.openURL(url);
} catch (Exception ex)
{
- JOptionPane
- .showInternalMessageDialog(
- Desktop.desktop,
- MessageManager.getString("label.web_browser_not_found_unix"),
- MessageManager.getString("label.web_browser_not_found"), JOptionPane.WARNING_MESSAGE);
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,
+ MessageManager.getString("label.web_browser_not_found_unix"),
+ MessageManager.getString("label.web_browser_not_found"),
+ JOptionPane.WARNING_MESSAGE);
ex.printStackTrace();
}
}
int seq = alignPanel.getSeqPanel().findSeq(e);
- if (SwingUtilities.isRightMouseButton(e))
+ if (e.isPopupTrigger())
{
Sequence sq = (Sequence) av.getAlignment().getSequenceAt(seq);
// build a new links menu based on the current links + any non-positional
// features
- Vector nlinks = new Vector(Preferences.sequenceURLLinks);
- SequenceFeature sf[] = sq == null ? null : sq.getDatasetSequence()
- .getSequenceFeatures();
- for (int sl = 0; sf != null && sl < sf.length; sl++)
+ Vector<String> nlinks = new Vector<String>(
+ Preferences.sequenceURLLinks);
+ SequenceFeature sfs[] = sq == null ? null : sq.getSequenceFeatures();
+ if (sfs != null)
{
- if (sf[sl].begin == sf[sl].end && sf[sl].begin == 0)
+ for (SequenceFeature sf : sfs)
{
- if (sf[sl].links != null && sf[sl].links.size() > 0)
+ if (sf.begin == sf.end && sf.begin == 0)
{
- for (int l = 0, lSize = sf[sl].links.size(); l < lSize; l++)
+ if (sf.links != null && sf.links.size() > 0)
{
- nlinks.addElement(sf[sl].links.elementAt(l));
+ for (int l = 0, lSize = sf.links.size(); l < lSize; l++)
+ {
+ nlinks.addElement(sf.links.elementAt(l));
+ }
}
}
}
}
- jalview.gui.PopupMenu pop = new jalview.gui.PopupMenu(alignPanel, sq,
- nlinks, new Vector(Preferences.getGroupURLLinks()));
+ PopupMenu pop = new PopupMenu(alignPanel, sq, nlinks,
+ Preferences.getGroupURLLinks());
pop.show(this, e.getX(), e.getY());
return;
}
-
if ((av.getSelectionGroup() == null)
- || ((!e.isControlDown() && !e.isShiftDown()) && av
- .getSelectionGroup() != null))
+ || (!jalview.util.Platform.isControlDown(e)
+ && !e.isShiftDown() && av.getSelectionGroup() != null))
{
av.setSelectionGroup(new SequenceGroup());
av.getSelectionGroup().setStartRes(0);
{
selectSeq(seq);
}
+ // TODO is this addition ok here?
+ av.isSelectionGroupChanged(true);
+
alignPanel.paintAlignment(true);
}