/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
+ * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
*
* This file is part of Jalview.
*
* Jalview is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- *
+ *
* Jalview is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR
SequenceI sequence = (Sequence) av.getAlignment().getSequenceAt(
seqCanvas.cursorY);
- seqCanvas.cursorX = sequence.findIndex(getKeyboardNo1() - 1);
+ seqCanvas.cursorX = sequence.findIndex(getKeyboardNo1()) - 1;
scrollToVisible();
}
{
seqCanvas.cursorX += dx;
seqCanvas.cursorY += dy;
- if (av.hasHiddenColumns() && !av.getColumnSelection().isVisible(seqCanvas.cursorX))
+ if (av.hasHiddenColumns()
+ && !av.getColumnSelection().isVisible(seqCanvas.cursorX))
{
int original = seqCanvas.cursorX - dx;
int maxWidth = av.getAlignment().getWidth();
keyboardNo1.append(value);
}
}
-
int getKeyboardNo1()
{
- if (keyboardNo1 == null)
- return 1;
- else
+ try {
+ if (keyboardNo1 != null)
{
int value = Integer.parseInt(keyboardNo1.toString());
keyboardNo1 = null;
return value;
}
+ } catch (Exception x)
+ {}
+ keyboardNo1 = null;
+ return 1;
}
int getKeyboardNo2()
{
- if (keyboardNo2 == null)
- return 1;
- else
- {
+ try {
+ if (keyboardNo2!=null){
int value = Integer.parseInt(keyboardNo2.toString());
keyboardNo2 = null;
return value;
}
+ } catch (Exception x)
+ {}
+ keyboardNo2 = null;
+ return 1;
}
-
+
void setStatusMessage(SequenceI sequence, int res, int seq)
{
StringBuffer text = new StringBuffer("Sequence " + (seq + 1) + " ID: "
SequenceI sequence = av.getAlignment().getSequenceAt(findSeq(evt));
if (evt.getClickCount() > 1)
{
- if (av.getSelectionGroup()!=null && av.getSelectionGroup().getSize() == 1
+ if (av.getSelectionGroup() != null
+ && av.getSelectionGroup().getSize() == 1
&& av.getSelectionGroup().getEndRes()
- av.getSelectionGroup().getStartRes() < 2)
{
y -= hgap;
- seq = Math.min((y % cHeight) / av.getCharHeight(),
- av.getAlignment().getHeight() - 1);
+ seq = Math.min((y % cHeight) / av.getCharHeight(), av.getAlignment()
+ .getHeight() - 1);
if (seq < 0)
{
seq = -1;
}
else
{
- seq = Math.min((y / av.getCharHeight()) + av.getStartSeq(),
- av.getAlignment().getHeight() - 1);
+ seq = Math.min((y / av.getCharHeight()) + av.getStartSeq(), av
+ .getAlignment().getHeight() - 1);
if (seq < 0)
{
seq = -1;
if (groupEditing)
{
- SequenceI[] groupSeqs = sg.getSequences(av.getHiddenRepSequences()).toArray(new SequenceI[0]);
+ SequenceI[] groupSeqs = sg.getSequences(av.getHiddenRepSequences())
+ .toArray(new SequenceI[0]);
// drag to right
if (insertGap)
{
blank = true;
- for (SequenceI gs:groupSeqs)
+ for (SequenceI gs : groupSeqs)
{
for (int j = 0; j < startres - lastres; j++)
{
- if (!jalview.util.Comparison.isGap(gs
- .getCharAt(fixedRight - j)))
+ if (!jalview.util.Comparison.isGap(gs.getCharAt(fixedRight
+ - j)))
{
blank = false;
break;
{
if (sg.getSize() == av.getAlignment().getHeight())
{
- if ((av.hasHiddenColumns() && startres < av.getColumnSelection()
- .getHiddenBoundaryRight(startres)))
+ if ((av.hasHiddenColumns() && startres < av
+ .getColumnSelection().getHiddenBoundaryRight(startres)))
{
endEditing();
return;
int alWidth = av.getAlignment().getWidth();
if (av.hasHiddenRows())
{
- int hwidth = av.getAlignment().getHiddenSequences().getWidth();
+ int hwidth = av.getAlignment().getHiddenSequences()
+ .getWidth();
if (hwidth > alWidth)
{
alWidth = hwidth;
// / Are we able to delete?
// ie are all columns blank?
- for (SequenceI gs:groupSeqs)
+ for (SequenceI gs : groupSeqs)
{
for (int j = startres; j < lastres; j++)
{
editCommand.appendEdit(EditCommand.DELETE_GAP, seq, blankColumn, 1,
av.getAlignment(), true);
- editCommand.appendEdit(EditCommand.INSERT_GAP, seq, j, 1, av.getAlignment(),
- true);
+ editCommand.appendEdit(EditCommand.INSERT_GAP, seq, j, 1,
+ av.getAlignment(), true);
}
void deleteChar(int j, SequenceI[] seq, int fixedColumn)
{
- editCommand.appendEdit(EditCommand.DELETE_GAP, seq, j, 1, av.getAlignment(),
- true);
+ editCommand.appendEdit(EditCommand.DELETE_GAP, seq, j, 1,
+ av.getAlignment(), true);
editCommand.appendEdit(EditCommand.INSERT_GAP, seq, fixedColumn, 1,
av.getAlignment(), true);
return;
}
+ stretchGroup.recalcConservation(); // always do this - annotation has own
+ // state
if (stretchGroup.cs != null)
{
- if (stretchGroup.cs instanceof ClustalxColourScheme)
- {
- ((ClustalxColourScheme) stretchGroup.cs).alignmentChanged(
-stretchGroup,av.getHiddenRepSequences());
- }
-
- if (stretchGroup.cs instanceof Blosum62ColourScheme
- || stretchGroup.cs instanceof PIDColourScheme
- || stretchGroup.cs.conservationApplied()
- || stretchGroup.cs.getThreshold() > 0)
- {
- stretchGroup.recalcConservation();
- }
+ stretchGroup.cs.alignmentChanged(stretchGroup,
+ av.getHiddenRepSequences());
if (stretchGroup.cs.conservationApplied())
{
SliderPanel.setConservationSlider(ap, stretchGroup.cs,
stretchGroup.getName());
- stretchGroup.recalcConservation();
}
else
{
dragDirection = -1;
}
- while ((y != oldSeq) && (oldSeq > -1) && (y < av.getAlignment().getHeight()))
+ while ((y != oldSeq) && (oldSeq > -1)
+ && (y < av.getAlignment().getHeight()))
{
// This routine ensures we don't skip any sequences, as the
// selection is quite slow.
if (av.getSelectionGroup() == null || !av.isSelectionGroupChanged(true))
{
SequenceGroup sgroup = null;
- if (seqsel != null && seqsel.getSize()>0)
+ if (seqsel != null && seqsel.getSize() > 0)
{
if (av.getAlignment() == null)
{
}
repaint = av.isSelectionGroupChanged(true);
}
- if (copycolsel && (av.getColumnSelection() == null || !av.isColSelChanged(true)))
+ if (copycolsel
+ && (av.getColumnSelection() == null || !av
+ .isColSelChanged(true)))
{
// the current selection is unset or from a previous message
// so import the new colsel.
}
repaint |= av.isColSelChanged(true);
}
- if (copycolsel && av.hasHiddenColumns()
- && (av.getColumnSelection() == null || av.getColumnSelection().getHiddenColumns() == null))
+ if (copycolsel
+ && av.hasHiddenColumns()
+ && (av.getColumnSelection() == null || av.getColumnSelection()
+ .getHiddenColumns() == null))
{
System.err.println("Bad things");
}
/**
* scroll to the given row/column - or nearest visible location
+ *
* @param row
* @param column
*/
public void scrollTo(int row, int column)
{
-
- row = row<0 ? ap.av.startSeq : row;
- column = column<0 ? ap.av.startRes : column;
+
+ row = row < 0 ? ap.av.startSeq : row;
+ column = column < 0 ? ap.av.startRes : column;
ap.scrollTo(column, column, row, true, true);
}
+
/**
* scroll to the given row - or nearest visible location
+ *
* @param row
*/
public void scrollToRow(int row)
{
-
- row = row<0 ? ap.av.startSeq : row;
+
+ row = row < 0 ? ap.av.startSeq : row;
ap.scrollTo(ap.av.startRes, ap.av.startRes, row, true, true);
}
+
/**
* scroll to the given column - or nearest visible location
+ *
* @param column
*/
public void scrollToColumn(int column)
{
-
- column = column<0 ? ap.av.startRes : column;
- ap.scrollTo( column, column, ap.av.startSeq, true, true);
+
+ column = column < 0 ? ap.av.startRes : column;
+ ap.scrollTo(column, column, ap.av.startSeq, true, true);
}
}