blob: 2ebbffa43bb6cd31aaf721b68dde00ecb47a4dc7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005 The Regents of the University of California.
* This material was produced under U.S. Government contract W-7405-ENG-36
* for Los Alamos National Laboratory, which is operated by the University
* of California for the U.S. Department of Energy. The U.S. Government has
* rights to use, reproduce, and distribute this software. NEITHER THE
* GOVERNMENT NOR THE UNIVERSITY MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR
* ASSUMES ANY LIABILITY FOR THE USE OF THIS SOFTWARE. If software is modified
* to produce derivative works, such modified software should be clearly marked,
* so as not to confuse it with the version available from LANL.
*
* Additionally, this program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* LA-CC 04-115
*******************************************************************************/
package org.eclipse.ptp.internal.ui.actions;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.ptp.internal.ui.ParallelImages;
import org.eclipse.ptp.ui.IManager;
import org.eclipse.ptp.ui.UIMessage;
import org.eclipse.ptp.ui.actions.ParallelAction;
import org.eclipse.ptp.ui.managers.AbstractUIManager;
import org.eclipse.ptp.ui.managers.JobManager;
import org.eclipse.ptp.ui.model.IElement;
import org.eclipse.ptp.ui.views.AbstractParallelElementView;
/**
* @author Clement chu
*
*/
public class TerminateJobAction extends ParallelAction {
public static final String name = "Terminate Job";
/** Constructor
* @param view
*/
public TerminateJobAction(AbstractParallelElementView view) {
super(name, view);
setImageDescriptor(ParallelImages.ID_ICON_TERMINATE_JOB_NORMAL);
setDisabledImageDescriptor(ParallelImages.ID_ICON_TERMINATE_JOB_DISABLE);
}
/* (non-Javadoc)
* @see org.eclipse.ptp.ui.actions.ParallelAction#run(org.eclipse.ptp.ui.model.IElement[])
*/
public void run(IElement[] elements) {}
/* (non-Javadoc)
* @see org.eclipse.jface.action.IAction#run()
*/
public void run() {
IManager manager = view.getUIManager();
if (manager instanceof AbstractUIManager) {
boolean terminate = MessageDialog.openConfirm(getShell(),
UIMessage.getResourceString("TerminateJobAction.Title"), //$NON-NLS-1$
UIMessage.getResourceString("TerminateJobAction.Question") //$NON-NLS-1$
+ ((JobManager)manager).getJob().getName()
+ UIMessage.getResourceString("TerminateJobAction.Confirm")); //$NON-NLS-1$
if (terminate) {
try {
((JobManager)manager).terminateJob();
} catch (CoreException e) {
ErrorDialog.openError(getShell(), "Terminate Job Error", "Cannot terminate the job.", e.getStatus());
}
}
}
}
}