import java.awt.event.*;\r
\r
import jalview.datamodel.*;\r
-import jalview.jbappletgui.*;\r
\r
-public class Finder\r
- extends GFinder\r
+public class Finder extends Panel implements ActionListener\r
{\r
AlignViewport av;\r
AlignmentPanel ap;\r
int resIndex = 0;\r
public Finder(final AlignmentPanel ap)\r
{\r
+ try\r
+ {\r
+ jbInit();\r
+ }\r
+ catch (Exception e)\r
+ {\r
+ e.printStackTrace();\r
+ }\r
+\r
this.av = ap.av;\r
this.ap = ap;\r
frame = new Frame();\r
});\r
}\r
\r
- public void textfield_actionPerformed(ActionEvent e)\r
- {\r
- doSearch(false);\r
- }\r
-\r
- public void findNext_actionPerformed(ActionEvent e)\r
+ public void actionPerformed(ActionEvent evt)\r
{\r
- doSearch(false);\r
- }\r
+ if (evt.getSource() == textfield)\r
+ doSearch(false);\r
\r
- public void findAll_actionPerformed(ActionEvent e)\r
- {\r
- resIndex = 0;\r
- seqIndex = 0;\r
- doSearch(true);\r
- }\r
+ else if (evt.getSource() == findNext)\r
+ doSearch(false);\r
\r
- public void cancel_actionPerformed(ActionEvent e)\r
- {\r
- try\r
+ else if (evt.getSource() == findAll)\r
{\r
- // if allResults is null, this effectively switches displaySearch flag in seqCanvas\r
- ap.highlightSearchResults(null);\r
- ap.idPanel.highlightSearchResults(null);\r
- // frame.setClosed(true);\r
+ resIndex = 0;\r
+ seqIndex = 0;\r
+ doSearch(true);\r
}\r
- catch (Exception ex)\r
- {}\r
+ else if(evt.getSource() == createNewGroup)\r
+ createNewGroup_actionPerformed();\r
}\r
\r
- public void createNewGroup_actionPerformed(ActionEvent e)\r
+\r
+ public void createNewGroup_actionPerformed()\r
{\r
Color[] newColors = new Color[24];\r
for (int i = 0; i < 24; i++)\r
int res = Integer.parseInt(searchString);\r
found = true;\r
\r
- if (av.getSelectionGroup().getSize() > 0)\r
+ if (av.getSelectionGroup() == null || av.getSelectionGroup().getSize() < 1)\r
{\r
- seq = (Sequence) (av.getSelectionGroup().getSequenceAt(0));\r
+ seq = (Sequence) av.getAlignment().getSequenceAt(0);\r
}\r
else\r
{\r
- seq = (Sequence) av.getAlignment().getSequenceAt(0);\r
+ seq = (Sequence) (av.getSelectionGroup().getSequenceAt(0));\r
}\r
\r
searchResults.addElement(Integer.toString(av.getAlignment().findIndex(seq)));\r
- searchResults.addElement(Integer.toString(seq.findIndex(res) - 1));\r
- searchResults.addElement(Integer.toString(seq.findIndex(res) - 1));\r
+ searchResults.addElement(String.valueOf(res));\r
+ searchResults.addElement(String.valueOf(res));\r
\r
}\r
catch (NumberFormatException ex)\r
\r
r = resIndex;\r
}\r
+ else\r
+ break;\r
}\r
if (!found)\r
{\r
\r
}\r
\r
+ Label jLabel1 = new Label();\r
+ protected TextField textfield = new TextField();\r
+ protected Button findAll = new Button();\r
+ protected Button findNext = new Button();\r
+ Panel jPanel1 = new Panel();\r
+ GridLayout gridLayout1 = new GridLayout();\r
+ protected Button createNewGroup = new Button();\r
+\r
+\r
+ private void jbInit() throws Exception {\r
+ jLabel1.setFont(new java.awt.Font("Verdana", 0, 12));\r
+ jLabel1.setText("Find");\r
+ jLabel1.setBounds(new Rectangle(3, 30, 34, 15));\r
+ this.setLayout(null);\r
+ textfield.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
+ textfield.setText("");\r
+ textfield.setBounds(new Rectangle(40, 27, 133, 21));\r
+ textfield.addKeyListener(new java.awt.event.KeyAdapter() {\r
+ public void keyTyped(KeyEvent e) {\r
+ textfield_keyTyped(e);\r
+ }\r
+ });\r
+ textfield.addActionListener(this);\r
+ findAll.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
+ findAll.setLabel("Find all");\r
+ findAll.addActionListener(this);\r
+ findNext.setEnabled(false);\r
+ findNext.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
+ findNext.setLabel("Find Next");\r
+ findNext.addActionListener(this);\r
+ jPanel1.setBounds(new Rectangle(180, 5, 141, 64));\r
+ jPanel1.setLayout(gridLayout1);\r
+ gridLayout1.setHgap(0);\r
+ gridLayout1.setRows(3);\r
+ gridLayout1.setVgap(2);\r
+ createNewGroup.setEnabled(false);\r
+ createNewGroup.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
+ createNewGroup.setLabel("Create new group");\r
+ createNewGroup.addActionListener(this);\r
+ jPanel1.add(findNext, null);\r
+ jPanel1.add(findAll, null);\r
+ jPanel1.add(createNewGroup, null);\r
+ this.add(textfield, null);\r
+ this.add(jLabel1, null);\r
+ this.add(jPanel1, null);\r
+ }\r
+\r
+ void textfield_keyTyped(KeyEvent e) {\r
+ findNext.setEnabled(true);\r
+ }\r
+\r
}\r