public void addScreenCapture(File newFile) {
screenCaptures.add(newFile);
}
public CheckList showAndEnterChecklist(File file, final IMarathonRuntime runtime, final JFrame instance) {
final CheckList checklist;
try {
checklist = CheckList.read(new FileInputStream(file));
CheckListForm checklistForm = new CheckListForm(checklist, Mode.ENTER);
final CheckListDialog dialog = new CheckListDialog((JFrame) null, checklistForm);
JButton screenCapture = UIUtils.createScreenCaptureButton();
screenCapture.addActionListener(new ActionListener() {
File captureFile = null;
public void actionPerformed(ActionEvent e) {
boolean iconify = false;
int state = -1;
try {
if (instance != null && instance.getState() != JFrame.ICONIFIED) {
iconify = true;
state = instance.getState();
}
if (iconify)
instance.setState(JFrame.ICONIFIED);
dialog.setVisible(false);
if (captureFile == null)
captureFile = runtime.getScreenCapture();
if (captureFile == null) {
JOptionPane.showMessageDialog(null, "Could not create a screen capture");
return;
}
try {
AnnotateScreenCapture annotate = new AnnotateScreenCapture(captureFile, true);
if (annotate.showDialog() == AnnotateScreenCapture.APPROVE_OPTION) {
annotate.saveToFile(captureFile);
checklist.setCaptureFile(captureFile.getName());
}
} catch (IOException e1) {
e1.printStackTrace();
}
} finally {