*/
package jalview.commands;
-import java.util.*;
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.Annotation;
+import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceFeature;
+import jalview.datamodel.SequenceI;
-import jalview.datamodel.*;
+import java.util.Hashtable;
+import java.util.List;
/**
*
@Override
final public void undoCommand(AlignmentI[] views)
- {
- int e = 0, eSize = edits.length;
- for (e = eSize - 1; e > -1; e--)
- {
- switch (edits[e].command)
- {
- case INSERT_GAP:
- deleteGap(edits[e]);
- break;
- case DELETE_GAP:
- insertGap(edits[e]);
- break;
- case CUT:
- paste(edits[e], views);
- break;
- case PASTE:
- cut(edits[e], views);
- break;
- case REPLACE:
- replace(edits[e]);
- break;
- }
+ {
+ for(Edit e : edits){
+ switch (e.command)
+ {
+ case INSERT_GAP:
+ deleteGap(e);
+ break;
+ case DELETE_GAP:
+ insertGap(e);
+ break;
+ case CUT:
+ paste(e, views);
+ break;
+ case PASTE:
+ cut(e, views);
+ break;
+ case REPLACE:
+ replace(e);
+ break;
+ }
}
}
List<SequenceI> sequences;
synchronized (sequences = command.al.getSequences())
{
- sequences.add(command.alIndex[i], command.seqs[i]);
+ // int index = command.al.findIndex(command.seqs[i]);
+ // sequences.add(index, command.seqs[i]);
+ sequences.add(command.alIndex[i] < 0 ? 0 : command.alIndex[i], command.seqs[i]);
}
}
else
+ command.number);
}
if (command.seqs[i].getStart() == start)
+ {
newstart--;
+ }
else
+ {
newend++;
+ }
}
}
command.string[i] = null;
{
temp = new Annotation[aSize + command.number];
if (annotations[a].padGaps)
+ {
for (int aa = 0; aa < temp.length; aa++)
{
temp[aa] = new Annotation(command.gapChar + "", null, ' ', 0);
}
+ }
}
else
{
int copylen = Math.min(command.position,
annotations[a].annotations.length);
if (copylen > 0)
+ {
System.arraycopy(annotations[a].annotations, 0, temp, 0,
copylen); // command.position);
+ }
Annotation[] deleted = new Annotation[command.number];
if (copylen >= command.position)