001package jmri.jmrit.operations.rollingstock.engines.tools;
002
003import java.awt.event.ActionEvent;
004
005import javax.swing.AbstractAction;
006
007import jmri.InstanceManager;
008import jmri.jmrit.operations.rollingstock.engines.EngineManager;
009import jmri.jmrit.operations.rollingstock.engines.gui.EnginesTableFrame;
010import jmri.util.swing.JmriJOptionPane;
011
012/**
013 * This routine will reset the move count for all engines in the operation
014 * database.
015 *
016 * @author Dan Boudreau Copyright (C) 2012
017 */
018public class ResetEngineMovesAction extends AbstractAction {
019
020    EnginesTableFrame _enginesTableFrame;
021
022    public ResetEngineMovesAction(EnginesTableFrame enginesTableFrame) {
023        super(Bundle.getMessage("MenuItemResetMoves"));
024        _enginesTableFrame = enginesTableFrame;
025    }
026
027    @Override
028    public void actionPerformed(ActionEvent ae) {
029        if (JmriJOptionPane.showConfirmDialog(null, Bundle.getMessage("engineSureResetMoves"),
030                Bundle.getMessage("engineResetMovesAll"), JmriJOptionPane.OK_CANCEL_OPTION) == JmriJOptionPane.OK_OPTION) {
031            log.debug("Reset moves for all engines in roster");
032            InstanceManager.getDefault(EngineManager.class)
033                    .resetMoves(_enginesTableFrame.enginesTableModel.getSelectedEngineList());
034        }
035    }
036
037    private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(ResetEngineMovesAction.class);
038}