Search in sources :

Example 1 with LipidModificationChoiceComponent

use of net.sf.mzmine.parameters.parametertypes.LipidModificationChoiceComponent in project mzmine2 by mzmine.

the class AddLipidModificationAction method actionPerformed.

@Override
public void actionPerformed(final ActionEvent e) {
    // Parent component.
    final LipidModificationChoiceComponent parent = (LipidModificationChoiceComponent) SwingUtilities.getAncestorOfClass(LipidModificationChoiceComponent.class, (Component) e.getSource());
    if (parent != null) {
        // Show dialog.
        final ParameterSet parameters = new AddLipidModificationParameters();
        if (parameters.showSetupDialog(MZmineCore.getDesktop().getMainWindow(), true) == ExitCode.OK) {
            // Create new lipid modification
            lipidModification = new LipidModification(parameters.getParameter(AddLipidModificationParameters.lipidModification).getValue(), parameters.getParameter(AddLipidModificationParameters.lipidModificationLabel).getValue());
            // Add to list of choices (if not already present).
            final Collection<LipidModification> choices = new ArrayList<LipidModification>(Arrays.asList((LipidModification[]) parent.getChoices()));
            if (!choices.contains(lipidModification)) {
                choices.add(lipidModification);
                parent.setChoices(choices.toArray(new LipidModification[choices.size()]));
            }
        }
    }
}
Also used : ParameterSet(net.sf.mzmine.parameters.ParameterSet) SimpleParameterSet(net.sf.mzmine.parameters.impl.SimpleParameterSet) LipidModificationChoiceComponent(net.sf.mzmine.parameters.parametertypes.LipidModificationChoiceComponent) ArrayList(java.util.ArrayList) LipidModificationChoiceComponent(net.sf.mzmine.parameters.parametertypes.LipidModificationChoiceComponent) Component(java.awt.Component)

Example 2 with LipidModificationChoiceComponent

use of net.sf.mzmine.parameters.parametertypes.LipidModificationChoiceComponent in project mzmine2 by mzmine.

the class ImportLipidModificationsAction method actionPerformed.

@Override
public void actionPerformed(final ActionEvent e) {
    // Parent component.
    final LipidModificationChoiceComponent parent = (LipidModificationChoiceComponent) SwingUtilities.getAncestorOfClass(LipidModificationChoiceComponent.class, (Component) e.getSource());
    if (parent != null) {
        // Create the chooser if necessary.
        if (chooser == null) {
            chooser = new LoadSaveFileChooser("Select lipid modification file");
            chooser.addChoosableFileFilter(new FileNameExtensionFilter("Comma-separated values files", FILENAME_EXTENSION));
        }
        // Select a file.
        final File file = chooser.getLoadFile(parent);
        if (file != null) {
            // Read the CSV file into a string array.
            String[][] csvLines = null;
            try {
                csvLines = CSVParser.parse(new FileReader(file));
            } catch (IOException ex) {
                final Window window = (Window) SwingUtilities.getAncestorOfClass(Window.class, (Component) e.getSource());
                final String msg = "There was a problem reading the lipid modification file.";
                MZmineCore.getDesktop().displayErrorMessage(window, "I/O Error", msg + "\n(" + ex.getMessage() + ')');
                LOG.log(Level.SEVERE, msg, ex);
            }
            // Read the lipid modifications data.
            if (csvLines != null) {
                // Load adducts from CSV data into parent choices.
                parent.setChoices(loadLipidModificationsIntoChoices(csvLines, (LipidModification[]) parent.getChoices()));
            }
        }
    }
}
Also used : Window(java.awt.Window) LoadSaveFileChooser(net.sf.mzmine.util.dialogs.LoadSaveFileChooser) LipidModificationChoiceComponent(net.sf.mzmine.parameters.parametertypes.LipidModificationChoiceComponent) FileReader(java.io.FileReader) IOException(java.io.IOException) LipidModificationChoiceComponent(net.sf.mzmine.parameters.parametertypes.LipidModificationChoiceComponent) Component(java.awt.Component) FileNameExtensionFilter(javax.swing.filechooser.FileNameExtensionFilter) File(java.io.File)

Example 3 with LipidModificationChoiceComponent

use of net.sf.mzmine.parameters.parametertypes.LipidModificationChoiceComponent in project mzmine2 by mzmine.

the class ExportLipidModificationsAction method actionPerformed.

@Override
public void actionPerformed(final ActionEvent e) {
    // Parent component.
    final LipidModificationChoiceComponent parent = (LipidModificationChoiceComponent) SwingUtilities.getAncestorOfClass(LipidModificationChoiceComponent.class, (Component) e.getSource());
    if (parent != null) {
        // Create the chooser if necessary.
        if (chooser == null) {
            chooser = new LoadSaveFileChooser("Select lipid modifications File");
            chooser.addChoosableFileFilter(new FileNameExtensionFilter("Comma-separated values files", FILENAME_EXTENSION));
        }
        // Choose the file.
        final File file = chooser.getSaveFile(parent, FILENAME_EXTENSION);
        if (file != null) {
            // Export the modifications.
            try {
                exportLipidModificationsToFile(file, (LipidModification[]) parent.getChoices());
            } catch (IOException ex) {
                final Window window = (Window) SwingUtilities.getAncestorOfClass(Window.class, (Component) e.getSource());
                final String msg = "There was a problem writing the lipid modifications file.";
                MZmineCore.getDesktop().displayErrorMessage(window, "I/O Error", msg + "\n(" + ex.getMessage() + ')');
                LOG.log(Level.SEVERE, msg, ex);
            }
        }
    }
}
Also used : Window(java.awt.Window) LoadSaveFileChooser(net.sf.mzmine.util.dialogs.LoadSaveFileChooser) LipidModificationChoiceComponent(net.sf.mzmine.parameters.parametertypes.LipidModificationChoiceComponent) IOException(java.io.IOException) LipidModificationChoiceComponent(net.sf.mzmine.parameters.parametertypes.LipidModificationChoiceComponent) Component(java.awt.Component) FileNameExtensionFilter(javax.swing.filechooser.FileNameExtensionFilter) File(java.io.File)

Aggregations

Component (java.awt.Component)3 LipidModificationChoiceComponent (net.sf.mzmine.parameters.parametertypes.LipidModificationChoiceComponent)3 Window (java.awt.Window)2 File (java.io.File)2 IOException (java.io.IOException)2 FileNameExtensionFilter (javax.swing.filechooser.FileNameExtensionFilter)2 LoadSaveFileChooser (net.sf.mzmine.util.dialogs.LoadSaveFileChooser)2 FileReader (java.io.FileReader)1 ArrayList (java.util.ArrayList)1 ParameterSet (net.sf.mzmine.parameters.ParameterSet)1 SimpleParameterSet (net.sf.mzmine.parameters.impl.SimpleParameterSet)1