git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d795ef2
)
JAL-2831 Attempt at cursor fix for wrapped mode
author
kiramt
<k.mourao@dundee.ac.uk>
Tue, 14 Nov 2017 12:11:21 +0000
(12:11 +0000)
committer
kiramt
<k.mourao@dundee.ac.uk>
Tue, 14 Nov 2017 12:11:21 +0000
(12:11 +0000)
src/jalview/viewmodel/ViewportRanges.java
patch
|
blob
|
history
diff --git
a/src/jalview/viewmodel/ViewportRanges.java
b/src/jalview/viewmodel/ViewportRanges.java
index
0e7b431
..
973482f
100644
(file)
--- a/
src/jalview/viewmodel/ViewportRanges.java
+++ b/
src/jalview/viewmodel/ViewportRanges.java
@@
-549,13
+549,32
@@
public class ViewportRanges extends ViewportProperties
*/
public boolean scrollToWrappedVisible(int res)
{
*/
public boolean scrollToWrappedVisible(int res)
{
+ int newStartRes = calcWrappedStartResidue(res);
+ if (newStartRes == startRes)
+ {
+ return false;
+ }
+ setStartRes(newStartRes);
+
+ return true;
+ }
+
+ /**
+ * Calculate wrapped start residue from visible start residue
+ *
+ * @param res
+ * absolute start residue
+ * @return left column of panel res will be located in
+ */
+ private int calcWrappedStartResidue(int res)
+ {
int oldStartRes = startRes;
int width = getViewportWidth();
int oldStartRes = startRes;
int width = getViewportWidth();
- if (res >= oldStartRes && res < oldStartRes + width)
+ /*if (res >= oldStartRes && res < oldStartRes + width)
{
return false;
{
return false;
- }
+ }*/
boolean up = res < oldStartRes;
int widthsToScroll = Math.abs((res - oldStartRes) / width);
boolean up = res < oldStartRes;
int widthsToScroll = Math.abs((res - oldStartRes) / width);
@@
-571,10
+590,7
@@
public class ViewportRanges extends ViewportProperties
{
newStartRes = 0;
}
{
newStartRes = 0;
}
-
- setStartRes(newStartRes);
-
- return true;
+ return newStartRes;
}
/**
}
/**
@@
-623,17
+639,27
@@
public class ViewportRanges extends ViewportProperties
*/
public boolean setViewportLocation(int x, int y)
{
*/
public boolean setViewportLocation(int x, int y)
{
- // if (x,y) is already visible don't do anything
boolean changedLocation = false;
int vis_x = al.getHiddenColumns().findColumnPosition(x);
int vis_y = al.getHiddenSequences().findIndexWithoutHiddenSeqs(y);
boolean changedLocation = false;
int vis_x = al.getHiddenColumns().findColumnPosition(x);
int vis_y = al.getHiddenSequences().findIndexWithoutHiddenSeqs(y);
+ // if (vis_x,vis_y) is already visible don't do anything
if (startRes > vis_x || vis_x > endRes
|| startSeq > vis_y && vis_y > endSeq)
{
if (startRes > vis_x || vis_x > endRes
|| startSeq > vis_y && vis_y > endSeq)
{
+ int[] old = new int[] { startRes, startSeq };
+ int[] newresseq;
+ if (wrappedMode)
+ {
+ int newstartres = calcWrappedStartResidue(vis_x);
+ setStartRes(newstartres);
+ newresseq = new int[] { startRes, startSeq };
+ }
+ else
+ {
int width = getViewportWidth();
int width = getViewportWidth();
- int[] oldresvalues = updateStartEndRes(vis_x, vis_x + width - 1);
+ updateStartEndRes(vis_x, vis_x + width - 1);
int startseq = vis_y;
int height = getViewportHeight();
int startseq = vis_y;
int height = getViewportHeight();
@@
-641,13
+667,14
@@
public class ViewportRanges extends ViewportProperties
{
startseq = getVisibleAlignmentHeight() - height;
}
{
startseq = getVisibleAlignmentHeight() - height;
}
- int[] oldseqvalues = updateStartEndSeq(startseq,
+ updateStartEndSeq(startseq,
startseq + height - 1);
startseq + height - 1);
- int[] old = new int[] { oldresvalues[0], oldseqvalues[0] };
- int[] newresseq = new int[] { startRes, startSeq };
- changedLocation = true;
- changeSupport.firePropertyChange(MOVE_VIEWPORT, old, newresseq);
+ // int[] old = new int[] { oldresvalues[0], oldseqvalues[0] };
+ newresseq = new int[] { startRes, startSeq };
+ }
+ changedLocation = true;
+ changeSupport.firePropertyChange(MOVE_VIEWPORT, old, newresseq);
}
return changedLocation;
}
}
return changedLocation;
}