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}