Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / jalview / commands / SlideSequencesCommand.js
1 Clazz.declarePackage ("jalview.commands");
2 Clazz.load (["jalview.commands.EditCommand"], "jalview.commands.SlideSequencesCommand", ["jalview.util.Comparison"], function () {
3 c$ = Clazz.decorateAsClass (function () {
4 this.gapsInsertedBegin = false;
5 Clazz.instantialize (this, arguments);
6 }, jalview.commands, "SlideSequencesCommand", jalview.commands.EditCommand);
7 Clazz.makeConstructor (c$, 
8 function (description, seqsLeft, seqsRight, slideSize, gapChar) {
9 Clazz.superConstructor (this, jalview.commands.SlideSequencesCommand, []);
10 this.description = description;
11 var lSize = seqsLeft.length;
12 this.gapsInsertedBegin = false;
13 var i;
14 var j;
15 for (i = 0; i < lSize; i++) {
16 for (j = 0; j < slideSize; j++) {
17 if (!jalview.util.Comparison.isGap (seqsLeft[i].getCharAt (j))) {
18 this.gapsInsertedBegin = true;
19 break;
20 }}
21 }
22 var e = null;
23 if (!this.gapsInsertedBegin) {
24 e = Clazz.innerTypeInstance (jalview.commands.EditCommand.Edit, this, null, jalview.commands.EditCommand.Action.DELETE_GAP, seqsLeft, 0, slideSize, gapChar);
25 this.setEdit (e);
26 } else {
27 e = Clazz.innerTypeInstance (jalview.commands.EditCommand.Edit, this, null, jalview.commands.EditCommand.Action.INSERT_GAP, seqsRight, 0, slideSize, gapChar);
28 this.setEdit (e);
29 }jalview.commands.EditCommand.performEdit (e, null);
30 }, "~S,~A,~A,~N,~S");
31 Clazz.defineMethod (c$, "getGapsInsertedBegin", 
32 function () {
33 return this.gapsInsertedBegin;
34 });
35 Clazz.defineMethod (c$, "appendSlideCommand", 
36 function (command) {
37 var same = false;
38 if (command.getEdit (0).seqs.length == this.getEdit (0).seqs.length) {
39 same = true;
40 for (var i = 0; i < command.getEdit (0).seqs.length; i++) {
41 if (this.getEdit (0).seqs[i] !== command.getEdit (0).seqs[i]) {
42 same = false;
43 }}
44 }if (same) {
45 command.addEdit (this.getEdit (0));
46 }return same;
47 }, "jalview.commands.SlideSequencesCommand");
48 });