X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fcommands%2FRemoveGapColCommand.java;h=1e9b83299d897e7142c9008b49c84bc1851f8b41;hb=def10fb2252c67e8256ec1fddc6605e34d760c63;hp=dfcfc47a3dd8a04e2c899bc8c749b53b02373928;hpb=ebb678af128304dc13e1b6ec9e0961489bf83d39;p=jalview.git diff --git a/src/jalview/commands/RemoveGapColCommand.java b/src/jalview/commands/RemoveGapColCommand.java index dfcfc47..1e9b832 100644 --- a/src/jalview/commands/RemoveGapColCommand.java +++ b/src/jalview/commands/RemoveGapColCommand.java @@ -1,7 +1,8 @@ package jalview.commands; - /* + +/* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -20,18 +21,20 @@ package jalview.commands; import jalview.datamodel.*; -public class RemoveGapColCommand extends EditCommand +public class RemoveGapColCommand + extends EditCommand { + int columnsDeleted; public RemoveGapColCommand(String description, SequenceI[] seqs, - int start, int end, char gapChar) + int start, int end, AlignmentI al) { this.description = description; int j, jSize = seqs.length; int startCol = -1, endCol = -1; - int deletedCols = 0; + columnsDeleted = 0; edits = new Edit[0]; @@ -47,7 +50,9 @@ public class RemoveGapColCommand extends EditCommand if (!jalview.util.Comparison.isGap(seqs[j].getCharAt(i))) { if (delete) + { endCol = i; + } delete = false; break; @@ -63,12 +68,12 @@ public class RemoveGapColCommand extends EditCommand if (!delete && startCol > -1) { this.appendEdit(DELETE_GAP, seqs, - startCol - deletedCols, + startCol - columnsDeleted, endCol - startCol, - gapChar, + al, false); - deletedCols += (endCol - startCol); + columnsDeleted += (endCol - startCol); startCol = -1; endCol = -1; } @@ -76,22 +81,26 @@ public class RemoveGapColCommand extends EditCommand if (delete && startCol > -1) { - //This is for empty columns at the - //end of the alignment - int width = end-endCol; - - if(endCol==-1) - width = end-start+1; - + //This is for empty columns at the + //end of the alignment this.appendEdit(DELETE_GAP, seqs, - startCol - deletedCols, - width, - gapChar, - false); + startCol - columnsDeleted, + end - startCol + 1, + al, + false); + + columnsDeleted += (end - startCol + 1); } performEdit(0); } + public int getSize() + { + //We're interested in the number of columns deleted, + //Not the number of sequence edits. + return columnsDeleted; + } + }