X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fcommands%2FSlideSequencesCommand.java;h=153371a6baebd156d7f02f1e0cf88b7b4fd7044b;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=9b9c99ec61b2037565c0c3d53b3e73771971c436;hpb=fa93bb578999b13c0364a712ae368ca8841012a1;p=jalview.git diff --git a/src/jalview/commands/SlideSequencesCommand.java b/src/jalview/commands/SlideSequencesCommand.java index 9b9c99e..153371a 100644 --- a/src/jalview/commands/SlideSequencesCommand.java +++ b/src/jalview/commands/SlideSequencesCommand.java @@ -1,36 +1,33 @@ - /* -* Jalview - A Sequence Alignment Editor and Viewer -* 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 -* as published by the Free Software Foundation; either version 2 -* of the License, or (at your option) any later version. -* -* This program 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 PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA -*/ - + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) + * Copyright (C) 2015 The Jalview Authors + * + * 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 + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.commands; -import jalview.datamodel.*; +import jalview.datamodel.SequenceI; public class SlideSequencesCommand extends EditCommand { boolean gapsInsertedBegin = false; - public SlideSequencesCommand(String description, - SequenceI[] seqsLeft, - SequenceI[] seqsRight, - int slideSize, - char gapChar) + public SlideSequencesCommand(String description, SequenceI[] seqsLeft, + SequenceI[] seqsRight, int slideSize, char gapChar) { this.description = description; @@ -40,21 +37,29 @@ public class SlideSequencesCommand extends EditCommand for (i = 0; i < lSize; i++) { for (j = 0; j < slideSize; j++) + { if (!jalview.util.Comparison.isGap(seqsLeft[i].getCharAt(j))) { gapsInsertedBegin = true; break; } + } } + Edit e = null; + if (!gapsInsertedBegin) - edits = new Edit[] - { new Edit(DELETE_GAP, seqsLeft, 0, slideSize, gapChar)}; + { + e = new Edit(Action.DELETE_GAP, seqsLeft, 0, slideSize, gapChar); + setEdit(e); + } else - edits = new Edit[] - { new Edit(INSERT_GAP, seqsRight, 0, slideSize, gapChar)}; + { + e = new Edit(Action.INSERT_GAP, seqsRight, 0, slideSize, gapChar); + setEdit(e); + } - performEdit(0,null); + performEdit(e, null); } public boolean getGapsInsertedBegin() @@ -66,28 +71,23 @@ public class SlideSequencesCommand extends EditCommand { boolean same = false; - if(command.edits[0].seqs.length==edits[0].seqs.length) + if (command.getEdit(0).seqs.length == getEdit(0).seqs.length) { same = true; - for (int i = 0; i < command.edits[0].seqs.length; i++) + for (int i = 0; i < command.getEdit(0).seqs.length; i++) { - if (edits[0].seqs[i] != command.edits[0].seqs[i]) + if (getEdit(0).seqs[i] != command.getEdit(0).seqs[i]) { same = false; } } } - if(same) + if (same) { - Edit[] temp = new Edit[command.edits.length + 1]; - System.arraycopy(command.edits, 0, temp, 0, command.edits.length); - command.edits = temp; - command.edits[command.edits.length - 1] = edits[0]; + command.addEdit(getEdit(0)); } return same; } } - -