X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSeqPanel.java;h=3349825bcbe82581726bcc269f80dbe991cb2c43;hb=197359781e7142ec6bcb53740831fc626c4675cd;hp=e51b13c4a25fd986f77034fb72d05687eb5f4442;hpb=baaf7e4a88b74ac587b78b9f964ea94b14238f59;p=jalview.git diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index e51b13c..3349825 100755 --- a/src/jalview/gui/SeqPanel.java +++ b/src/jalview/gui/SeqPanel.java @@ -179,7 +179,6 @@ public class SeqPanel extends JPanel implements MouseListener, { Vector tmp = new Vector(); SequenceFeature[] features = sequence.getSequenceFeatures(); - if (features != null) { for (int i = 0; i < features.length; i++) @@ -188,8 +187,8 @@ public class SeqPanel extends JPanel implements MouseListener, || !av.featuresDisplayed.containsKey(features[i].getType())) continue; - if ( (features[i].getBegin() <= sequence.findPosition(res)) && - (features[i].getEnd() >= sequence.findPosition(res))) + if ( (features[i].getBegin() <= res) && + (features[i].getEnd() >= res)) { tmp.addElement(features[i]); } @@ -287,6 +286,25 @@ public class SeqPanel extends JPanel implements MouseListener, { seqCanvas.cursorX += dx; seqCanvas.cursorY += dy; + if (av.hasHiddenColumns && !av.colSel.isVisible(seqCanvas.cursorX)) + { + int original = seqCanvas.cursorX - dx; + int maxWidth = av.alignment.getWidth(); + + while(!av.colSel.isVisible(seqCanvas.cursorX) + && seqCanvas.cursorX0) + { + seqCanvas.cursorX += dx; + } + + if(seqCanvas.cursorX>=maxWidth + || !av.colSel.isVisible(seqCanvas.cursorX) ) + { + seqCanvas.cursorX = original; + } + } + scrollToVisible(); } @@ -320,12 +338,12 @@ public class SeqPanel extends JPanel implements MouseListener, } if (!av.wrapAlignment) { - while (seqCanvas.cursorX < av.startRes) + while (seqCanvas.cursorX < av.colSel.adjustForHiddenColumns(av.startRes)) { if (!ap.scrollRight(false)) break; } - while (seqCanvas.cursorX > av.endRes) + while (seqCanvas.cursorX > av.colSel.adjustForHiddenColumns(av.endRes)) { if (!ap.scrollRight(true)) break; @@ -558,7 +576,7 @@ public class SeqPanel extends JPanel implements MouseListener, tooltipText.setLength(6); // Cuts the buffer back to SequenceFeature[] features = findFeaturesAtRes( - sequence.getDatasetSequence(), res); + sequence.getDatasetSequence(), sequence.findPosition(res)); if(features!=null) { @@ -649,7 +667,6 @@ public class SeqPanel extends JPanel implements MouseListener, } } - if(tooltipText.length()==6) // { @@ -1202,17 +1219,35 @@ public class SeqPanel extends JPanel implements MouseListener, public void mouseClicked(MouseEvent evt) { + SequenceI sequence = av.alignment.getSequenceAt( findSeq(evt) ); if(evt.getClickCount()>1) { + if (av.getSelectionGroup().getSize(false) == 1 + && av.getSelectionGroup().getEndRes() + - av.getSelectionGroup().getStartRes() < 2) + av.setSelectionGroup(null); SequenceFeature[] features = findFeaturesAtRes( - av.alignment.getSequenceAt( findSeq(evt) ).getDatasetSequence(), - findRes(evt) + sequence.getDatasetSequence(), + sequence.findPosition( findRes(evt) ) ); - for(int f=0; f0) + { + seqCanvas.getFeatureRenderer().amendFeatures( + new SequenceI[] + {sequence}, features, false); + + seqCanvas.highlightSearchResults(null); + } } } @@ -1412,11 +1447,16 @@ public class SeqPanel extends JPanel implements MouseListener, stretchGroup.getWidth()); } + if (stretchGroup.cs instanceof Blosum62ColourScheme + || stretchGroup.cs instanceof PIDColourScheme + || stretchGroup.cs.conservationApplied() + || stretchGroup.cs.getThreshold()>0) + stretchGroup.recalcConservation(); + if (stretchGroup.cs.conservationApplied()) { SliderPanel.setConservationSlider(ap, stretchGroup.cs, stretchGroup.getName()); - stretchGroup.recalcConservation(); } else {