X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FSeqPanel.java;h=fd4b36435a220689a59b4d06cfe3455d1bb71295;hb=d1707d4c26db76cfeb640f0dbeb3e3427fd40eb7;hp=0e12703b0bb7360e9e8583165c7fff48e38c2877;hpb=242fe71de915d94d6f73d790bb14e377bb9624d3;p=jalview.git diff --git a/src/jalview/appletgui/SeqPanel.java b/src/jalview/appletgui/SeqPanel.java index 0e12703..fd4b364 100644 --- a/src/jalview/appletgui/SeqPanel.java +++ b/src/jalview/appletgui/SeqPanel.java @@ -25,6 +25,7 @@ import jalview.commands.EditCommand; import jalview.commands.EditCommand.Action; import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; +import jalview.datamodel.HiddenColumns; import jalview.datamodel.SearchResultMatchI; import jalview.datamodel.SearchResults; import jalview.datamodel.SearchResultsI; @@ -180,19 +181,22 @@ public class SeqPanel extends Panel implements MouseMotionListener, seqCanvas.cursorX += dx; seqCanvas.cursorY += dy; if (av.hasHiddenColumns() - && !av.getColumnSelection().isVisible(seqCanvas.cursorX)) + && !av.getAlignment().getHiddenColumns() + .isVisible(seqCanvas.cursorX)) { int original = seqCanvas.cursorX - dx; int maxWidth = av.getAlignment().getWidth(); - while (!av.getColumnSelection().isVisible(seqCanvas.cursorX) + while (!av.getAlignment().getHiddenColumns() + .isVisible(seqCanvas.cursorX) && seqCanvas.cursorX < maxWidth && seqCanvas.cursorX > 0) { seqCanvas.cursorX += dx; } if (seqCanvas.cursorX >= maxWidth - || !av.getColumnSelection().isVisible(seqCanvas.cursorX)) + || !av.getAlignment().getHiddenColumns() + .isVisible(seqCanvas.cursorX)) { seqCanvas.cursorX = original; } @@ -228,6 +232,7 @@ public class SeqPanel extends Panel implements MouseMotionListener, else { ViewportRanges ranges = av.getRanges(); + HiddenColumns hidden = av.getAlignment().getHiddenColumns(); while (seqCanvas.cursorY < ranges.getStartSeq()) { ap.scrollUp(true); @@ -236,8 +241,8 @@ public class SeqPanel extends Panel implements MouseMotionListener, { ap.scrollUp(false); } - while (seqCanvas.cursorX < av.getColumnSelection() - .adjustForHiddenColumns(ranges.getStartRes())) + while (seqCanvas.cursorX < hidden.adjustForHiddenColumns(ranges + .getStartRes())) { if (!ap.scrollRight(false)) @@ -245,8 +250,8 @@ public class SeqPanel extends Panel implements MouseMotionListener, break; } } - while (seqCanvas.cursorX > av.getColumnSelection() - .adjustForHiddenColumns(ranges.getEndRes())) + while (seqCanvas.cursorX > hidden.adjustForHiddenColumns(ranges + .getEndRes())) { if (!ap.scrollRight(true)) { @@ -638,7 +643,8 @@ public class SeqPanel extends Panel implements MouseMotionListener, if (av.hasHiddenColumns()) { - res = av.getColumnSelection().adjustForHiddenColumns(res); + res = av.getAlignment().getHiddenColumns() + .adjustForHiddenColumns(res); } return res; @@ -1131,8 +1137,10 @@ public class SeqPanel extends Panel implements MouseMotionListener, if (av.hasHiddenColumns()) { fixedColumns = true; - int y1 = av.getColumnSelection().getHiddenBoundaryLeft(startres); - int y2 = av.getColumnSelection().getHiddenBoundaryRight(startres); + int y1 = av.getAlignment().getHiddenColumns() + .getHiddenBoundaryLeft(startres); + int y2 = av.getAlignment().getHiddenColumns() + .getHiddenBoundaryRight(startres); if ((insertGap && startres > y1 && lastres < y1) || (!insertGap && startres < y2 && lastres > y2)) @@ -1203,8 +1211,8 @@ public class SeqPanel extends Panel implements MouseMotionListener, { if (sg.getSize() == av.getAlignment().getHeight()) { - if ((av.hasHiddenColumns() && startres < av - .getColumnSelection().getHiddenBoundaryRight(startres))) + if ((av.hasHiddenColumns() && startres < av.getAlignment() + .getHiddenColumns().getHiddenBoundaryRight(startres))) { endEditing(); return; @@ -1787,7 +1795,7 @@ public class SeqPanel extends Panel implements MouseMotionListener, */ @Override public void selection(SequenceGroup seqsel, ColumnSelection colsel, - SelectionSource source) + HiddenColumns hidden, SelectionSource source) { // TODO: fix this hack - source of messages is align viewport, but SeqPanel // handles selection messages... @@ -1877,8 +1885,8 @@ public class SeqPanel extends Panel implements MouseMotionListener, } if (copycolsel && av.hasHiddenColumns() - && (av.getColumnSelection() == null || av.getColumnSelection() - .getHiddenColumns() == null)) + && (av.getColumnSelection() == null || av.getAlignment() + .getHiddenColumns().getListOfCols() == null)) { System.err.println("Bad things"); }