001package jmri.jmrit.operations.automation.actions;
002
003import jmri.InstanceManager;
004import jmri.jmrit.operations.trains.Train;
005import jmri.jmrit.operations.trains.TrainManager;
006
007public class PrintTrainManifestIfSelectedAction extends Action {
008
009    private static final int _code = ActionCodes.PRINT_TRAIN_MANIFEST_IF_SELECTED;
010
011    @Override
012    public int getCode() {
013        return _code;
014    }
015
016    @Override
017    public String getName() {
018        if (InstanceManager.getDefault(TrainManager.class).isPrintPreviewEnabled()) {
019            return Bundle.getMessage("PreviewTrainManifestIfSelected");
020        } else {
021            return Bundle.getMessage("PrintTrainManifestIfSelected");
022        }
023    }
024
025    @Override
026    public void doAction() {
027        if (getAutomationItem() != null) {
028            Train train = getAutomationItem().getTrain();
029            if (train != null && train.isBuilt() && train.isBuildEnabled()) {
030                setRunning(true);
031                finishAction(train.printManifest(InstanceManager.getDefault(TrainManager.class).isPrintPreviewEnabled()));
032            } else {
033                finishAction(false);
034            }
035        }
036    }
037
038    @Override
039    public void cancelAction() {
040        // no cancel for this action
041    }
042
043}