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
JAL-2504 use (and update) defaults for new feature only if not supplied
[jalview.git]
/
src
/
jalview
/
appletgui
/
SeqPanel.java
diff --git
a/src/jalview/appletgui/SeqPanel.java
b/src/jalview/appletgui/SeqPanel.java
index
60c53dd
..
d46cc34
100644
(file)
--- 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.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;
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()
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();
{
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
&& 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;
}
{
seqCanvas.cursorX = original;
}
@@
-228,16
+232,17
@@
public class SeqPanel extends Panel implements MouseMotionListener,
else
{
ViewportRanges ranges = av.getRanges();
else
{
ViewportRanges ranges = av.getRanges();
+ HiddenColumns hidden = av.getAlignment().getHiddenColumns();
while (seqCanvas.cursorY < ranges.getStartSeq())
{
ap.scrollUp(true);
}
while (seqCanvas.cursorY < ranges.getStartSeq())
{
ap.scrollUp(true);
}
- while (seqCanvas.cursorY + 1 > ranges.getEndSeq())
+ while (seqCanvas.cursorY > ranges.getEndSeq())
{
ap.scrollUp(false);
}
{
ap.scrollUp(false);
}
- while (seqCanvas.cursorX < av.getColumnSelection()
- .adjustForHiddenColumns(ranges.getStartRes()))
+ while (seqCanvas.cursorX < hidden.adjustForHiddenColumns(ranges
+ .getStartRes()))
{
if (!ap.scrollRight(false))
{
if (!ap.scrollRight(false))
@@
-245,8
+250,8
@@
public class SeqPanel extends Panel implements MouseMotionListener,
break;
}
}
break;
}
}
- while (seqCanvas.cursorX > av.getColumnSelection()
- .adjustForHiddenColumns(ranges.getEndRes()))
+ while (seqCanvas.cursorX > hidden.adjustForHiddenColumns(ranges
+ .getEndRes()))
{
if (!ap.scrollRight(true))
{
{
if (!ap.scrollRight(true))
{
@@
-570,7
+575,7
@@
public class SeqPanel extends Panel implements MouseMotionListener,
if (features != null && features.length > 0)
{
seqCanvas.getFeatureRenderer().amendFeatures(
if (features != null && features.length > 0)
{
seqCanvas.getFeatureRenderer().amendFeatures(
- new SequenceI[] { sequence }, features, false, ap, null);
+ new SequenceI[] { sequence }, features, false, ap);
seqCanvas.highlightSearchResults(null);
}
seqCanvas.highlightSearchResults(null);
}
@@
-638,7
+643,8
@@
public class SeqPanel extends Panel implements MouseMotionListener,
if (av.hasHiddenColumns())
{
if (av.hasHiddenColumns())
{
- res = av.getColumnSelection().adjustForHiddenColumns(res);
+ res = av.getAlignment().getHiddenColumns()
+ .adjustForHiddenColumns(res);
}
return res;
}
return res;
@@
-959,7
+965,9
@@
public class SeqPanel extends Panel implements MouseMotionListener,
fontSize = 1;
}
fontSize = 1;
}
- av.setFont(new Font(av.font.getName(), av.font.getStyle(), fontSize));
+ av.setFont(
+ new Font(av.font.getName(), av.font.getStyle(), fontSize),
+ true);
av.setCharWidth(oldWidth);
}
else
av.setCharWidth(oldWidth);
}
else
@@
-1131,8
+1139,10
@@
public class SeqPanel extends Panel implements MouseMotionListener,
if (av.hasHiddenColumns())
{
fixedColumns = true;
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))
if ((insertGap && startres > y1 && lastres < y1)
|| (!insertGap && startres < y2 && lastres > y2))
@@
-1203,8
+1213,8
@@
public class SeqPanel extends Panel implements MouseMotionListener,
{
if (sg.getSize() == av.getAlignment().getHeight())
{
{
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;
{
endEditing();
return;
@@
-1787,7
+1797,7
@@
public class SeqPanel extends Panel implements MouseMotionListener,
*/
@Override
public void selection(SequenceGroup seqsel, ColumnSelection colsel,
*/
@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...
{
// TODO: fix this hack - source of messages is align viewport, but SeqPanel
// handles selection messages...
@@
-1804,7
+1814,7
@@
public class SeqPanel extends Panel implements MouseMotionListener,
* Check for selection in a view of which this one is a dna/protein
* complement.
*/
* Check for selection in a view of which this one is a dna/protein
* complement.
*/
- if (selectionFromTranslation(seqsel, colsel, source))
+ if (selectionFromTranslation(seqsel, colsel, hidden, source))
{
return;
}
{
return;
}
@@
-1870,15
+1880,16
@@
public class SeqPanel extends Panel implements MouseMotionListener,
}
else
{
}
else
{
- av.getColumnSelection().setElementsFrom(colsel);
+ av.getColumnSelection().setElementsFrom(colsel,
+ av.getAlignment().getHiddenColumns());
}
}
repaint |= av.isColSelChanged(true);
}
if (copycolsel
&& av.hasHiddenColumns()
}
}
repaint |= av.isColSelChanged(true);
}
if (copycolsel
&& av.hasHiddenColumns()
- && (av.getColumnSelection() == null || av.getColumnSelection()
- .getHiddenColumns() == null))
+ && (av.getColumnSelection() == null || av.getAlignment()
+ .getHiddenColumns().getHiddenRegions() == null))
{
System.err.println("Bad things");
}
{
System.err.println("Bad things");
}
@@
-1938,7
+1949,8
@@
public class SeqPanel extends Panel implements MouseMotionListener,
* @param source
*/
protected boolean selectionFromTranslation(SequenceGroup seqsel,
* @param source
*/
protected boolean selectionFromTranslation(SequenceGroup seqsel,
- ColumnSelection colsel, SelectionSource source)
+ ColumnSelection colsel, HiddenColumns hidden,
+ SelectionSource source)
{
if (!(source instanceof AlignViewportI))
{
{
if (!(source instanceof AlignViewportI))
{
@@
-1961,9
+1973,13
@@
public class SeqPanel extends Panel implements MouseMotionListener,
/*
* Map column selection
*/
/*
* Map column selection
*/
- ColumnSelection cs = MappingUtils.mapColumnSelection(colsel, sourceAv,
- av);
+ // ColumnSelection cs = MappingUtils.mapColumnSelection(colsel, sourceAv,
+ // av);
+ ColumnSelection cs = new ColumnSelection();
+ HiddenColumns hs = new HiddenColumns();
+ MappingUtils.mapColumnSelection(colsel, hidden, sourceAv, av, cs, hs);
av.setColumnSelection(cs);
av.setColumnSelection(cs);
+ av.getAlignment().setHiddenColumns(hs);
ap.scalePanelHolder.repaint();
ap.repaint();
ap.scalePanelHolder.repaint();
ap.repaint();