X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FFinder.java;h=7483a0ad543bd74a091e7bee267c995aaec2ea47;hb=1340920fd1b15c9bc8cd2284def7ec176a4989d5;hp=e1a3082e23d142d8ac37748115cac1f2bcf131ed;hpb=5b6d555458f48c4631883a8769fcc1dd5f578e34;p=jalview.git diff --git a/src/jalview/gui/Finder.java b/src/jalview/gui/Finder.java index e1a3082..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.util.regex.*; +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); + } }); } @@ -63,29 +67,40 @@ public class Finder extends GFinder try{ // if allResults is null, this effectively switches displaySearch flag in seqCanvas ap.highlightSearchResults( null ); - frame.setClosed(true); + // frame.setClosed(true); }catch(Exception ex){ } + } + + public void createNewGroup_actionPerformed(ActionEvent e) + { + for(int i=0; i0) - seq = (Sequence)(av.getSelection().sequenceAt(0)); + if(av.getSelectionGroup().getSize()>0) + seq = (Sequence)(av.getSelectionGroup().getSequenceAt(0)); else seq = (Sequence)av.getAlignment().getSequenceAt(0); @@ -93,38 +108,83 @@ public class Finder extends GFinder searchResults.add( Integer.toString( seq.findIndex(res)-1 ) ); searchResults.add( Integer.toString( seq.findIndex(res)-1 ) ); - - //av.getAlignment().getSequenceAt(seq).findPosition(res) }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 && seqIndex0 && !av.getSelection().contains(seq)) + + if(selection!=null && !selection.sequences.contains(seq)) { - // if a selection has been made, only search within that selection seqIndex++; resIndex=0; continue; } - item = seq.getSequence(); + item = seq.getSequence().toUpperCase(); + + if(selection!=null && selection.getEndRes()