X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFinder.java;h=7483a0ad543bd74a091e7bee267c995aaec2ea47;hb=3f578998521236c208e9d3c7790d4d5ac4da0a50;hp=c5a2cf4e0c090630bf0e255f5ecd119432b4e065;hpb=3e313eab680734bb0bd49d3366c5ae6ad8330ef4;p=jalview.git diff --git a/src/jalview/gui/Finder.java b/src/jalview/gui/Finder.java index c5a2cf4..7483a0a 100755 --- a/src/jalview/gui/Finder.java +++ b/src/jalview/gui/Finder.java @@ -6,7 +6,7 @@ import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.util.*; - +import java.awt.*; public class Finder extends GFinder { @@ -14,6 +14,7 @@ public class Finder extends GFinder AlignmentPanel ap; JInternalFrame frame; String searchString; + SuperGroup searchGroup; int seqIndex = 0; int resIndex = 0; @@ -32,11 +33,14 @@ public class Finder extends GFinder SwingUtilities.invokeLater(new Runnable() { public void run() - { - textfield.requestFocus(); - } + { textfield.requestFocus(); } }); - } + } + + public void internalFrameClosing(InternalFrameEvent evt) + { + cancel_actionPerformed(null); + } }); } @@ -61,34 +65,126 @@ public class Finder extends GFinder public void cancel_actionPerformed(ActionEvent e) { try{ - frame.setClosed(true); - }catch(Exception ex){} + // if allResults is null, this effectively switches displaySearch flag in seqCanvas + ap.highlightSearchResults( null ); + // frame.setClosed(true); + }catch(Exception ex){ } + } + + + public void createNewGroup_actionPerformed(ActionEvent e) + { + for(int i=0; i0) + seq = (Sequence)(av.getSelectionGroup().getSequenceAt(0)); + else + seq = (Sequence)av.getAlignment().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 ) ); + + }catch(NumberFormatException ex){} + /////////////////////////////////////////////// + + + jalview.schemes.UserColourScheme ucs = new jalview.schemes.UserColourScheme(); + Color [] newColors = new Color[24]; + for(int i=0; i<24; i++) + newColors[i] = new Color(60,160,115); + + ucs.setColourScheme(newColors); + + searchGroup = new SuperGroup(searchString, ucs , true, true, false); + + int end = av.alignment.getHeight(); + + SequenceGroup selection = av.getSelectionGroup(); + if(selection!=null) + if(selection.getSize()<1 || (selection.getEndRes()-selection.getStartRes()<2)) + selection = null; + + while( !found && seqIndex-1) + seqIndex++; + resIndex=0; + continue; + } + + item = seq.getSequence().toUpperCase(); + + if(selection!=null && selection.getEndRes()0) { - allResults = new int[searchResults.size()]; for(int i=0; i