X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFinder.java;h=ff4fe603a736233f03ed9eb2714879e56455f64c;hb=a0d1b1826f8ab0792c589946746d52ad0316fc99;hp=1aceb80e734677eb339ee9ef8aa175d27ab08fc8;hpb=efc31b4a8d5cee63555586804a2b79c06bdb5a14;p=jalview.git diff --git a/src/jalview/gui/Finder.java b/src/jalview/gui/Finder.java index 1aceb80..ff4fe60 100755 --- a/src/jalview/gui/Finder.java +++ b/src/jalview/gui/Finder.java @@ -87,15 +87,6 @@ public class Finder extends GFinder }); } - /** - * DOCUMENT ME! - * - * @param e DOCUMENT ME! - */ - public void textfield_actionPerformed(ActionEvent e) - { - doSearch(false); - } /** * DOCUMENT ME! @@ -189,7 +180,9 @@ public class Finder extends GFinder { createNewGroup.setEnabled(false); - String searchString = textfield.getText().toUpperCase(); + String searchString = textfield.getText().toUpperCase().trim(); + if(searchString.length()<1) + return; com.stevesoft.pat.Regex regex = new com.stevesoft.pat.Regex(searchString); @@ -206,19 +199,18 @@ public class Finder extends GFinder { int res = Integer.parseInt(searchString); found = true; - - if (av.getSelectionGroup().getSize() > 0) + if (av.getSelectionGroup() == null || av.getSelectionGroup().getSize() < 1) { - seq = (Sequence) (av.getSelectionGroup().getSequenceAt(0)); + seq = (Sequence) av.getAlignment().getSequenceAt(0); } else { - seq = (Sequence) av.getAlignment().getSequenceAt(0); + seq = (Sequence) (av.getSelectionGroup().getSequenceAt(0)); } searchResults.add(Integer.toString(av.getAlignment().findIndex(seq))); - searchResults.add(Integer.toString(seq.findIndex(res) - 1)); - searchResults.add(Integer.toString(seq.findIndex(res) - 1)); + searchResults.add(res+""); + searchResults.add(res+""); } catch (NumberFormatException ex) { @@ -270,7 +262,7 @@ public class Finder extends GFinder } ///Shall we ignore gaps???? - StringBuffer noGaps = new StringBuffer(); + StringBuffer noGapsSB = new StringBuffer(); int insertCount = 0; Vector spaces = new Vector(); @@ -278,7 +270,7 @@ public class Finder extends GFinder { if (!jalview.util.Comparison.isGap(item.charAt(j))) { - noGaps.append(item.charAt(j)); + noGapsSB.append(item.charAt(j)); spaces.add(new Integer(insertCount)); } else @@ -287,9 +279,12 @@ public class Finder extends GFinder } } + String noGaps = noGapsSB.toString(); + for (int r = resIndex; r < noGaps.length(); r++) { - if (regex.searchFrom(noGaps.toString(), r)) + + if (regex.searchFrom(noGaps, r)) { resIndex = regex.matchedFrom(); @@ -323,6 +318,10 @@ public class Finder extends GFinder r = resIndex; } + else + { + break; + } } if (!found)