X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fcommands%2FEditCommand.java;h=03b94d3ca6dcfe7921526636ea6f90fad7b353c5;hb=be415b56e8ce1bc00f5004c64793ce5d0cb17be8;hp=414cea71832a0d7e2d78174e6d08a51116fb62f5;hpb=d423f22792e47dbc800ae220a58677f988971d06;p=jalview.git diff --git a/src/jalview/commands/EditCommand.java b/src/jalview/commands/EditCommand.java index 414cea7..03b94d3 100644 --- a/src/jalview/commands/EditCommand.java +++ b/src/jalview/commands/EditCommand.java @@ -1,5 +1,5 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5) + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle * * This file is part of Jalview. @@ -54,6 +54,8 @@ public class EditCommand implements CommandI public static final int PASTE = 3; public static final int REPLACE = 4; + + public static final int INSERT_NUC=5; Edit[] edits; @@ -143,8 +145,8 @@ public class EditCommand implements CommandI final public void appendEdit(int command, SequenceI[] seqs, int position, int number, AlignmentI al, boolean performEdit, AlignmentI[] views) { - Edit edit = new Edit(command, seqs, position, number, al - .getGapCharacter()); + Edit edit = new Edit(command, seqs, position, number, + al.getGapCharacter()); if (al.getHeight() == seqs.length) { edit.al = al; @@ -192,6 +194,10 @@ public class EditCommand implements CommandI case REPLACE: replace(edits[e]); break; + //TODO:add deleteNuc for UNDO + case INSERT_NUC: + insertNuc(edits[e]); + break; } } } @@ -223,7 +229,7 @@ public class EditCommand implements CommandI case REPLACE: replace(edits[e]); break; - } + } } } @@ -234,6 +240,19 @@ public class EditCommand implements CommandI { command.seqs[s].insertCharAt(command.position, command.number, command.gapChar); + System.out.println("pos: "+command.position+" number: "+command.number); + } + + adjustAnnotations(command, true, false, null); + } + + final void insertNuc(Edit command) + { + + for (int s = 0; s < command.seqs.length; s++) + { + System.out.println("pos: "+command.position+" number: "+command.number); + command.seqs[s].insertCharAt(command.position, command.number,'A'); } adjustAnnotations(command, true, false, null); @@ -286,9 +305,12 @@ public class EditCommand implements CommandI command.oldds = new SequenceI[command.seqs.length]; } command.oldds[i] = oldds; - adjustFeatures(command, i, command.seqs[i] - .findPosition(command.position), command.seqs[i] - .findPosition(command.position + command.number), false); + adjustFeatures( + command, + i, + command.seqs[i].findPosition(command.position), + command.seqs[i].findPosition(command.position + + command.number), false); } } } @@ -781,9 +803,8 @@ public class EditCommand implements CommandI if (command.editedFeatures != null && command.editedFeatures.containsKey(seq)) { - sequence - .setSequenceFeatures((SequenceFeature[]) command.editedFeatures - .get(seq)); + sequence.setSequenceFeatures((SequenceFeature[]) command.editedFeatures + .get(seq)); } return;