git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'features/JAL-1738_JAL-345_selectionfromhighlight' into develop
[jalview.git]
/
src
/
jalview
/
appletgui
/
AlignmentPanel.java
diff --git
a/src/jalview/appletgui/AlignmentPanel.java
b/src/jalview/appletgui/AlignmentPanel.java
index
813ab84
..
e97c347
100644
(file)
--- a/
src/jalview/appletgui/AlignmentPanel.java
+++ b/
src/jalview/appletgui/AlignmentPanel.java
@@
-25,7
+25,7
@@
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
import jalview.bin.JalviewLite;
import jalview.datamodel.AlignmentI;
import jalview.api.AlignmentViewPanel;
import jalview.bin.JalviewLite;
import jalview.datamodel.AlignmentI;
-import jalview.datamodel.SearchResults;
+import jalview.datamodel.SearchResultsI;
import jalview.datamodel.SequenceI;
import jalview.structure.StructureSelectionManager;
import jalview.datamodel.SequenceI;
import jalview.structure.StructureSelectionManager;
@@
-293,7
+293,7
@@
public class AlignmentPanel extends Panel implements AdjustmentListener,
* Highlight the given results on the alignment.
*
*/
* Highlight the given results on the alignment.
*
*/
- public void highlightSearchResults(SearchResults results)
+ public void highlightSearchResults(SearchResultsI results)
{
scrollToPosition(results);
seqPanel.seqCanvas.highlightSearchResults(results);
{
scrollToPosition(results);
seqPanel.seqCanvas.highlightSearchResults(results);
@@
-306,7
+306,7
@@
public class AlignmentPanel extends Panel implements AdjustmentListener,
* @param results
* @return false if results were not found
*/
* @param results
* @return false if results were not found
*/
- public boolean scrollToPosition(SearchResults results)
+ public boolean scrollToPosition(SearchResultsI results)
{
return scrollToPosition(results, true);
}
{
return scrollToPosition(results, true);
}
@@
-320,10
+320,10
@@
public class AlignmentPanel extends Panel implements AdjustmentListener,
* - when set, the overview will be recalculated (takes longer)
* @return false if results were not found
*/
* - when set, the overview will be recalculated (takes longer)
* @return false if results were not found
*/
- public boolean scrollToPosition(SearchResults results,
+ public boolean scrollToPosition(SearchResultsI results,
boolean redrawOverview)
{
boolean redrawOverview)
{
- return scrollToPosition(results, redrawOverview, false);
+ return scrollToPosition(results, 0, redrawOverview, false);
}
/**
}
/**
@@
-335,7
+335,8
@@
public class AlignmentPanel extends Panel implements AdjustmentListener,
* - when set, the overview will be recalculated (takes longer)
* @return false if results were not found
*/
* - when set, the overview will be recalculated (takes longer)
* @return false if results were not found
*/
- public boolean scrollToPosition(SearchResults results,
+ public boolean scrollToPosition(SearchResultsI results,
+ int verticalOffset,
boolean redrawOverview, boolean centre)
{
// do we need to scroll the panel?
boolean redrawOverview, boolean centre)
{
// do we need to scroll the panel?
@@
-347,6
+348,10
@@
public class AlignmentPanel extends Panel implements AdjustmentListener,
{
return false;
}
{
return false;
}
+ /*
+ * allow for offset of target sequence (actually scroll to one above it)
+ */
+
SequenceI seq = alignment.getSequenceAt(seqIndex);
int[] r = results.getResults(seq, 0, alignment.getWidth());
if (r == null)
SequenceI seq = alignment.getSequenceAt(seqIndex);
int[] r = results.getResults(seq, 0, alignment.getWidth());
if (r == null)
@@
-391,6
+396,11
@@
public class AlignmentPanel extends Panel implements AdjustmentListener,
{
return false;
}
{
return false;
}
+
+ /*
+ * allow for offset of target sequence (actually scroll to one above it)
+ */
+ seqIndex = Math.max(0, seqIndex - verticalOffset);
return scrollTo(start, end, seqIndex, false, redrawOverview);
}
return true;
return scrollTo(start, end, seqIndex, false, redrawOverview);
}
return true;
@@
-419,6
+429,7
@@
public class AlignmentPanel extends Panel implements AdjustmentListener,
{
start = ostart;
}
{
start = ostart;
}
+
if (!av.getWrapAlignment())
{
/*
if (!av.getWrapAlignment())
{
/*
@@
-902,14
+913,14
@@
public class AlignmentPanel extends Panel implements AdjustmentListener,
* @param seqOffset
* the number of visible sequences to show above the mapped region
*/
* @param seqOffset
* the number of visible sequences to show above the mapped region
*/
- protected void scrollToCentre(SearchResults sr, int seqOffset)
+ protected void scrollToCentre(SearchResultsI sr, int seqOffset)
{
/*
* To avoid jumpy vertical scrolling (if some sequences are gapped or not
* mapped), we can make the scroll-to location a sequence above the one
* actually mapped.
*/
{
/*
* To avoid jumpy vertical scrolling (if some sequences are gapped or not
* mapped), we can make the scroll-to location a sequence above the one
* actually mapped.
*/
- SequenceI mappedTo = sr.getResultSequence(0);
+ SequenceI mappedTo = sr.getResults().get(0).getSequence();
List<SequenceI> seqs = av.getAlignment().getSequences();
/*
List<SequenceI> seqs = av.getAlignment().getSequences();
/*
@@
-931,16
+942,14
@@
public class AlignmentPanel extends Panel implements AdjustmentListener,
{
return; // failsafe, shouldn't happen
}
{
return; // failsafe, shouldn't happen
}
- sequenceIndex = Math.max(0, sequenceIndex - seqOffset);
- sr.getResults().get(0)
- .setSequence(av.getAlignment().getSequenceAt(sequenceIndex));
/*
* Scroll to position but centring the target residue. Also set a state flag
* to prevent adjustmentValueChanged performing this recursively.
*/
setFollowingComplementScroll(true);
/*
* Scroll to position but centring the target residue. Also set a state flag
* to prevent adjustmentValueChanged performing this recursively.
*/
setFollowingComplementScroll(true);
- scrollToPosition(sr, true, true);
+ // this should be scrollToPosition(sr,verticalOffset,
+ scrollToPosition(sr, seqOffset, true, true);
}
private void sendViewPosition()
}
private void sendViewPosition()