package org.eclipse.debug.internal.ui.actions; | |
/* | |
* (c) Copyright IBM Corp. 2000, 2001. | |
* All Rights Reserved. | |
*/ | |
import org.eclipse.debug.core.DebugEvent; | |
import org.eclipse.debug.core.DebugException; | |
import org.eclipse.debug.core.model.ITerminate; | |
public class TerminateActionDelegate extends AbstractListenerActionDelegate { | |
/** | |
* @see AbstractDebugActionDelegate#doAction(Object) | |
*/ | |
protected void doAction(Object element) throws DebugException { | |
if (element instanceof ITerminate) { | |
((ITerminate)element).terminate(); | |
} | |
} | |
/** | |
* @see AbstractDebugActionDelegate#isEnabledFor(Object) | |
*/ | |
protected boolean isEnabledFor(Object element) { | |
return element instanceof ITerminate && ((ITerminate)element).canTerminate(); | |
} | |
/** | |
* @see AbstractDebugActionDelegate#getStatusMessage() | |
*/ | |
protected String getStatusMessage() { | |
return ActionMessages.getString("TerminateActionDelegate.Exceptions_occurred_attempting_to_terminate._2"); //$NON-NLS-1$ | |
} | |
/** | |
* @see AbstractDebugActionDelegate#getErrorDialogMessage() | |
*/ | |
protected String getErrorDialogMessage() { | |
return ActionMessages.getString("TerminateActionDelegate.Terminate_failed._1"); //$NON-NLS-1$ | |
} | |
/** | |
* @see AbstractDebugActionDelegate#getErrorDialogTitle() | |
*/ | |
protected String getErrorDialogTitle() { | |
return ActionMessages.getString("TerminateActionDelegate.Terminate_3"); //$NON-NLS-1$ | |
} | |
/** | |
* @see ListenerActionDelegate#doHandleDebugEvent(DebugEvent) | |
*/ | |
protected void doHandleDebugEvent(DebugEvent event) { | |
if (event.getKind() == DebugEvent.TERMINATE) { | |
update(getAction(), getSelection()); | |
} | |
} | |
} |