- columnsDeleted = width - 1;
-
- edits = new Edit[]
- {
- new Edit(CUT, seqs, column + 1, width, al)};
- }
-
- //We need to keep a record of the sequence start
- //in order to restore the state after a redo
- int i, isize = edits[0].seqs.length;
- start = new int[isize];
- for (i = 0; i < isize; i++)
- {
- start[i] = edits[0].seqs[i].getStart();
- }
-
- performEdit(0,null);
- }
-
- void cut(Edit command)
- {
- int column, j, jSize = command.seqs.length;
- for (j = 0; j < jSize; j++)
- {
- if (command.position == 0)
- {
- //This is a TRIM_LEFT command
- column = command.seqs[j].findPosition(command.number);
- command.seqs[j].setStart(column);
- }
- else
- {
- //This is a TRIM_RIGHT command
- column = command.seqs[j].findPosition(command.position) - 1;
- command.seqs[j].setEnd(column);
- }
- }
-
- super.cut(command, null);
-
- if (command.position == 0)
- {
- deletedHiddenColumns = colSel.compensateForEdit(0, command.number);
- if (selectionGroup != null)
- {
- selectionGroup.adjustForRemoveLeft(command.number);
- }
- }
- else
- {
- deletedHiddenColumns = colSel.compensateForEdit(command.position,
- command.number);
- if (selectionGroup != null)
- {
- selectionGroup.adjustForRemoveRight(command.position);
- }
- }
- }
-
- void paste(Edit command)
- {
- super.paste(command, null);
- int column, j, jSize = command.seqs.length;
- for (j = 0; j < jSize; j++)
- {
- if (command.position == 0)
- {
- command.seqs[j].setStart(start[j]);
- }
- else
- {
- column = command.seqs[j]
- .findPosition(command.number + command.position) - 1;
- command.seqs[j].setEnd(column);
- }
- }