JAL-1645 source formatting and organise imports
[jalview.git] / src / jalview / gui / AnnotationRowFilter.java
index ed59ef6..7b2fb36 100644 (file)
@@ -1,11 +1,6 @@
 package jalview.gui;
 
-import jalview.api.AnnotationRowFilterI;
 import jalview.datamodel.AlignmentAnnotation;
-import jalview.datamodel.Annotation;
-import jalview.datamodel.AnnotationFilterParameter;
-import jalview.datamodel.AnnotationFilterParameter.SearchableAnnotationField;
-import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.GraphLine;
 import jalview.datamodel.SequenceGroup;
 import jalview.schemes.AnnotationColourGradient;
@@ -14,9 +9,9 @@ import jalview.util.MessageManager;
 import java.awt.event.ActionEvent;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
-import java.util.List;
 import java.util.Vector;
 
+import javax.swing.JButton;
 import javax.swing.JCheckBox;
 import javax.swing.JComboBox;
 import javax.swing.JInternalFrame;
@@ -27,8 +22,7 @@ import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
 
 @SuppressWarnings("serial")
-public abstract class AnnotationRowFilter extends JPanel implements
-        AnnotationRowFilterI
+public abstract class AnnotationRowFilter extends JPanel
 {
   protected AlignViewport av;
 
@@ -57,6 +51,11 @@ public abstract class AnnotationRowFilter extends JPanel implements
   protected JTextField thresholdValue = new JTextField(20);
 
   protected JInternalFrame frame;
+
+  protected JButton ok = new JButton();
+
+  protected JButton cancel = new JButton();
+
   /**
    * enabled if the user is dragging the slider - try to keep updates to a
    * minimun
@@ -112,7 +111,6 @@ public abstract class AnnotationRowFilter extends JPanel implements
     });
   }
 
-
   public AnnotationRowFilter(AlignViewport av, final AlignmentPanel ap)
   {
     this.av = av;
@@ -124,7 +122,6 @@ public abstract class AnnotationRowFilter extends JPanel implements
 
   }
 
-  @Override
   public Vector<String> getAnnotationItems(boolean isSeqAssociated)
   {
     Vector<String> list = new Vector<String>();
@@ -185,7 +182,6 @@ public abstract class AnnotationRowFilter extends JPanel implements
 
   public void ok_actionPerformed(ActionEvent e)
   {
-    updateView();
     try
     {
       frame.setClosed(true);
@@ -366,89 +362,6 @@ public abstract class AnnotationRowFilter extends JPanel implements
     return false;
   }
 
-  protected boolean filterAnnotations(Annotation[] annotations,
-          AnnotationFilterParameter filterParams, ColumnSelection cs)
-  {
-    av.showAllHiddenColumns();
-    cs.clear();
-    int count = 0;
-    do
-    {
-      if (annotations[count] != null)
-      {
-
-        boolean itemMatched = false;
-
-        if (filterParams.getThresholdType() == AnnotationFilterParameter.ThresholdType.ABOVE_THRESHOLD
-                && annotations[count].value > currentAnnotation.threshold.value)
-        {
-          itemMatched = true;
-        }
-        if (filterParams.getThresholdType() == AnnotationFilterParameter.ThresholdType.BELOW_THRESHOLD
-                && annotations[count].value < currentAnnotation.threshold.value)
-        {
-          itemMatched = true;
-        }
-
-        if (filterParams.isFilterAlphaHelix()
-                && annotations[count].secondaryStructure == 'H')
-        {
-          itemMatched = true;
-        }
-
-        if (filterParams.isFilterBetaSheet()
-                && annotations[count].secondaryStructure == 'E')
-        {
-          itemMatched = true;
-        }
-
-        if (filterParams.isFilterTurn()
-                && annotations[count].secondaryStructure == 'S')
-        {
-          itemMatched = true;
-        }
-
-        String regexSearchString = filterParams.getRegexString();
-        if (regexSearchString != null
-                && !filterParams.getRegexSearchFields().isEmpty())
-        {
-          List<SearchableAnnotationField> fields = filterParams
-                  .getRegexSearchFields();
-          try
-          {
-            if (fields.contains(SearchableAnnotationField.DISPLAY_STRING)
-                    && annotations[count].displayCharacter
-                            .matches(regexSearchString))
-            {
-              itemMatched = true;
-            }
-          } catch (java.util.regex.PatternSyntaxException pse)
-          {
-            if (annotations[count].displayCharacter
-                    .equals(regexSearchString))
-            {
-              itemMatched = true;
-            }
-          }
-          if (fields.contains(SearchableAnnotationField.DESCRIPTION)
-                  && annotations[count].description != null
-                  && annotations[count].description
-                          .matches(regexSearchString))
-          {
-            itemMatched = true;
-          }
-        }
-
-        if (itemMatched)
-        {
-          cs.addElement(count);
-        }
-      }
-      count++;
-    } while (count < annotations.length);
-    return false;
-  }
-
   public jalview.datamodel.AlignmentAnnotation getCurrentAnnotation()
   {
     return currentAnnotation;
@@ -460,4 +373,9 @@ public abstract class AnnotationRowFilter extends JPanel implements
     this.currentAnnotation = currentAnnotation;
   }
 
+  public abstract void valueChanged(boolean updateAllAnnotation);
+
+  public abstract void updateView();
+
+  public abstract void reset();
 }