X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSeqPanel.java;h=163ae25fd3a45a152283f246e93560bfa0eac21d;hb=023163e0fe8837c1ddb75eb30abc058f7747b5c2;hp=f433aec15eca757c2b91c5d609bf19c382ccc8d0;hpb=d281dbb95856e0796188c810b819519878235e36;p=jalview.git
diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java
index f433aec..163ae25 100644
--- a/src/jalview/gui/SeqPanel.java
+++ b/src/jalview/gui/SeqPanel.java
@@ -212,8 +212,6 @@ public class SeqPanel extends JPanel
StringBuffer keyboardNo2;
- java.net.URL linkImageURL;
-
private final SequenceAnnotationReport seqARep;
/*
@@ -244,8 +242,7 @@ public class SeqPanel extends JPanel
*/
public SeqPanel(AlignViewport viewport, AlignmentPanel alignPanel)
{
- linkImageURL = getClass().getResource("/images/link.gif");
- seqARep = new SequenceAnnotationReport(linkImageURL.toString());
+ seqARep = new SequenceAnnotationReport(true);
ToolTipManager.sharedInstance().registerComponent(this);
ToolTipManager.sharedInstance().setInitialDelay(0);
ToolTipManager.sharedInstance().setDismissDelay(10000);
@@ -278,6 +275,9 @@ public class SeqPanel extends JPanel
/**
* Computes the column and sequence row (and possibly annotation row when in
* wrapped mode) for the given mouse position
+ *
+ * Mouse position is not set if in wrapped mode with the cursor either between
+ * sequences, or over the left or right vertical scale.
*
* @param evt
* @return
@@ -345,6 +345,9 @@ public class SeqPanel extends JPanel
/**
* Returns the aligned sequence position (base 0) at the mouse position, or
* the closest visible one
+ *
+ * Returns -1 if in wrapped mode with the mouse over either left or right
+ * vertical scale.
*
* @param evt
* @return
@@ -912,11 +915,12 @@ public class SeqPanel extends JPanel
AlignFrame af = Desktop.getAlignFrameFor(complement);
FeatureRendererModel fr2 = af.getFeatureRenderer();
- int j = results.getSize();
+ List matches = results.getResults();
+ int j = matches.size();
List infos = new ArrayList<>();
for (int i = 0; i < j; i++)
{
- SearchResultMatchI match = results.getResults().get(i);
+ SearchResultMatchI match = matches.get(i);
int pos = match.getStart();
if (pos == match.getEnd())
{
@@ -1067,9 +1071,9 @@ public class SeqPanel extends JPanel
{
List features = ap.getFeatureRenderer()
.findFeaturesAtColumn(sequence, column + 1);
- unshownFeatures = seqARep.appendFeaturesLengthLimit(tooltipText, pos,
- features,
- this.ap.getSeqPanel().seqCanvas.fr, MAX_TOOLTIP_LENGTH);
+ unshownFeatures = seqARep.appendFeatures(tooltipText, pos,
+ features, this.ap.getSeqPanel().seqCanvas.fr,
+ MAX_TOOLTIP_LENGTH);
/*
* add features in CDS/protein complement at the corresponding
@@ -1087,9 +1091,8 @@ public class SeqPanel extends JPanel
pos);
if (mf != null)
{
- unshownFeatures = seqARep.appendFeaturesLengthLimit(
- tooltipText, pos, mf, fr2,
- MAX_TOOLTIP_LENGTH);
+ unshownFeatures += seqARep.appendFeatures(tooltipText,
+ pos, mf, fr2, MAX_TOOLTIP_LENGTH);
}
}
}
@@ -1145,9 +1148,8 @@ public class SeqPanel extends JPanel
String tooltip = AnnotationPanel.buildToolTip(anns[rowIndex], column,
anns);
- if (true || !tooltip.equals(lastTooltip))
+ if (!tooltip.equals(lastTooltip))
{
- System.out.println("wrapped tooltip set");
lastTooltip = tooltip;
lastFormattedTooltip = tooltip == null ? null
: JvSwingUtils.wrapTooltip(true, tooltip);
@@ -1246,7 +1248,7 @@ public class SeqPanel extends JPanel
{
char sequenceChar = sequence.getCharAt(column);
int pos = sequence.findPosition(column);
- setStatusMessage(sequence, seqIndex, sequenceChar, pos);
+ setStatusMessage(sequence.getName(), seqIndex, sequenceChar, pos);
return pos;
}
@@ -1262,7 +1264,7 @@ public class SeqPanel extends JPanel
* Sequence 6 ID: O.niloticus.3 Nucleotide: Uracil (2)
*
*
- * @param sequence
+ * @param seqName
* @param seqIndex
* sequence position in the alignment (1..)
* @param sequenceChar
@@ -1270,7 +1272,7 @@ public class SeqPanel extends JPanel
* @param residuePos
* the sequence residue position (if not over a gap)
*/
- protected void setStatusMessage(SequenceI sequence, int seqIndex,
+ protected void setStatusMessage(String seqName, int seqIndex,
char sequenceChar, int residuePos)
{
StringBuilder text = new StringBuilder(32);
@@ -1280,7 +1282,7 @@ public class SeqPanel extends JPanel
*/
String seqno = seqIndex == -1 ? "" : " " + (seqIndex + 1);
text.append("Sequence").append(seqno).append(" ID: ")
- .append(sequence.getName());
+ .append(seqName);
String residue = null;
@@ -1325,7 +1327,8 @@ public class SeqPanel extends JPanel
{
return;
}
- SequenceI ds = al.getSequenceAt(sequenceIndex).getDatasetSequence();
+ SequenceI alignedSeq = al.getSequenceAt(sequenceIndex);
+ SequenceI ds = alignedSeq.getDatasetSequence();
for (SearchResultMatchI m : results.getResults())
{
SequenceI seq = m.getSequence();
@@ -1337,8 +1340,8 @@ public class SeqPanel extends JPanel
if (seq == ds)
{
int start = m.getStart();
- setStatusMessage(seq, sequenceIndex, seq.getCharAt(start - 1),
- start);
+ setStatusMessage(alignedSeq.getName(), sequenceIndex,
+ seq.getCharAt(start - 1), start);
return;
}
}