Dont add pdb format here
[jalview.git] / src / jalview / jbgui / GFinder.java
index 32d2f24..c3ed168 100755 (executable)
@@ -22,6 +22,9 @@ import java.awt.*;
 import java.awt.event.*;\r
 import javax.swing.*;\r
 import javax.swing.event.*;\r
+import jalview.io.FormatAdapter;\r
+import jalview.datamodel.SequenceI;\r
+import java.awt.BorderLayout;\r
 \r
 public class GFinder\r
     extends JPanel\r
@@ -39,8 +42,8 @@ public class GFinder
   JPanel jPanel3 = new JPanel();\r
   JPanel jPanel4 = new JPanel();\r
   BorderLayout borderLayout2 = new BorderLayout();\r
-  JPanel jPanel5 = new JPanel();\r
   JPanel jPanel6 = new JPanel();\r
+  protected JCheckBox caseSensitive = new JCheckBox();\r
   public GFinder()\r
   {\r
     try\r
@@ -86,7 +89,7 @@ public class GFinder
     createNewGroup.setFont(new java.awt.Font("Verdana", 0, 12));\r
     createNewGroup.setToolTipText("");\r
     createNewGroup.setMargin(new Insets(0, 0, 0, 0));\r
-    createNewGroup.setText("Create new group");\r
+    createNewGroup.setText("New Feature");\r
     createNewGroup.addActionListener(new java.awt.event.ActionListener()\r
     {\r
       public void actionPerformed(ActionEvent e)\r
@@ -115,6 +118,8 @@ public class GFinder
     jPanel4.setLayout(borderLayout2);\r
     jPanel2.setPreferredSize(new Dimension(10, 1));\r
     jPanel3.setPreferredSize(new Dimension(10, 1));\r
+    caseSensitive.setHorizontalAlignment(SwingConstants.LEFT);\r
+    caseSensitive.setText("Match Case");\r
     jPanel1.add(findNext, null);\r
     jPanel1.add(findAll, null);\r
     jPanel1.add(createNewGroup, null);\r
@@ -124,9 +129,9 @@ public class GFinder
     this.add(jPanel3, java.awt.BorderLayout.NORTH);\r
     this.add(jPanel4, java.awt.BorderLayout.CENTER);\r
     jPanel4.add(jScrollPane1, java.awt.BorderLayout.CENTER);\r
-    jPanel4.add(jPanel5, java.awt.BorderLayout.SOUTH);\r
-    jPanel4.add(jPanel6, java.awt.BorderLayout.NORTH);\r
     jScrollPane1.getViewport().add(textfield);\r
+    jPanel4.add(jPanel6, java.awt.BorderLayout.NORTH);\r
+    jPanel4.add(caseSensitive, java.awt.BorderLayout.SOUTH);\r
   }\r
 \r
   protected void findNext_actionPerformed(ActionEvent e)\r
@@ -155,17 +160,23 @@ public class GFinder
 \r
   public void textfield_caretUpdate(CaretEvent e)\r
   {\r
-    if (textfield.getText().indexOf("\t") > -1)\r
+    if (textfield.getText().indexOf(">") > -1)\r
     {\r
       SwingUtilities.invokeLater(new Runnable()\r
       {\r
         public void run()\r
         {\r
-          String text = textfield.getText();\r
-          text = text.substring(text.lastIndexOf("\t") + 1).trim();\r
-          text = jalview.analysis.AlignSeq.extractGaps(\r
-              jalview.util.Comparison.GapChars, text);\r
-          textfield.setText(text);\r
+          String str = textfield.getText();\r
+          SequenceI[] sequences = null;\r
+          try{sequences = new FormatAdapter().readFile(str, "Paste", "FASTA");}\r
+          catch(Exception ex){}\r
+          if(sequences!=null && sequences.length>0)\r
+          {\r
+            str = jalview.analysis.AlignSeq.extractGaps(\r
+                jalview.util.Comparison.GapChars, sequences[0].getSequence());\r
+\r
+            textfield.setText(str);\r
+          }\r
         }\r
       });\r
     }\r