X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFinder.java;h=e44c95605a56c1ab9704d800359b49d967d4f5d2;hb=6c31e8ed324bd6d62441119e6548952880f68a08;hp=fe26e940cc5f8cf36eda27debd0824c95b8fe37b;hpb=c19d2a91ca05e052e3408bf5852d88eb5d0608f1;p=jalview.git diff --git a/src/jalview/gui/Finder.java b/src/jalview/gui/Finder.java index fe26e94..e44c956 100755 --- a/src/jalview/gui/Finder.java +++ b/src/jalview/gui/Finder.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -20,13 +20,15 @@ */ package jalview.gui; -import jalview.datamodel.SearchResults; +import jalview.datamodel.SearchResultMatchI; +import jalview.datamodel.SearchResultsI; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; 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.Vector; @@ -37,7 +39,6 @@ import javax.swing.AbstractAction; import javax.swing.JComponent; import javax.swing.JInternalFrame; import javax.swing.JLayeredPane; -import javax.swing.JOptionPane; import javax.swing.KeyStroke; /** @@ -53,21 +54,25 @@ import javax.swing.KeyStroke; */ public class Finder extends GFinder { - private static final int HEIGHT = 110; + private static final int HEIGHT = 120; - private static final int WIDTH = 340; + private static final int WIDTH = 400; AlignmentViewport av; AlignmentPanel ap; + private static final int MIN_WIDTH = 350; + + private static final int MIN_HEIGHT = 120; + JInternalFrame frame; int seqIndex = 0; int resIndex = -1; - SearchResults searchResults; + SearchResultsI searchResults; /** * Creates a new Finder object with no associated viewport or panel. @@ -96,7 +101,7 @@ public class Finder extends GFinder addEscapeHandler(); Desktop.addInternalFrame(frame, MessageManager.getString("label.find"), WIDTH, HEIGHT); - + frame.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT)); textfield.requestFocus(); } @@ -109,6 +114,7 @@ public class Finder extends GFinder KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "Cancel"); getRootPane().getActionMap().put("Cancel", new AbstractAction() { + @Override public void actionPerformed(ActionEvent e) { escapeActionPerformed(); @@ -130,6 +136,7 @@ public class Finder extends GFinder * * @param e */ + @Override public void findNext_actionPerformed(ActionEvent e) { if (getFocusedViewport()) @@ -143,6 +150,7 @@ public class Finder extends GFinder * * @param e */ + @Override public void findAll_actionPerformed(ActionEvent e) { if (getFocusedViewport()) @@ -198,19 +206,22 @@ public class Finder extends GFinder * @param e * DOCUMENT ME! */ + @Override public void createNewGroup_actionPerformed(ActionEvent e) { SequenceI[] seqs = new SequenceI[searchResults.getSize()]; SequenceFeature[] features = new SequenceFeature[searchResults .getSize()]; - for (int i = 0; i < searchResults.getSize(); i++) + int i = 0; + for (SearchResultMatchI match : searchResults.getResults()) { - seqs[i] = searchResults.getResultSequence(i).getDatasetSequence(); + seqs[i] = match.getSequence().getDatasetSequence(); features[i] = new SequenceFeature(textfield.getText().trim(), - "Search Results", null, searchResults.getResultStart(i), - searchResults.getResultEnd(i), "Search Results"); + "Search Results", null, match.getStart(), match.getEnd(), + "Search Results"); + i++; } if (ap.getSeqPanel().seqCanvas.getFeatureRenderer().amendFeatures(seqs, @@ -256,7 +267,7 @@ public class Finder extends GFinder searchResults = finder.getSearchResults(); // find(regex, // caseSensitive.isSelected(), ) - Vector idMatch = finder.getIdMatch(); + Vector idMatch = finder.getIdMatch(); boolean haveResults = false; // set or reset the GUI if ((idMatch.size() > 0)) @@ -286,9 +297,9 @@ public class Finder extends GFinder // 'SelectRegion' selection if (!haveResults) { - JOptionPane.showInternalMessageDialog(this, + JvOptionPane.showInternalMessageDialog(this, MessageManager.getString("label.finished_searching"), null, - JOptionPane.INFORMATION_MESSAGE); + JvOptionPane.INFORMATION_MESSAGE); resIndex = -1; seqIndex = 0; } @@ -308,8 +319,8 @@ public class Finder extends GFinder message += searchResults.getSize() + " subsequence matches found."; } - JOptionPane.showInternalMessageDialog(this, message, null, - JOptionPane.INFORMATION_MESSAGE); + JvOptionPane.showInternalMessageDialog(this, message, null, + JvOptionPane.INFORMATION_MESSAGE); resIndex = -1; seqIndex = 0; } @@ -331,9 +342,9 @@ public class Finder extends GFinder { return false; } - JOptionPane.showInternalMessageDialog(this, error, + JvOptionPane.showInternalMessageDialog(this, error, MessageManager.getString("label.invalid_search"), // $NON-NLS-1$ - JOptionPane.ERROR_MESSAGE); + JvOptionPane.ERROR_MESSAGE); return true; }