Search in sources :

Example 1 with AdductsComponent

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

the class ImportAdductsAction method actionPerformed.

@Override
public void actionPerformed(final ActionEvent e) {
    // Parent component.
    final AdductsComponent parent = (AdductsComponent) SwingUtilities.getAncestorOfClass(AdductsComponent.class, (Component) e.getSource());
    if (parent != null) {
        // Create the chooser if necessary.
        if (chooser == null) {
            chooser = new LoadSaveFileChooser("Select Adducts 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 adducts file.";
                MZmineCore.getDesktop().displayErrorMessage(window, "I/O Error", msg + "\n(" + ex.getMessage() + ')');
                LOG.log(Level.SEVERE, msg, ex);
            }
            // Read the adducts data.
            if (csvLines != null) {
                // Load adducts from CSV data into parent choices.
                parent.setChoices(loadAdductsIntoChoices(csvLines, (AdductType[]) parent.getChoices()));
            }
        }
    }
}
Also used : Window(java.awt.Window) LoadSaveFileChooser(net.sf.mzmine.util.dialogs.LoadSaveFileChooser) AdductsComponent(net.sf.mzmine.parameters.parametertypes.AdductsComponent) FileReader(java.io.FileReader) IOException(java.io.IOException) AdductsComponent(net.sf.mzmine.parameters.parametertypes.AdductsComponent) Component(java.awt.Component) FileNameExtensionFilter(javax.swing.filechooser.FileNameExtensionFilter) File(java.io.File)

Example 2 with AdductsComponent

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

the class AddAdductsAction method actionPerformed.

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

Example 3 with AdductsComponent

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

the class ExportAdductsAction method actionPerformed.

@Override
public void actionPerformed(final ActionEvent e) {
    // Parent component.
    final AdductsComponent parent = (AdductsComponent) SwingUtilities.getAncestorOfClass(AdductsComponent.class, (Component) e.getSource());
    if (parent != null) {
        // Create the chooser if necessary.
        if (chooser == null) {
            chooser = new LoadSaveFileChooser("Select Adducts 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 adducts.
            try {
                exportAdductsToFile(file, (AdductType[]) 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 adducts 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) AdductsComponent(net.sf.mzmine.parameters.parametertypes.AdductsComponent) IOException(java.io.IOException) AdductsComponent(net.sf.mzmine.parameters.parametertypes.AdductsComponent) Component(java.awt.Component) FileNameExtensionFilter(javax.swing.filechooser.FileNameExtensionFilter) File(java.io.File)

Aggregations

Component (java.awt.Component)3 AdductsComponent (net.sf.mzmine.parameters.parametertypes.AdductsComponent)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