import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.ListIterator;
seqCanvas.highlightSearchResults(highlight);
seqCanvas.getFeatureRenderer().amendFeatures(
Collections.singletonList(sequence), features, false, ap);
-
seqCanvas.highlightSearchResults(null);
}
}
if (av.isShowSequenceFeatures())
{
List<SequenceFeature> allFeatures = findFeaturesAtRes(sequence,
- sequence.findPosition(column));
+ respos);
if (isGapped)
{
removeAdjacentFeatures(allFeatures, column + 1, sequence);
}
}
+ List<SequenceFeature> findFeaturesAtRes(SequenceI sequence, int res)
+ {
+ return seqCanvas.getFeatureRenderer().findFeaturesAtRes(sequence, res);
+ }
+
/**
* Removes from the list of features any that start after, or end before, the
* given column position. This allows us to retain only those features
}
}
- List<SequenceFeature> findFeaturesAtRes(SequenceI sequence, int res)
- {
- List<SequenceFeature> result = new ArrayList<SequenceFeature>();
- SequenceFeature[] features = sequence.getSequenceFeatures();
- if (features != null)
- {
- for (int i = 0; i < features.length; i++)
- {
- if (av.getFeaturesDisplayed() == null
- || !av.getFeaturesDisplayed().isVisible(
- features[i].getType()))
- {
- continue;
- }
-
- if (features[i].featureGroup != null
- && !seqCanvas.fr.checkGroupVisibility(
- features[i].featureGroup, false))
- {
- continue;
- }
-
- if ((features[i].getBegin() <= res)
- && (features[i].getEnd() >= res))
- {
- result.add(features[i]);
- }
- }
- }
-
- return result;
- }
-
Tooltip tooltip;
/**
{
links = new Vector<String>();
}
- for (int j = 0; j < sf.links.size(); j++)
- {
- links.addElement(sf.links.elementAt(j));
- }
+ links.addAll(sf.links);
}
}
APopupMenu popup = new APopupMenu(ap, null, links);