X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAnnotationColumnChooser.java;h=96299e7ce9a405bac8d704cdfa89ab7fd1c76da0;hb=e4fe46502d641a228ee4877d2a5a8443eb75f189;hp=31b5b642ffca9a3f2203b76c75346cfb35110174;hpb=ca5a59c203b85a6c0f26c3d52d7827c5fa9fa4c5;p=jalview.git diff --git a/src/jalview/gui/AnnotationColumnChooser.java b/src/jalview/gui/AnnotationColumnChooser.java index 31b5b64..96299e7 100644 --- a/src/jalview/gui/AnnotationColumnChooser.java +++ b/src/jalview/gui/AnnotationColumnChooser.java @@ -1,10 +1,30 @@ +/* + * 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.api.analysis.AnnotationFilterParameter; -import jalview.datamodel.AlignmentAnnotation; -import jalview.datamodel.ColumnSelection; +import jalview.datamodel.HiddenColumns; import jalview.schemes.AnnotationColourGradient; import jalview.util.MessageManager; +import jalview.viewmodel.annotationfilter.AnnotationFilterParameter; import java.awt.BorderLayout; import java.awt.CardLayout; @@ -17,11 +37,9 @@ 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; -import javax.swing.JLabel; import javax.swing.JLayeredPane; import javax.swing.JPanel; import javax.swing.JRadioButton; @@ -36,34 +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 JLabel annotationLabel = new JLabel(); - - private BorderLayout borderLayout1 = new BorderLayout(); - - private JComboBox threshold = new JComboBox(); - private StructureFilterPanel gStructureFilterPanel; private StructureFilterPanel ngStructureFilterPanel; @@ -92,18 +86,11 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements private int actionOption = ACTION_OPTION_SELECT; - private ColumnSelection oldColumnSelection; + private HiddenColumns oldHiddenColumns; - public AnnotationColumnChooser() - { - try - { - jbInit(); - } catch (Exception ex) - { - ex.printStackTrace(); - } - } + protected int MIN_WIDTH = 420; + + protected int MIN_HEIGHT = 430; public AnnotationColumnChooser(AlignViewport av, final AlignmentPanel ap) { @@ -114,6 +101,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements Desktop.addInternalFrame(frame, MessageManager.getString("label.select_by_annotation"), 520, 215); + frame.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT)); addSliderChangeListener(); addSliderMouseListeners(); @@ -122,25 +110,28 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements { return; } - setOldColumnSelection(av.getColumnSelection()); + setOldHiddenColumns(av.getAlignment().getHiddenColumns()); adjusting = true; setAnnotations(new JComboBox(getAnnotationItems(false))); populateThresholdComboBox(threshold); - + AnnotationColumnChooser lastChooser = av + .getAnnotationColumnSelectionState(); // restore Object state from the previous session if one exists - if (av.getAnnotationColumnSelectionState() != null) + if (lastChooser != null) { - currentSearchPanel = av.getAnnotationColumnSelectionState() + currentSearchPanel = lastChooser .getCurrentSearchPanel(); - currentStructureFilterPanel = av.getAnnotationColumnSelectionState() + currentStructureFilterPanel = lastChooser .getCurrentStructureFilterPanel(); - annotations.setSelectedIndex(av.getAnnotationColumnSelectionState() + annotations.setSelectedIndex(lastChooser .getAnnotations().getSelectedIndex()); - threshold.setSelectedIndex(av.getAnnotationColumnSelectionState() + threshold.setSelectedIndex(lastChooser .getThreshold().getSelectedIndex()); - actionOption = av.getAnnotationColumnSelectionState() + actionOption = lastChooser .getActionOption(); + percentThreshold.setSelected(lastChooser.percentThreshold + .isSelected()); } try @@ -156,75 +147,33 @@ 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); - } - }); + super.jbInit(); - 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)); - - annotationLabel.setBackground(Color.white); - annotationLabel.setFont(JvSwingUtils.getLabelFont()); - annotationLabel.setText("Select Annotation : "); - - thresholdPanel.setBorder(new TitledBorder("Threshold Filter")); + 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]", "[][]")); + percentThreshold.setBackground(Color.white); + percentThreshold.setFont(JvSwingUtils.getLabelFont()); + + 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); + annotationComboBoxPanel.setBackground(Color.white); annotationComboBoxPanel.setFont(JvSwingUtils.getLabelFont()); @@ -236,8 +185,9 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements ngStructureFilterPanel = new StructureFilterPanel(this); thresholdPanel.add(getThreshold()); - thresholdPanel.add(thresholdValue, "wrap"); - thresholdPanel.add(slider, "grow, span, wrap"); + thresholdPanel.add(percentThreshold, "wrap"); + thresholdPanel.add(slider, "grow"); + thresholdPanel.add(thresholdValue, "span, wrap"); actionPanel.add(ok); actionPanel.add(cancel); @@ -257,44 +207,62 @@ 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) + if (this.getOldHiddenColumns() != null) { av.getColumnSelection().clear(); if (av.getAnnotationColumnSelectionState() != null) { - ColumnSelection oldSelection = av + HiddenColumns oldHidden = av .getAnnotationColumnSelectionState() - .getOldColumnSelection(); - if (oldSelection != null && oldSelection.getHiddenColumns() != null - && !oldSelection.getHiddenColumns().isEmpty()) + .getOldHiddenColumns(); + if (oldHidden != null && oldHidden.getHiddenRegions() != null + && !oldHidden.getHiddenRegions().isEmpty()) { - for (Iterator itr = oldSelection.getHiddenColumns() + for (Iterator itr = oldHidden.getHiddenRegions() .iterator(); itr.hasNext();) { int positions[] = itr.next(); av.hideColumns(positions[0], positions[1]); } } - av.setColumnSelection(oldSelection); + av.getAlignment().setHiddenColumns(oldHidden); } ap.paintAlignment(true); } } + @Override public void valueChanged(boolean updateAllAnnotation) { if (slider.isEnabled()) @@ -307,26 +275,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() { @@ -346,12 +294,14 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements slider.setEnabled(true); thresholdValue.setEnabled(true); + percentThreshold.setEnabled(true); if (selectedThresholdItem == AnnotationColourGradient.NO_THRESHOLD) { slider.setEnabled(false); thresholdValue.setEnabled(false); thresholdValue.setText(""); + percentThreshold.setEnabled(false); // build filter params } else if (selectedThresholdItem != AnnotationColourGradient.NO_THRESHOLD) @@ -372,7 +322,9 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements slider.setMinimum((int) (getCurrentAnnotation().graphMin * 1000)); slider.setMaximum((int) (getCurrentAnnotation().graphMax * 1000)); slider.setValue((int) (getCurrentAnnotation().threshold.value * 1000)); - thresholdValue.setText(getCurrentAnnotation().threshold.value + ""); + + setThresholdValueText(); + slider.setMajorTickSpacing((int) (range / 10f)); slider.setEnabled(true); thresholdValue.setEnabled(true); @@ -381,8 +333,10 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements // build filter params filterParams .setThresholdType(AnnotationFilterParameter.ThresholdType.NO_THRESHOLD); - if (getCurrentAnnotation().graph != AlignmentAnnotation.NO_GRAPH) + if (getCurrentAnnotation().isQuantitative()) { + filterParams + .setThresholdValue(getCurrentAnnotation().threshold.value); if (selectedThresholdItem == AnnotationColourGradient.ABOVE_THRESHOLD) { @@ -397,17 +351,18 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } } + updateThresholdPanelToolTip(); if (currentStructureFilterPanel != null) { - if (currentStructureFilterPanel.getAlphaHelix().isSelected()) + if (currentStructureFilterPanel.alphaHelix.isSelected()) { filterParams.setFilterAlphaHelix(true); } - if (currentStructureFilterPanel.getBetaStrand().isSelected()) + if (currentStructureFilterPanel.betaStrand.isSelected()) { filterParams.setFilterBetaSheet(true); } - if (currentStructureFilterPanel.getTurn().isSelected()) + if (currentStructureFilterPanel.turn.isSelected()) { filterParams.setFilterTurn(true); } @@ -415,17 +370,18 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements if (currentSearchPanel != null) { - if (!currentSearchPanel.getSearchString().isEmpty()) + + if (!currentSearchPanel.searchBox.getText().isEmpty()) { - currentSearchPanel.getDescription().setEnabled(true); - currentSearchPanel.getDisplayName().setEnabled(true); - filterParams.setRegexString(currentSearchPanel.getSearchString()); - if (currentSearchPanel.isDisplayNameChecked()) + currentSearchPanel.description.setEnabled(true); + currentSearchPanel.displayName.setEnabled(true); + filterParams.setRegexString(currentSearchPanel.searchBox.getText()); + if (currentSearchPanel.displayName.isSelected()) { filterParams .addRegexSearchField(AnnotationFilterParameter.SearchableAnnotationField.DISPLAY_STRING); } - if (currentSearchPanel.isDescriptionChecked()) + if (currentSearchPanel.description.isSelected()) { filterParams .addRegexSearchField(AnnotationFilterParameter.SearchableAnnotationField.DESCRIPTION); @@ -433,13 +389,13 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } else { - currentSearchPanel.getDescription().setEnabled(false); - currentSearchPanel.getDisplayName().setEnabled(false); + currentSearchPanel.description.setEnabled(false); + currentSearchPanel.displayName.setEnabled(false); } } - filterAnnotations(getCurrentAnnotation().annotations, filterParams, - av.getColumnSelection()); + av.getColumnSelection().filterAnnotations( + getCurrentAnnotation().annotations, filterParams); av.showAllHiddenColumns(); if (getActionOption() == ACTION_OPTION_HIDE) @@ -452,19 +408,61 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements ap.paintAlignment(true); } - public ColumnSelection getOldColumnSelection() + public HiddenColumns getOldHiddenColumns() { - return oldColumnSelection; + return oldHiddenColumns; } - public void setOldColumnSelection(ColumnSelection currentColumnSelection) + public void setOldHiddenColumns(HiddenColumns currentHiddenColumns) { - if (currentColumnSelection != null) + if (currentHiddenColumns != null) { - this.oldColumnSelection = new ColumnSelection(currentColumnSelection); + this.oldHiddenColumns = new HiddenColumns(currentHiddenColumns); } } + public FurtherActionPanel getCurrentFutherActionPanel() + { + return currentFurtherActionPanel; + } + + public void setCurrentFutherActionPanel( + FurtherActionPanel currentFutherActionPanel) + { + this.currentFurtherActionPanel = currentFutherActionPanel; + } + + public SearchPanel getCurrentSearchPanel() + { + return currentSearchPanel; + } + + public void setCurrentSearchPanel(SearchPanel currentSearchPanel) + { + this.currentSearchPanel = currentSearchPanel; + } + + public int getActionOption() + { + return actionOption; + } + + public void setActionOption(int actionOption) + { + this.actionOption = actionOption; + } + + public StructureFilterPanel getCurrentStructureFilterPanel() + { + return currentStructureFilterPanel; + } + + public void setCurrentStructureFilterPanel( + StructureFilterPanel currentStructureFilterPanel) + { + this.currentStructureFilterPanel = currentStructureFilterPanel; + } + public void select_action(ActionEvent actionEvent) { JRadioButton radioButton = (JRadioButton) actionEvent.getSource(); @@ -491,11 +489,13 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements selectedAnnotationChanged(); } + @Override public void selectedAnnotationChanged() { String currentView = AnnotationColumnChooser.NO_GRAPH_VIEW; - if (av.getAlignment().getAlignmentAnnotation()[annmap[getAnnotations() - .getSelectedIndex()]].graph != AlignmentAnnotation.NO_GRAPH) + if (av.getAlignment() + .getAlignmentAnnotation()[annmap[getAnnotations() + .getSelectedIndex()]].isQuantitative()) { currentView = AnnotationColumnChooser.GRAPH_VIEW; } @@ -508,52 +508,12 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements ngFurtherActionPanel.syncState(); ngStructureFilterPanel.syncState(); + CardLayout switchableViewsLayout = (CardLayout) switchableViewsPanel + .getLayout(); switchableViewsLayout.show(switchableViewsPanel, currentView); updateView(); } - public FurtherActionPanel getCurrentFutherActionPanel() - { - return currentFurtherActionPanel; - } - - public void setCurrentFutherActionPanel( - FurtherActionPanel currentFutherActionPanel) - { - this.currentFurtherActionPanel = currentFutherActionPanel; - } - - public SearchPanel getCurrentSearchPanel() - { - return currentSearchPanel; - } - - public void setCurrentSearchPanel(SearchPanel currentSearchPanel) - { - this.currentSearchPanel = currentSearchPanel; - } - - public int getActionOption() - { - return actionOption; - } - - public void setActionOption(int actionOption) - { - this.actionOption = actionOption; - } - - public StructureFilterPanel getCurrentStructureFilterPanel() - { - return currentStructureFilterPanel; - } - - public void setCurrentStructureFilterPanel( - StructureFilterPanel currentStructureFilterPanel) - { - this.currentStructureFilterPanel = currentStructureFilterPanel; - } - public class FurtherActionPanel extends JPanel { private AnnotationColumnChooser aColChooser; @@ -567,10 +527,8 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements public FurtherActionPanel(AnnotationColumnChooser aColChooser) { this.aColChooser = aColChooser; - getSelectOption().setBackground(Color.white); - getSelectOption().setFont(JvSwingUtils.getLabelFont()); - getSelectOption().setText("Select"); - getSelectOption().addActionListener(new ActionListener() + JvSwingUtils.jvInitComponent(selectOption, "action.select"); + selectOption.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent actionEvent) @@ -579,10 +537,8 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } }); - getHideOption().setBackground(Color.white); - getHideOption().setFont(JvSwingUtils.getLabelFont()); - getHideOption().setText("Hide"); - getHideOption().addActionListener(new ActionListener() + JvSwingUtils.jvInitComponent(hideOption, "action.hide"); + hideOption.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent actionEvent) @@ -591,16 +547,15 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } }); - getOptionsGroup().add(getSelectOption()); - getOptionsGroup().add(getHideOption()); - getOptionsGroup().setSelected(getSelectOption().getModel(), true); + optionsGroup.add(selectOption); + optionsGroup.add(hideOption); + optionsGroup.setSelected(selectOption.getModel(), true); - this.setBackground(Color.white); - this.setFont(JvSwingUtils.getLabelFont()); + JvSwingUtils.jvInitComponent(this); syncState(); - this.add(getSelectOption()); - this.add(getHideOption()); + this.add(selectOption); + this.add(hideOption); } public void selectRadioAction(ActionEvent actionEvent) @@ -615,47 +570,15 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements aColChooser.hide_action(actionEvent); } - public JRadioButton getHideOption() - { - return hideOption; - } - - public void setHideOption(JRadioButton hideOption) - { - this.hideOption = hideOption; - } - - public JRadioButton getSelectOption() - { - return selectOption; - } - - public void setSelectOption(JRadioButton selectOption) - { - this.selectOption = selectOption; - } - - public ButtonGroup getOptionsGroup() - { - return optionsGroup; - } - - public void setOptionsGroup(ButtonGroup optionsGroup) - { - this.optionsGroup = optionsGroup; - } - public void syncState() { if (aColChooser.getActionOption() == AnnotationColumnChooser.ACTION_OPTION_HIDE) { - this.getOptionsGroup().setSelected(this.getHideOption().getModel(), - true); + this.optionsGroup.setSelected(this.hideOption.getModel(), true); } else { - this.getOptionsGroup().setSelected( - this.getSelectOption().getModel(), true); + this.optionsGroup.setSelected(this.selectOption.getModel(), true); } } } @@ -676,9 +599,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements { this.aColChooser = aColChooser; - alphaHelix.setBackground(Color.white); - alphaHelix.setFont(JvSwingUtils.getLabelFont()); - alphaHelix.setText("Alpha Helix"); + JvSwingUtils.jvInitComponent(alphaHelix, "label.alpha_helix"); alphaHelix.addActionListener(new ActionListener() { @Override @@ -688,9 +609,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } }); - betaStrand.setBackground(Color.white); - betaStrand.setFont(JvSwingUtils.getLabelFont()); - betaStrand.setText("Beta Strand"); + JvSwingUtils.jvInitComponent(betaStrand, "label.beta_strand"); betaStrand.addActionListener(new ActionListener() { @Override @@ -700,9 +619,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } }); - turn.setBackground(Color.white); - turn.setFont(JvSwingUtils.getLabelFont()); - turn.setText("Turn"); + JvSwingUtils.jvInitComponent(turn, "label.turn"); turn.addActionListener(new ActionListener() { @Override @@ -712,9 +629,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } }); - all.setBackground(Color.white); - all.setFont(JvSwingUtils.getLabelFont()); - all.setText("Select all"); + JvSwingUtils.jvInitComponent(all, "label.select_all"); all.addActionListener(new ActionListener() { @Override @@ -724,9 +639,9 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } }); - this.setBorder(new TitledBorder("Structures Filter")); - this.setBackground(Color.white); - this.setFont(JvSwingUtils.getLabelFont()); + this.setBorder(new TitledBorder(MessageManager + .getString("label.structures_filter"))); + JvSwingUtils.jvInitComponent(this); this.add(all); this.add(alphaHelix); @@ -792,10 +707,10 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements .getCurrentStructureFilterPanel(); if (sfp != null) { - alphaHelix.setSelected(sfp.getAlphaHelix().isSelected()); - betaStrand.setSelected(sfp.getBetaStrand().isSelected()); - turn.setSelected(sfp.getTurn().isSelected()); - if (sfp.getAll().isSelected()) + alphaHelix.setSelected(sfp.alphaHelix.isSelected()); + betaStrand.setSelected(sfp.betaStrand.isSelected()); + turn.setSelected(sfp.turn.isSelected()); + if (sfp.all.isSelected()) { all.setSelected(true); alphaHelix.setSelected(true); @@ -805,47 +720,6 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } } - - public JCheckBox getAlphaHelix() - { - return alphaHelix; - } - - public void setAlphaHelix(JCheckBox alphaHelix) - { - this.alphaHelix = alphaHelix; - } - - public JCheckBox getBetaStrand() - { - return betaStrand; - } - - public void setBetaStrand(JCheckBox betaStrand) - { - this.betaStrand = betaStrand; - } - - public JCheckBox getTurn() - { - return turn; - } - - public void setTurn(JCheckBox turn) - { - this.turn = turn; - } - - public JCheckBox getAll() - { - return all; - } - - public void setAll(JCheckBox all) - { - this.all = all; - - } } public class SearchPanel extends JPanel @@ -858,45 +732,41 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements private JTextField searchBox = new JTextField(10); - private JCheckBox structuresFilter = new JCheckBox(); - public SearchPanel(AnnotationColumnChooser aColChooser) { this.aColChooser = aColChooser; - this.setBorder(new TitledBorder("Search Filter")); - this.setBackground(Color.white); - this.setFont(JvSwingUtils.getLabelFont()); - - getSearchBox().setBackground(Color.white); - getSearchBox().setFont(JvSwingUtils.getLabelFont()); - getSearchBox().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(); - } - }); - - getDisplayName().setBackground(Color.white); - getDisplayName().setFont(JvSwingUtils.getLabelFont()); - getDisplayName().setText("Display Name"); - getDisplayName().setEnabled(false); - getDisplayName().addActionListener(new ActionListener() + JvSwingUtils.jvInitComponent(this); + this.setBorder(new TitledBorder(MessageManager + .getString("label.search_filter"))); + + JvSwingUtils.jvInitComponent(searchBox); + 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() { @Override public void actionPerformed(ActionEvent actionEvent) @@ -905,11 +775,9 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements } }); - getDescription().setBackground(Color.white); - getDescription().setFont(JvSwingUtils.getLabelFont()); - getDescription().setText("Description"); - getDescription().setEnabled(false); - getDescription().addActionListener(new ActionListener() + JvSwingUtils.jvInitComponent(description, "label.description"); + description.setEnabled(false); + description.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent actionEvent) @@ -919,24 +787,9 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements }); syncState(); - this.add(getSearchBox()); - this.add(getDisplayName()); - this.add(getDescription()); - } - - public boolean isDescriptionChecked() - { - return getDescription().isSelected(); - } - - public boolean isDisplayNameChecked() - { - return getDisplayName().isSelected(); - } - - public String getSearchString() - { - return getSearchBox().getText(); + this.add(searchBox); + this.add(displayName); + this.add(description); } public void displayNameCheckboxAction() @@ -955,46 +808,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements { aColChooser.setCurrentSearchPanel(this); aColChooser.updateView(); - } - - public JCheckBox getDisplayName() - { - return displayName; - } - - public void setDisplayName(JCheckBox displayName) - { - this.displayName = displayName; - } - - public JCheckBox getDescription() - { - return description; - } - - public void setDescription(JCheckBox description) - { - this.description = description; - } - - public JTextField getSearchBox() - { - return searchBox; - } - - public void setSearchBox(JTextField searchBox) - { - this.searchBox = searchBox; - } - - public JCheckBox getStructuresFilter() - { - return structuresFilter; - } - - public void setStructuresFilter(JCheckBox structuresFilter) - { - this.structuresFilter = structuresFilter; + updateSearchPanelToolTips(); } public void syncState() @@ -1002,14 +816,31 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements SearchPanel sp = aColChooser.getCurrentSearchPanel(); if (sp != null) { - description.setEnabled(sp.getDescription().isEnabled()); - description.setSelected(sp.getDescription().isSelected()); + description.setEnabled(sp.description.isEnabled()); + description.setSelected(sp.description.isSelected()); - displayName.setEnabled(sp.getDisplayName().isEnabled()); - displayName.setSelected(sp.getDisplayName().isSelected()); + displayName.setEnabled(sp.displayName.isEnabled()); + displayName.setSelected(sp.displayName.isSelected()); - searchBox.setText(sp.getSearchBox().getText()); + 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); } }