@Override public void actionPerformed(ActionEvent e) { Object src = e.getSource(); if (src == thresholdCombo) { PeakThresholdMode mode = (PeakThresholdMode) this.thresholdCombo.getSelectedItem(); switch (mode) { case ABOVE_INTENSITY_PEAKS: peakTextField.setText(String.valueOf(thresholdSettings.getIntensityThreshold())); peakTextField.setEnabled(true); break; case ALL_PEAKS: peakTextField.setEnabled(false); break; case TOP_PEAKS: case TOP_PEAKS_AREA: peakTextField.setText(String.valueOf(thresholdSettings.getTopPeaksThreshold())); peakTextField.setEnabled(true); break; } thresholdSettings.setMode(mode); } if (src == peakTextField) { PeakThresholdMode mode = (PeakThresholdMode) this.thresholdCombo.getSelectedItem(); String value = peakTextField.getText(); switch (mode) { case ABOVE_INTENSITY_PEAKS: double topInt = Double.parseDouble(value); thresholdSettings.setIntensityThreshold(topInt); break; case TOP_PEAKS: case TOP_PEAKS_AREA: int topPeaks = Integer.parseInt(value); thresholdSettings.setTopPeaksThreshold(topPeaks); break; default: break; } } PeakList selectedPeakList = getPeaksInThreshold(); if (selectedPeakList != null) masterFrame.getPlot().loadPeakList(selectedPeakList); }
/** * Returns a peak list different peaks depending on the selected option of the "peak Threshold" * combo box */ PeakList getPeaksInThreshold() { PeakList selectedPeakList = (PeakList) peakListSelector.getSelectedItem(); PeakThresholdMode mode = (PeakThresholdMode) thresholdCombo.getSelectedItem(); switch (mode) { case ABOVE_INTENSITY_PEAKS: double threshold = thresholdSettings.getIntensityThreshold(); return getIntensityThresholdPeakList(threshold); case ALL_PEAKS: return selectedPeakList; case TOP_PEAKS: case TOP_PEAKS_AREA: int topPeaks = thresholdSettings.getTopPeaksThreshold(); return getTopThresholdPeakList(topPeaks); } return null; }
MsMsBottomPanel(MsMsVisualizerWindow masterFrame, RawDataFile dataFile, ParameterSet parameters) { this.dataFile = dataFile; this.masterFrame = masterFrame; setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); setBackground(Color.white); setBorder(new EmptyBorder(5, 5, 5, 0)); add(Box.createHorizontalGlue()); GUIUtils.addLabel(this, "Show: ", SwingConstants.RIGHT); thresholdCombo = new JComboBox<Object>(PeakThresholdMode.values()); thresholdCombo.setSelectedItem(PeakThresholdMode.NONE); thresholdCombo.setBackground(Color.white); thresholdCombo.setFont(smallFont); thresholdCombo.addActionListener(this); add(thresholdCombo); JPanel peakThresholdPanel = new JPanel(); peakThresholdPanel.setBackground(Color.white); peakThresholdPanel.setLayout(new BoxLayout(peakThresholdPanel, BoxLayout.X_AXIS)); GUIUtils.addLabel(peakThresholdPanel, "Value: ", SwingConstants.RIGHT); peakTextField = new JTextField(); peakTextField.setPreferredSize(new Dimension(50, 15)); peakTextField.setFont(smallFont); peakTextField.addActionListener(this); peakThresholdPanel.add(peakTextField); add(peakThresholdPanel); GUIUtils.addLabel(this, " from peak list: ", SwingConstants.RIGHT); peakListSelector = new JComboBox<PeakList>(); peakListSelector.setBackground(Color.white); peakListSelector.setFont(smallFont); peakListSelector.addActionListener(masterFrame); peakListSelector.setActionCommand("PEAKLIST_CHANGE"); add(peakListSelector); thresholdSettings = parameters.getParameter(MsMsParameters.peakThresholdSettings); thresholdCombo.setSelectedItem(thresholdSettings.getMode()); add(Box.createHorizontalStrut(10)); add(Box.createHorizontalGlue()); }