| /******************************************************************************* |
| * Copyright (c) 2000, 2003 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Common Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/cpl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.debug.internal.ui.actions; |
| |
| |
| import org.eclipse.debug.core.DebugEvent; |
| import org.eclipse.debug.core.DebugException; |
| import org.eclipse.debug.core.model.IDebugTarget; |
| import org.eclipse.debug.core.model.IDisconnect; |
| |
| public class DisconnectActionDelegate extends AbstractListenerActionDelegate { |
| |
| /** |
| * @see AbstractDebugActionDelegate#doAction(Object) |
| */ |
| protected void doAction(Object element) throws DebugException { |
| if (element instanceof IDisconnect) { |
| ((IDisconnect) element).disconnect(); |
| } |
| } |
| |
| /** |
| * @see AbstractDebugActionDelegate#isEnabledFor(Object) |
| */ |
| protected boolean isEnabledFor(Object element) { |
| return element instanceof IDisconnect && ((IDisconnect) element).canDisconnect(); |
| } |
| |
| /** |
| * @see AbstractDebugActionDelegate#getStatusMessage() |
| */ |
| protected String getStatusMessage() { |
| return ActionMessages.getString("DisconnectActionDelegate.Exceptions_occurred_attempting_to_disconnect._2"); //$NON-NLS-1$ |
| } |
| |
| /** |
| * @see AbstractDebugActionDelegate#getErrorDialogMessage() |
| */ |
| protected String getErrorDialogMessage() { |
| return ActionMessages.getString("DisconnectActionDelegate.Disconnect_failed_1"); //$NON-NLS-1$ |
| } |
| /** |
| * @see AbstractDebugActionDelegate#getErrorDialogTitle() |
| */ |
| protected String getErrorDialogTitle() { |
| return ActionMessages.getString("DisconnectActionDelegate.Disconnect_3"); //$NON-NLS-1$ |
| } |
| |
| /** |
| * @see ListenerActionDelegate#doHandleDebugEvent(DebugEvent) |
| */ |
| protected void doHandleDebugEvent(DebugEvent event) { |
| if (event.getKind() == DebugEvent.TERMINATE && event.getSource() instanceof IDebugTarget) { |
| update(getAction(), getSelection()); |
| } |
| } |
| } |