X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=cf6a901ec488015e62f8b67884740b7bccb97f81;hb=424f6f03e8fb5e40cceca09fc8ffd72b41e3a9e4;hp=2af53ea04399a3928e2c01dc2a7d19ee09cb6349;hpb=e94dbf72fe43a100b938e9ca60b9b1b1508a521f;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 2af53ea..cf6a901 100644 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -845,7 +845,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, showReverse.setVisible(nucleotide); showReverseComplement.setVisible(nucleotide); conservationMenuItem.setEnabled(!nucleotide); - modifyConservation.setEnabled(!nucleotide); + modifyConservation.setEnabled(!nucleotide + && conservationMenuItem.isSelected()); showGroupConservation.setEnabled(!nucleotide); showComplementMenuItem.setText(nucleotide ? MessageManager @@ -876,7 +877,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, padGapsMenuitem.setSelected(av.isPadGaps()); colourTextMenuItem.setSelected(av.isShowColourText()); abovePIDThreshold.setSelected(av.getAbovePIDThreshold()); + modifyPID.setEnabled(abovePIDThreshold.isSelected()); conservationMenuItem.setSelected(av.getConservationSelected()); + modifyConservation.setEnabled(conservationMenuItem.isSelected()); seqLimits.setSelected(av.getShowJVSuffix()); idRightAlign.setSelected(av.isRightAlignIds()); centreColumnLabelsMenuItem.setState(av.isCentreColumnLabels()); @@ -1251,8 +1254,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { FileFormatI format = fileFormat; cap.setText(new FormatAdapter(alignPanel, exportData.getSettings()) - .formatSequences(format, - exportData.getAlignment(), + .formatSequences(format, exportData.getAlignment(), exportData.getOmitHidden(), exportData.getStartEndPostions(), viewport.getColumnSelection())); @@ -1843,8 +1845,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } String output = new FormatAdapter().formatSequences(FileFormat.Fasta, - seqs, - omitHidden, null); + seqs, omitHidden, null); StringSelection ss = new StringSelection(output); @@ -3297,11 +3298,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, * colour scheme to all groups. If unchecked, groups may have their own * independent colour schemes. * + * @param selected */ @Override - protected void applyToAllGroups_actionPerformed() + public void applyToAllGroups_actionPerformed(boolean selected) { - viewport.setColourAppliesToAllGroups(applyToAllGroups.isSelected()); + viewport.setColourAppliesToAllGroups(selected); } /** @@ -3343,105 +3345,79 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (cs != null) { ColourMenuHelper.setColourSelected(colourMenu, cs.getSchemeName()); - // Make sure viewport is up to date w.r.t. any sliders - // ? not needed as handled by SliderPanel.valueChanged? -// if (viewport.getAbovePIDThreshold()) -// { - // int threshold = SliderPanel.setPIDSliderSource(alignPanel, cs, -// "Background"); - //todo is threshold held in viewport style or in colour scheme? -// viewport.setThreshold(threshold); - // } - // - // if (viewport.getConservationSelected()) - // { - // cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel, - // cs, "Background")); - // } } viewport.setGlobalColourScheme(cs); - if (viewport.getConservationSelected()) - { - int conservationInc = SliderPanel.getConservationValue(); - viewport.getViewportColourScheme() - .setConservationInc(conservationInc); - } alignPanel.paintAlignment(true); } /** - * DOCUMENT ME! - * - * @param e - * DOCUMENT ME! + * Show the PID threshold slider panel */ @Override protected void modifyPID_actionPerformed() { - if (viewport.getAbovePIDThreshold()) - { - SliderPanel.setPIDSliderSource(alignPanel, - viewport.getViewportColourScheme(), "Background"); - SliderPanel.showPIDSlider(); - } + SliderPanel.setPIDSliderSource(alignPanel, + viewport.getViewportColourScheme(), alignPanel.getViewName()); + SliderPanel.showPIDSlider(); } /** - * DOCUMENT ME! - * - * @param e - * DOCUMENT ME! + * Show the Conservation slider panel */ @Override protected void modifyConservation_actionPerformed() { - if (viewport.getConservationSelected() - && viewport.getGlobalColourScheme() != null) - { - SliderPanel.setConservationSlider(alignPanel, - viewport.getViewportColourScheme(), "Background"); - SliderPanel.showConservationSlider(); - } + SliderPanel.setConservationSlider(alignPanel, + viewport.getViewportColourScheme(), alignPanel.getViewName()); + SliderPanel.showConservationSlider(); } /** - * DOCUMENT ME! - * - * @param e - * DOCUMENT ME! + * Action on selecting or deselecting (Colour) By Conservation */ @Override - protected void conservationMenuItem_actionPerformed() + public void conservationMenuItem_actionPerformed(boolean selected) { - viewport.setConservationSelected(conservationMenuItem.isSelected()); - - viewport.setAbovePIDThreshold(false); - abovePIDThreshold.setSelected(false); + modifyConservation.setEnabled(selected); + viewport.setConservationSelected(selected); + viewport.getViewportColourScheme().setConservationApplied(selected); changeColour(viewport.getGlobalColourScheme()); - - modifyConservation_actionPerformed(); + if (selected) + { + modifyConservation_actionPerformed(); + } + else + { + SliderPanel.hideConservationSlider(); + } } /** - * DOCUMENT ME! - * - * @param e - * DOCUMENT ME! + * Action on selecting or deselecting (Colour) Above PID Threshold */ @Override - public void abovePIDThreshold_actionPerformed() + public void abovePIDThreshold_actionPerformed(boolean selected) { - viewport.setAbovePIDThreshold(abovePIDThreshold.isSelected()); - - conservationMenuItem.setSelected(false); - viewport.setConservationSelected(false); + modifyPID.setEnabled(selected); + viewport.setAbovePIDThreshold(selected); + if (!selected) + { + viewport.getViewportColourScheme().setThreshold(0, + viewport.isIgnoreGapsConsensus()); + } changeColour(viewport.getGlobalColourScheme()); - - modifyPID_actionPerformed(); + if (selected) + { + modifyPID_actionPerformed(); + } + else + { + SliderPanel.hidePIDSlider(); + } } /** @@ -4787,8 +4763,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } if (FileFormat.Jnet.equals(format)) { - JPredFile predictions = new JPredFile( - file, sourceType); + JPredFile predictions = new JPredFile(file, sourceType); new JnetAnnotationMaker(); JnetAnnotationMaker.add_annotation(predictions, viewport.getAlignment(), 0, false); @@ -4858,6 +4833,28 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } /* + * 'focus' any colour slider that is open to the selected viewport + */ + if (viewport.getConservationSelected()) + { + SliderPanel.setConservationSlider(alignPanel, + viewport.getViewportColourScheme(), alignPanel.getViewName()); + } + else + { + SliderPanel.hideConservationSlider(); + } + if (viewport.getAbovePIDThreshold()) + { + SliderPanel.setPIDSliderSource(alignPanel, + viewport.getViewportColourScheme(), alignPanel.getViewName()); + } + else + { + SliderPanel.hidePIDSlider(); + } + + /* * If there is a frame linked to this one in a SplitPane, switch it to the * same view tab index. No infinite recursion of calls should happen, since * tabSelectionChanged() should not get invoked on setting the selected