X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FAnnotationColumnChooser.java;h=637eb3089a12e2e6753c9c3cdd0c56a24bdbf5df;hb=a66859d7d906916f2310ad01cc065d6cfa2506f4;hp=9f3aa7b6da892a9534fa07c5e7ff1aedd8e4d433;hpb=95de746a08351b07696a0c455ef37d866c8104d2;p=jalview.git diff --git a/src/jalview/gui/AnnotationColumnChooser.java b/src/jalview/gui/AnnotationColumnChooser.java index 9f3aa7b..637eb30 100644 --- a/src/jalview/gui/AnnotationColumnChooser.java +++ b/src/jalview/gui/AnnotationColumnChooser.java @@ -1,6 +1,26 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ + package jalview.gui; -import jalview.controller.AlignViewController; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.ColumnSelection; import jalview.schemes.AnnotationColourGradient; @@ -10,7 +30,6 @@ import jalview.viewmodel.annotationfilter.AnnotationFilterParameter; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; -import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; @@ -18,7 +37,6 @@ import java.awt.event.ItemListener; import java.util.Iterator; import javax.swing.ButtonGroup; -import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JInternalFrame; @@ -36,32 +54,10 @@ import net.miginfocom.swing.MigLayout; public class AnnotationColumnChooser extends AnnotationRowFilter implements ItemListener { - - private JComboBox annotations; - - private JButton ok = new JButton(); - - private JButton cancel = new JButton(); - - private JPanel actionPanel = new JPanel(); - - private JPanel thresholdPanel = new JPanel(); - private JPanel switchableViewsPanel = new JPanel(new CardLayout()); - private CardLayout switchableViewsLayout = (CardLayout) (switchableViewsPanel - .getLayout()); - - private JPanel noGraphFilterView = new JPanel(); - - private JPanel graphFilterView = new JPanel(); - private JPanel annotationComboBoxPanel = new JPanel(); - private BorderLayout borderLayout1 = new BorderLayout(); - - private JComboBox threshold = new JComboBox(); - private StructureFilterPanel gStructureFilterPanel; private StructureFilterPanel ngStructureFilterPanel; @@ -92,17 +88,6 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements private ColumnSelection oldColumnSelection; - public AnnotationColumnChooser() - { - try - { - jbInit(); - } catch (Exception ex) - { - ex.printStackTrace(); - } - } - public AnnotationColumnChooser(AlignViewport av, final AlignmentPanel ap) { super(av, ap); @@ -154,70 +139,27 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements frame.pack(); } - private void jbInit() throws Exception + @Override + protected void jbInit() { - ok.setOpaque(false); - ok.setText(MessageManager.getString("action.ok")); - ok.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - ok_actionPerformed(e); - } - }); - - cancel.setOpaque(false); - cancel.setText(MessageManager.getString("action.cancel")); - cancel.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - cancel_actionPerformed(e); - } - }); - - annotations.addItemListener(this); - threshold.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - threshold_actionPerformed(e); - } - }); - - thresholdValue.setEnabled(false); - thresholdValue.setColumns(7); - thresholdValue.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - thresholdValue_actionPerformed(e); - } - }); - - slider.setPaintLabels(false); - slider.setPaintTicks(true); - slider.setBackground(Color.white); - slider.setEnabled(false); - slider.setOpaque(false); - slider.setPreferredSize(new Dimension(100, 32)); + super.jbInit(); + JPanel thresholdPanel = new JPanel(); thresholdPanel.setBorder(new TitledBorder(MessageManager .getString("label.threshold_filter"))); thresholdPanel.setBackground(Color.white); thresholdPanel.setFont(JvSwingUtils.getLabelFont()); thresholdPanel.setLayout(new MigLayout("", "[left][right]", "[][]")); + JPanel actionPanel = new JPanel(); actionPanel.setBackground(Color.white); actionPanel.setFont(JvSwingUtils.getLabelFont()); + JPanel graphFilterView = new JPanel(); graphFilterView.setLayout(new MigLayout("", "[left][right]", "[][]")); graphFilterView.setBackground(Color.white); + JPanel noGraphFilterView = new JPanel(); noGraphFilterView.setLayout(new MigLayout("", "[left][right]", "[][]")); noGraphFilterView.setBackground(Color.white); @@ -253,17 +195,34 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements switchableViewsPanel.add(graphFilterView, AnnotationColumnChooser.GRAPH_VIEW); - this.setLayout(borderLayout1); + this.setLayout(new BorderLayout()); this.add(annotationComboBoxPanel, java.awt.BorderLayout.PAGE_START); this.add(switchableViewsPanel, java.awt.BorderLayout.CENTER); this.add(actionPanel, java.awt.BorderLayout.SOUTH); selectedAnnotationChanged(); + updateThresholdPanelToolTip(); this.validate(); } - @SuppressWarnings("unchecked") - public void reset() + protected void updateThresholdPanelToolTip() + { + thresholdValue.setToolTipText(""); + slider.setToolTipText(""); + + String defaultTtip = MessageManager + .getString("info.change_threshold_mode_to_enable"); + + String thresh = getThreshold().getSelectedItem().toString(); + if (thresh.equalsIgnoreCase("No Threshold")) + { + thresholdValue.setToolTipText(defaultTtip); + slider.setToolTipText(defaultTtip); + } + } + + @Override + protected void reset() { if (this.getOldColumnSelection() != null) { @@ -291,6 +250,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } + @Override public void valueChanged(boolean updateAllAnnotation) { if (slider.isEnabled()) @@ -303,26 +263,6 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } } - public JComboBox getThreshold() - { - return threshold; - } - - public void setThreshold(JComboBox threshold) - { - this.threshold = threshold; - } - - public JComboBox getAnnotations() - { - return annotations; - } - - public void setAnnotations(JComboBox annotations) - { - this.annotations = annotations; - } - @Override public void updateView() { @@ -395,6 +335,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } } + updateThresholdPanelToolTip(); if (currentStructureFilterPanel != null) { if (currentStructureFilterPanel.alphaHelix.isSelected()) @@ -437,9 +378,8 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } } - AlignViewController.filterAnnotations( - getCurrentAnnotation().annotations, filterParams, - av.getColumnSelection()); + av.getColumnSelection().filterAnnotations( + getCurrentAnnotation().annotations, filterParams); av.showAllHiddenColumns(); if (getActionOption() == ACTION_OPTION_HIDE) @@ -533,6 +473,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements selectedAnnotationChanged(); } + @Override public void selectedAnnotationChanged() { String currentView = AnnotationColumnChooser.NO_GRAPH_VIEW; @@ -550,11 +491,12 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements ngFurtherActionPanel.syncState(); ngStructureFilterPanel.syncState(); + CardLayout switchableViewsLayout = (CardLayout) switchableViewsPanel + .getLayout(); switchableViewsLayout.show(switchableViewsPanel, currentView); updateView(); } - public class FurtherActionPanel extends JPanel { private AnnotationColumnChooser aColChooser; @@ -615,8 +557,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements { if (aColChooser.getActionOption() == AnnotationColumnChooser.ACTION_OPTION_HIDE) { - this.optionsGroup.setSelected(this.hideOption.getModel(), - true); + this.optionsGroup.setSelected(this.hideOption.getModel(), true); } else { @@ -783,29 +724,30 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements .getString("label.search_filter"))); JvSwingUtils.jvInitComponent(searchBox); - searchBox.getDocument().addDocumentListener( - new DocumentListener() - { - @Override - public void insertUpdate(DocumentEvent e) - { - searchStringAction(); - } - - @Override - public void removeUpdate(DocumentEvent e) - { - searchStringAction(); - } - - @Override - public void changedUpdate(DocumentEvent e) - { - searchStringAction(); - } - }); - - JvSwingUtils.jvInitComponent(displayName, "label.display_name"); + searchBox.setToolTipText(MessageManager + .getString("info.enter_search_text_here")); + searchBox.getDocument().addDocumentListener(new DocumentListener() + { + @Override + public void insertUpdate(DocumentEvent e) + { + searchStringAction(); + } + + @Override + public void removeUpdate(DocumentEvent e) + { + searchStringAction(); + } + + @Override + public void changedUpdate(DocumentEvent e) + { + searchStringAction(); + } + }); + + JvSwingUtils.jvInitComponent(displayName, "label.label"); displayName.setEnabled(false); displayName.addActionListener(new ActionListener() { @@ -849,6 +791,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements { aColChooser.setCurrentSearchPanel(this); aColChooser.updateView(); + updateSearchPanelToolTips(); } public void syncState() @@ -864,6 +807,23 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements searchBox.setText(sp.searchBox.getText()); } + updateSearchPanelToolTips(); + } + + public void updateSearchPanelToolTips() + { + String defaultTtip = MessageManager + .getString("info.enter_search_text_to_enable"); + String labelTtip = MessageManager.formatMessage( + "info.search_in_annotation_label", annotations + .getSelectedItem().toString()); + String descTtip = MessageManager.formatMessage( + "info.search_in_annotation_description", annotations + .getSelectedItem().toString()); + displayName.setToolTipText(displayName.isEnabled() ? labelTtip + : defaultTtip); + description.setToolTipText(description.isEnabled() ? descTtip + : defaultTtip); } }