1 Clazz.declarePackage ("jalview.commands");
\r
2 Clazz.load (["jalview.commands.EditCommand"], "jalview.commands.SlideSequencesCommand", ["jalview.util.Comparison"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.gapsInsertedBegin = false;
\r
5 Clazz.instantialize (this, arguments);
\r
6 }, jalview.commands, "SlideSequencesCommand", jalview.commands.EditCommand);
\r
7 Clazz.makeConstructor (c$,
\r
8 function (description, seqsLeft, seqsRight, slideSize, gapChar) {
\r
9 Clazz.superConstructor (this, jalview.commands.SlideSequencesCommand, []);
\r
10 this.description = description;
\r
11 var lSize = seqsLeft.length;
\r
12 this.gapsInsertedBegin = false;
\r
15 for (i = 0; i < lSize; i++) {
\r
16 for (j = 0; j < slideSize; j++) {
\r
17 if (!jalview.util.Comparison.isGap (seqsLeft[i].getCharAt (j))) {
\r
18 this.gapsInsertedBegin = true;
\r
23 if (!this.gapsInsertedBegin) {
\r
24 e = Clazz.innerTypeInstance (jalview.commands.EditCommand.Edit, this, null, jalview.commands.EditCommand.Action.DELETE_GAP, seqsLeft, 0, slideSize, gapChar);
\r
27 e = Clazz.innerTypeInstance (jalview.commands.EditCommand.Edit, this, null, jalview.commands.EditCommand.Action.INSERT_GAP, seqsRight, 0, slideSize, gapChar);
\r
29 }jalview.commands.EditCommand.performEdit (e, null);
\r
30 }, "~S,~A,~A,~N,~S");
\r
31 Clazz.defineMethod (c$, "getGapsInsertedBegin",
\r
33 return this.gapsInsertedBegin;
\r
35 Clazz.defineMethod (c$, "appendSlideCommand",
\r
36 function (command) {
\r
38 if (command.getEdit (0).seqs.length == this.getEdit (0).seqs.length) {
\r
40 for (var i = 0; i < command.getEdit (0).seqs.length; i++) {
\r
41 if (this.getEdit (0).seqs[i] !== command.getEdit (0).seqs[i]) {
\r
45 command.addEdit (this.getEdit (0));
\r
47 }, "jalview.commands.SlideSequencesCommand");
\r