X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FFinder.java;h=f641f4b71d3968626a5b13baa30c4d650f6c6ea5;hb=4468c1e39c57fbb67192207b4c8750dab1b1dedd;hp=0bf4600dbf992628ba29f6cf2c62d43b0af2e324;hpb=c1f5dd54ab8caa7e76ca50f9c3a85f2731b66862;p=jalview.git diff --git a/src/jalview/gui/Finder.java b/src/jalview/gui/Finder.java index 0bf4600..f641f4b 100755 --- a/src/jalview/gui/Finder.java +++ b/src/jalview/gui/Finder.java @@ -75,7 +75,7 @@ public class Finder extends GFinder private AlignmentPanel ap; - private JInternalFrame frame; + private JalviewInternalFrame frame; /* * Finder agent per viewport searched @@ -107,7 +107,7 @@ public class Finder extends GFinder ap = alignPanel; focusFixed = fixedFocus; finders = new HashMap<>(); - frame = new JInternalFrame(); + frame = new JalviewInternalFrame(); frame.setFrameIcon(null); frame.setContentPane(this); frame.setLayer(JLayeredPane.PALETTE_LAYER); @@ -254,6 +254,17 @@ public class Finder extends GFinder 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. @@ -263,6 +274,7 @@ public class Finder extends GFinder void doSearch(boolean doFindAll) { createFeatures.setEnabled(false); + copyToClipboard.setEnabled(false); String searchString = searchBox.getUserInput(); @@ -283,19 +295,21 @@ public class Finder extends GFinder 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(); @@ -309,6 +323,7 @@ public class Finder extends GFinder else { createFeatures.setEnabled(true); + copyToClipboard.setEnabled(true); } searchBox.updateCache();