JAL-3541 selectively merged build.gradle and gradle.properties
[jalview.git] / src / jalview / gui / Finder.java
index a4d7ad0..a1693f7 100755 (executable)
@@ -30,7 +30,6 @@ import jalview.jbgui.GFinder;
 import jalview.util.MessageManager;
 import jalview.viewmodel.AlignmentViewport;
 
-import java.awt.Dimension;
 import java.awt.event.ActionEvent;
 import java.awt.event.KeyEvent;
 import java.util.ArrayList;
@@ -123,9 +122,8 @@ public class Finder extends GFinder
             });
     addEscapeHandler();
     Desktop.addInternalFrame(frame, MessageManager.getString("label.find"),
-            MY_WIDTH, MY_HEIGHT);
-    frame.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT));
-    searchBox.requestFocus();
+            true, MY_WIDTH, MY_HEIGHT, true, true);
+    searchBox.getComponent().requestFocus();
   }
 
   /**
@@ -206,15 +204,19 @@ public class Finder extends GFinder
 
   /**
    * Opens a dialog that allows the user to create sequence features for the
-   * find match results.
+   * find match results
    */
   @Override
   public void createFeatures_actionPerformed()
   {
+    if (searchResults.isEmpty())
+    {
+      return; // shouldn't happen
+    }
     List<SequenceI> seqs = new ArrayList<>();
     List<SequenceFeature> features = new ArrayList<>();
 
-    String searchString = searchBox.getEditor().getItem().toString().trim();
+    String searchString = searchBox.getUserInput();
     String desc = "Search Results";
 
     /*
@@ -224,22 +226,11 @@ public class Finder extends GFinder
     for (SearchResultMatchI match : searchResults.getResults())
     {
       seqs.add(match.getSequence().getDatasetSequence());
-      features.add(new SequenceFeature(searchString, desc,
-              match
-              .getStart(), match.getEnd(), desc));
+      features.add(new SequenceFeature(searchString, desc, match.getStart(),
+              match.getEnd(), desc));
     }
 
-    if (ap.getSeqPanel().seqCanvas.getFeatureRenderer().amendFeatures(seqs,
-            features, true, ap))
-    {
-      /*
-       * ensure feature display is turned on to show the new features,
-       * and remove them as highlighted regions
-       */
-      ap.alignFrame.showSeqFeatures.setSelected(true);
-      av.setShowSequenceFeatures(true);
-      ap.highlightSearchResults(null);
-    }
+    new FeatureEditor(ap, seqs, features, true).showDialog();
   }
 
   /**
@@ -252,7 +243,7 @@ public class Finder extends GFinder
   {
     createFeatures.setEnabled(false);
 
-    String searchString = searchBox.getUserInput().trim();
+    String searchString = searchBox.getUserInput();
 
     if (isInvalidSearchString(searchString))
     {
@@ -296,6 +287,8 @@ public class Finder extends GFinder
       createFeatures.setEnabled(true);
     }
 
+    searchBox.updateCache();
+
     ap.highlightSearchResults(searchResults);
     // TODO: add enablers for 'SelectSequences' or 'SelectColumns' or
     // 'SelectRegion' selection
@@ -303,7 +296,7 @@ public class Finder extends GFinder
     {
       JvOptionPane.showInternalMessageDialog(this,
               MessageManager.getString("label.finished_searching"), null,
-              JvOptionPane.INFORMATION_MESSAGE);
+              JvOptionPane.PLAIN_MESSAGE);
     }
     else
     {
@@ -322,10 +315,9 @@ public class Finder extends GFinder
                   + " subsequence matches found.";
         }
         JvOptionPane.showInternalMessageDialog(this, message, null,
-                JvOptionPane.INFORMATION_MESSAGE);
+                JvOptionPane.PLAIN_MESSAGE);
       }
     }
-    searchBox.updateCache();
   }
 
   /**