X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FFinder.java;h=945e900fbd8544f8bdffe352a4f222f811d272fd;hb=eae01b09aadd51c1062c67fa66de5636f1854dd2;hp=f9962a6e3d9fb345171946358ab6b7b77ad7cc82;hpb=370e045dad64be5b5425e75f979a6855bce4d2cd;p=jalview.git diff --git a/src/jalview/appletgui/Finder.java b/src/jalview/appletgui/Finder.java index f9962a6..945e900 100755 --- a/src/jalview/appletgui/Finder.java +++ b/src/jalview/appletgui/Finder.java @@ -37,7 +37,7 @@ public class Finder extends Panel implements ActionListener int seqIndex = 0; - int resIndex = 0; + int resIndex = -1; public Finder(final AlignmentPanel ap) { @@ -80,7 +80,7 @@ public class Finder extends Panel implements ActionListener else if (evt.getSource() == findAll) { - resIndex = 0; + resIndex = -1; seqIndex = 0; doSearch(true); } @@ -134,34 +134,50 @@ public class Finder extends Panel implements ActionListener resIndex = finder.getResIndex(); searchResults = finder.getSearchResults(); Vector idMatch = finder.getIdMatch(); - - if (searchResults.getSize() == 0 && idMatch.size() > 0) + boolean haveResults=false; + // set or reset the GUI + if ((idMatch.size() > 0)) { + haveResults=true; ap.idPanel.highlightSearchResults(idMatch); + } else { + ap.idPanel.highlightSearchResults(null); } if (searchResults.getSize() > 0) { + haveResults=true; createNewGroup.setEnabled(true); } else { searchResults = null; - resIndex = 0; - seqIndex = 0; } // if allResults is null, this effectively switches displaySearch flag in // seqCanvas ap.highlightSearchResults(searchResults); - + // TODO: add enablers for 'SelectSequences' or 'SelectColumns' or + // 'SelectRegion' selection + if (!haveResults) + { + ap.alignFrame.statusBar.setText("Finished searching."); + resIndex = -1; + seqIndex = 0; + } if (findAll) { - String message = (searchResults == null ? 0 : searchResults.getSize()) - + " matches found."; + String message = (idMatch.size()>0) ? ""+idMatch.size()+" IDs" : ""; + if (idMatch.size()>0 && searchResults!=null && searchResults.getSize()>0) { + message += " and "; + } + if (searchResults!=null) { + message += searchResults.getSize() + " subsequence matches."; + } ap.alignFrame.statusBar.setText("Search results: " + searchString + " : " + message); + } }