X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fcommands%2FChangeCaseCommand.java;h=d34552dfa850920fefe29eb48a12b13d2e9c3d48;hb=7bc226b58110fa26d9dbd3f0c78095d06909ffc3;hp=00d90003c3c992a90ec966b0b406a9c8e9315bd0;hpb=dd74fc4938723fe5ec48d4e5fdcfbe58ac42a48d;p=jalview.git diff --git a/src/jalview/commands/ChangeCaseCommand.java b/src/jalview/commands/ChangeCaseCommand.java index 00d9000..d34552d 100644 --- a/src/jalview/commands/ChangeCaseCommand.java +++ b/src/jalview/commands/ChangeCaseCommand.java @@ -1,6 +1,6 @@ - /* +/* * 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 +20,19 @@ package jalview.commands; import jalview.datamodel.*; -public class ChangeCaseCommand implements CommandI +public class ChangeCaseCommand + implements CommandI { String description; public static int TO_LOWER = 0; public static int TO_UPPER = 1; public static int TOGGLE_CASE = 2; int caseChange = -1; - SequenceI [] seqs; - int [][] regions; + SequenceI[] seqs; + int[][] regions; public ChangeCaseCommand(String description, SequenceI[] seqs, - int [][] regions, + int[][] regions, int caseChange) { this.description = description; @@ -75,9 +76,13 @@ public class ChangeCaseCommand implements CommandI StringBuffer newSeq = new StringBuffer(); if (regions[r][1] > sequence.length()) + { end = sequence.length(); + } else + { end = regions[r][1]; + } if (start > 0) { @@ -86,11 +91,15 @@ public class ChangeCaseCommand implements CommandI if ( (caseChange == TO_UPPER && doCommand) || (caseChange == TO_LOWER && !doCommand)) + { newSeq.append(sequence.substring(start, end).toUpperCase()); + } else if ( (caseChange == TO_LOWER && doCommand) || (caseChange == TO_UPPER && !doCommand)) + { newSeq.append(sequence.substring(start, end).toLowerCase()); + } else //TOGGLE CASE { @@ -112,7 +121,9 @@ public class ChangeCaseCommand implements CommandI } if (end < sequence.length()) + { newSeq.append(sequence.substring(end)); + } seqs[s].setSequence(newSeq.toString()); }