Amend features/annotations in applet
[jalview.git] / src / jalview / appletgui / Finder.java
index 4f698d2..2b742b2 100755 (executable)
@@ -42,6 +42,7 @@ public class Finder
     try
     {
       jbInit();
+
     }
     catch (Exception e)
     {
@@ -61,6 +62,7 @@ public class Finder
         ap.highlightSearchResults(null);
       }
     });
+    textfield.requestFocus();
   }
 
   public void actionPerformed(ActionEvent evt)
@@ -89,43 +91,27 @@ public class Finder
 
   public void createNewGroup_actionPerformed()
   {
-
-    CutAndPasteTransfer cap = new CutAndPasteTransfer(true, null);
-    cap.accept.setLabel("Accept");
-    Dialog dialog = new Dialog(ap.alignFrame, "Enter New Feature Name", true);
-    dialog.add(cap);
-
-    cap.setText(textfield.getText());
-
-    dialog.setBounds(frame.getLocation().x + frame.getSize().width + 5,
-                     frame.getLocation().y + 20, 300, 100);
-    dialog.show();
-
-    String featureName = cap.getText().trim();
-    if (featureName.length() < 1)
-    {
-      return;
-    }
+    SequenceI[] seqs = new SequenceI[searchResults.getSize()];
+    SequenceFeature[] features = new SequenceFeature[searchResults.getSize()];
 
     for (int i = 0; i < searchResults.getSize(); i++)
     {
-      SequenceI seq = searchResults.getResultSequence(i);
-
-      SequenceFeature sf = new SequenceFeature(featureName,
-                                               null, null,
-                                               searchResults.getResultStart(i),
-                                               searchResults.getResultEnd(i),
-                                               "Search Results");
+      seqs[i] = searchResults.getResultSequence(i);
 
-      ap.seqPanel.seqCanvas.getFeatureRenderer().addNewFeature(
-          featureName, new Color(60, 160, 115));
-      seq.addSequenceFeature(sf);
+      features[i] = new SequenceFeature(textfield.getText().trim(),
+                                        "Search Results", null,
+                                        searchResults.getResultStart(i),
+                                        searchResults.getResultEnd(i),
+                                        "Search Results");
     }
 
-    ap.seqPanel.seqCanvas.getFeatureRenderer().featuresAdded();
-    ap.alignFrame.sequenceFeatures.setState(true);
-    av.showSequenceFeatures(true);
-    ap.highlightSearchResults(null);
+    if (ap.seqPanel.seqCanvas.getFeatureRenderer()
+        .createNewFeatures(seqs, features, ap))
+    {
+      ap.alignFrame.sequenceFeatures.setState(true);
+      av.showSequenceFeatures(true);
+      ap.highlightSearchResults(null);
+    }
   }
 
   void doSearch(boolean findAll)