*/
package jalview.gui;
-import java.util.Locale;
-
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.FocusAdapter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
new FeatureEditor(ap, seqs, features, true).showDialog();
}
+ @Override
+ protected void copyToClipboard_actionPerformed()
+ {
+ if (searchResults.isEmpty())
+ {
+ return; // shouldn't happen
+ }
+ // assume viewport controller has same searchResults as we do...
+ ap.alignFrame.avc.copyHighlightedRegionsToClipboard();
+ }
+
/**
* Search the alignment for the next or all matches. If 'all matches', a
* dialog is shown with the number of sequence ids and subsequences matched.
void doSearch(boolean doFindAll)
{
createFeatures.setEnabled(false);
+ copyToClipboard.setEnabled(false);
String searchString = searchBox.getUserInput();
finder = new jalview.analysis.Finder(av);
finders.put(av, finder);
}
+ finder.setFeatureRenderer(ap.getFeatureRenderer());
boolean isCaseSensitive = caseSensitive.isSelected();
boolean doSearchDescription = searchDescription.isSelected();
+ boolean doSearchfeatures = searchFeatures.isSelected();
boolean skipHidden = ignoreHidden.isSelected();
if (doFindAll)
{
finder.findAll(searchString, isCaseSensitive, doSearchDescription,
- skipHidden);
+ doSearchfeatures, skipHidden);
}
else
{
finder.findNext(searchString, isCaseSensitive, doSearchDescription,
- skipHidden);
+ doSearchfeatures, skipHidden);
}
searchResults = finder.getSearchResults();
else
{
createFeatures.setEnabled(true);
+ copyToClipboard.setEnabled(true);
}
searchBox.updateCache();
{
if (idMatch.size() > 0 && searchResults.getCount() > 0)
{
- message.append(" ").append(
- MessageManager.getString("label.and").toLowerCase(Locale.ROOT))
- .append(" ");
+ message.append(" ").append(MessageManager.getString("label.and")
+ .toLowerCase(Locale.ROOT)).append(" ");
}
message.append(MessageManager.formatMessage(
"label.subsequence_matches_found",