X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSeqPanel.java;h=7c6a202577e1ca023a321f00c6a5d40b1994f3f5;hb=b5d61763044c1d72f06ce0e50da2171422a3774b;hp=fbe9ff8a59d60d9e7c34c4e7230da4a361b126e1;hpb=ffea8e06f34c1004671749a799722f64a83d8161;p=jalview.git diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index fbe9ff8..7c6a202 100644 --- a/src/jalview/gui/SeqPanel.java +++ b/src/jalview/gui/SeqPanel.java @@ -243,45 +243,6 @@ public class SeqPanel extends JPanel implements MouseListener, return seq; } - SequenceFeature[] findFeaturesAtRes(SequenceI sequence, int res) - { - Vector tmp = new Vector(); - SequenceFeature[] features = sequence.getSequenceFeatures(); - if (features != null) - { - for (int i = 0; i < features.length; i++) - { - if (av.getFeaturesDisplayed() == null - || !av.getFeaturesDisplayed().containsKey( - features[i].getType())) - { - continue; - } - - if (features[i].featureGroup != null - && seqCanvas.fr.featureGroups != null - && seqCanvas.fr.featureGroups - .containsKey(features[i].featureGroup) - && !((Boolean) seqCanvas.fr.featureGroups - .get(features[i].featureGroup)).booleanValue()) - { - continue; - } - - if ((features[i].getBegin() <= res) - && (features[i].getEnd() >= res)) - { - tmp.addElement(features[i]); - } - } - } - - features = new SequenceFeature[tmp.size()]; - tmp.copyInto(features); - - return features; - } - void endEditing() { if (editCommand != null && editCommand.getSize() > 0) @@ -744,14 +705,14 @@ public class SeqPanel extends JPanel implements MouseListener, } // use aa to see if the mouse pointer is on a - if (av.showSequenceFeatures) + if (av.isShowSequenceFeatures()) { int rpos; - SequenceFeature[] features = findFeaturesAtRes( + List features = ap.getFeatureRenderer().findFeaturesAtRes( sequence.getDatasetSequence(), rpos = sequence.findPosition(res)); seqARep.appendFeatures(tooltipText, rpos, features, - this.ap.getSeqPanel().seqCanvas.fr.minmax); + this.ap.getSeqPanel().seqCanvas.fr.getMinMax()); } if (tooltipText.length() == 6) // { @@ -1390,21 +1351,21 @@ public class SeqPanel extends JPanel implements MouseListener, av.setSelectionGroup(null); } - SequenceFeature[] features = findFeaturesAtRes( + List features = seqCanvas.getFeatureRenderer().findFeaturesAtRes( sequence.getDatasetSequence(), sequence.findPosition(findRes(evt))); - if (features != null && features.length > 0) + if (features != null && features.size()> 0) { SearchResults highlight = new SearchResults(); - highlight.addResult(sequence, features[0].getBegin(), - features[0].getEnd()); + highlight.addResult(sequence, features.get(0).getBegin(), + features.get(0).getEnd()); seqCanvas.highlightSearchResults(highlight); } - if (features != null && features.length > 0) + if (features != null && features.size()> 0) { seqCanvas.getFeatureRenderer().amendFeatures(new SequenceI[] - { sequence }, features, false, ap); + { sequence }, features.toArray(new SequenceFeature[features.size()]), false, ap); seqCanvas.highlightSearchResults(null); } @@ -1519,16 +1480,16 @@ public class SeqPanel extends JPanel implements MouseListener, if (javax.swing.SwingUtilities.isRightMouseButton(evt)) { - SequenceFeature[] allFeatures = findFeaturesAtRes( + List allFeatures = ap.getFeatureRenderer().findFeaturesAtRes( sequence.getDatasetSequence(), sequence.findPosition(res)); Vector links = new Vector(); - for (int i = 0; i < allFeatures.length; i++) + for (SequenceFeature sf:allFeatures) { - if (allFeatures[i].links != null) + if (sf.links != null) { - for (int j = 0; j < allFeatures[i].links.size(); j++) + for (int j = 0; j < sf.links.size(); j++) { - links.addElement(allFeatures[i].links.elementAt(j)); + links.addElement(sf.links.elementAt(j)); } } }