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;
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;
import javax.swing.event.ChangeListener;
@SuppressWarnings("serial")
-public abstract class AnnotationRowFilter extends JPanel implements
- AnnotationRowFilterI
+public abstract class AnnotationRowFilter extends JPanel
{
protected AlignViewport av;
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
}
- @Override
public Vector<String> getAnnotationItems(boolean isSeqAssociated)
{
Vector<String> list = new Vector<String>();
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()
{
this.currentAnnotation = currentAnnotation;
}
+ public abstract void valueChanged(boolean updateAllAnnotation);
+
+ public abstract void updateView();
+
+ public abstract void reset();
}