X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAnnotationColumnChooser.java;h=206b132b58534e51a5772ed7719aa048717fd38a;hb=aa96618cbd41b40e2377f3f1f105aea90a5a86e0;hp=bb67efce0fdafcff6e2fa5b1d5f204d55a8c9445;hpb=fd8dc2879b13709703b57dd7ed4b3754b253e12f;p=jalview.git diff --git a/src/jalview/appletgui/AnnotationColumnChooser.java b/src/jalview/appletgui/AnnotationColumnChooser.java index bb67efc..206b132 100644 --- a/src/jalview/appletgui/AnnotationColumnChooser.java +++ b/src/jalview/appletgui/AnnotationColumnChooser.java @@ -46,7 +46,6 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.TextEvent; import java.awt.event.TextListener; -import java.util.ArrayList; import java.util.Vector; //import javax.swing.JPanel; @@ -172,16 +171,12 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements // restore Object state from the previous session if one exists if (lastChooser != null) { - currentSearchPanel = lastChooser - .getCurrentSearchPanel(); + currentSearchPanel = lastChooser.getCurrentSearchPanel(); currentStructureFilterPanel = lastChooser .getCurrentStructureFilterPanel(); - annotations.select(lastChooser - .getAnnotations().getSelectedIndex()); - threshold.select(lastChooser - .getThreshold().getSelectedIndex()); - actionOption = lastChooser - .getActionOption(); + annotations.select(lastChooser.getAnnotations().getSelectedIndex()); + threshold.select(lastChooser.getThreshold().getSelectedIndex()); + actionOption = lastChooser.getActionOption(); percentThreshold.setState(lastChooser.percentThreshold.getState()); } @@ -295,22 +290,12 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements if (av.getAnnotationColumnSelectionState() != null) { - HiddenColumns oldHidden = av - .getAnnotationColumnSelectionState() + HiddenColumns oldHidden = av.getAnnotationColumnSelectionState() .getOldHiddenColumns(); - if (oldHidden != null) - { - ArrayList regions = oldHidden.getHiddenColumnsCopyAsList(); - for (int[] positions : regions) - { - av.hideColumns(positions[0], positions[1]); - } - } - // TODO not clear why we need to hide all the columns (above) if we are - // going to copy the hidden columns over wholesale anyway av.getAlignment().setHiddenColumns(oldHidden); } - ap.paintAlignment(true); + av.sendSelection(); + ap.paintAlignment(true, true); } } @@ -352,7 +337,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements sliderDragging = false; valueChanged(true); } - ap.paintAlignment(true); + ap.paintAlignment(true, true); } }); } @@ -363,8 +348,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements if (slider.isEnabled()) { getCurrentAnnotation().threshold.value = slider.getValue() / 1000f; - updateView(); - ap.paintAlignment(false); + updateView(); // this also calls paintAlignment(true,true) } } @@ -398,11 +382,11 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } AnnotationFilterParameter filterParams = new AnnotationFilterParameter(); - setCurrentAnnotation(av.getAlignment().getAlignmentAnnotation()[getAnnotations() - .getSelectedIndex()]); + setCurrentAnnotation(av.getAlignment() + .getAlignmentAnnotation()[getAnnotations().getSelectedIndex()]); - int selectedThresholdItem = getSelectedThresholdItem(getThreshold() - .getSelectedIndex()); + int selectedThresholdItem = getSelectedThresholdItem( + getThreshold().getSelectedIndex()); slider.setEnabled(true); thresholdValue.setEnabled(true); @@ -420,20 +404,20 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements { if (getCurrentAnnotation().threshold == null) { - getCurrentAnnotation() - .setThreshold( - new jalview.datamodel.GraphLine( - (getCurrentAnnotation().graphMax - getCurrentAnnotation().graphMin) / 2f, - "Threshold", Color.black)); + getCurrentAnnotation().setThreshold(new jalview.datamodel.GraphLine( + (getCurrentAnnotation().graphMax + - getCurrentAnnotation().graphMin) / 2f, + "Threshold", Color.black)); } adjusting = true; - float range = getCurrentAnnotation().graphMax * 1000 - - getCurrentAnnotation().graphMin * 1000; + // float range = getCurrentAnnotation().graphMax * 1000 + // - getCurrentAnnotation().graphMin * 1000; slider.setMinimum((int) (getCurrentAnnotation().graphMin * 1000)); slider.setMaximum((int) (getCurrentAnnotation().graphMax * 1000)); - slider.setValue((int) (getCurrentAnnotation().threshold.value * 1000)); + slider.setValue( + (int) (getCurrentAnnotation().threshold.value * 1000)); setThresholdValueText(); // slider.setMajorTickSpacing((int) (range / 10f)); slider.setEnabled(true); @@ -442,8 +426,8 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements adjusting = false; // build filter params - filterParams - .setThresholdType(AnnotationFilterParameter.ThresholdType.NO_THRESHOLD); + filterParams.setThresholdType( + AnnotationFilterParameter.ThresholdType.NO_THRESHOLD); if (getCurrentAnnotation().isQuantitative()) { filterParams @@ -451,13 +435,13 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements if (selectedThresholdItem == AnnotationColourGradient.ABOVE_THRESHOLD) { - filterParams - .setThresholdType(AnnotationFilterParameter.ThresholdType.ABOVE_THRESHOLD); + filterParams.setThresholdType( + AnnotationFilterParameter.ThresholdType.ABOVE_THRESHOLD); } else if (selectedThresholdItem == AnnotationColourGradient.BELOW_THRESHOLD) { - filterParams - .setThresholdType(AnnotationFilterParameter.ThresholdType.BELOW_THRESHOLD); + filterParams.setThresholdType( + AnnotationFilterParameter.ThresholdType.BELOW_THRESHOLD); } } } @@ -488,13 +472,13 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements filterParams.setRegexString(currentSearchPanel.searchBox.getText()); if (currentSearchPanel.displayName.getState()) { - filterParams - .addRegexSearchField(AnnotationFilterParameter.SearchableAnnotationField.DISPLAY_STRING); + filterParams.addRegexSearchField( + AnnotationFilterParameter.SearchableAnnotationField.DISPLAY_STRING); } if (currentSearchPanel.description.getState()) { - filterParams - .addRegexSearchField(AnnotationFilterParameter.SearchableAnnotationField.DESCRIPTION); + filterParams.addRegexSearchField( + AnnotationFilterParameter.SearchableAnnotationField.DESCRIPTION); } } else @@ -504,10 +488,13 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } } + // show hidden columns here, before changing the column selection in + // filterAnnotations, because showing hidden columns has the side effect of + // adding them to the selection + av.showAllHiddenColumns(); av.getColumnSelection().filterAnnotations( getCurrentAnnotation().annotations, filterParams); - av.showAllHiddenColumns(); if (getActionOption() == ACTION_OPTION_HIDE) { av.hideSelectedColumns(); @@ -515,7 +502,8 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements filterParams = null; av.setAnnotationColumnSelectionState(this); - ap.paintAlignment(true); + av.sendSelection(); + ap.paintAlignment(true, true); } public HiddenColumns getOldHiddenColumns() @@ -637,7 +625,8 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements public void syncState() { - if (aColChooser.getActionOption() == AnnotationColumnChooser.ACTION_OPTION_HIDE) + if (aColChooser + .getActionOption() == AnnotationColumnChooser.ACTION_OPTION_HIDE) { furtherAction.select("Hide"); } @@ -665,8 +654,8 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } } - public class StructureFilterPanel extends TitledPanel implements - ItemListener + public class StructureFilterPanel extends TitledPanel + implements ItemListener { private AnnotationColumnChooser aColChooser;