1 11 package org.eclipse.debug.internal.ui.actions.context; 12 13 import org.eclipse.core.runtime.IAdaptable; 14 import org.eclipse.debug.internal.ui.DebugPluginImages; 15 import org.eclipse.debug.internal.ui.IInternalDebugUIConstants; 16 import org.eclipse.debug.internal.ui.actions.ActionMessages; 17 import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousSuspendResumeAdapter; 18 import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor; 19 import org.eclipse.jface.resource.ImageDescriptor; 20 21 public class SuspendAction extends AbstractDebugContextAction { 22 23 27 protected void doAction(Object element) { 28 if (element instanceof IAdaptable) { 29 IAdaptable adaptable = (IAdaptable) element; 30 IAsynchronousSuspendResumeAdapter suspendResumer = (IAsynchronousSuspendResumeAdapter) adaptable.getAdapter(IAsynchronousSuspendResumeAdapter.class); 31 if (suspendResumer != null) 32 suspendResumer.suspend(element, new ActionRequestMonitor()); 33 } 34 } 35 36 40 protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) { 41 if (element instanceof IAdaptable) { 42 IAdaptable adaptable = (IAdaptable) element; 43 IAsynchronousSuspendResumeAdapter suspendResumer = (IAsynchronousSuspendResumeAdapter) adaptable.getAdapter(IAsynchronousSuspendResumeAdapter.class); 44 if (suspendResumer != null) { 45 suspendResumer.canSuspend(element, monitor); 46 } else { 47 notSupported(monitor); 48 } 49 } 50 51 } 52 53 54 protected String getStatusMessage() { 55 return ActionMessages.SuspendActionDelegate_Exceptions_occurred_attempting_to_suspend__2; 56 } 57 58 protected String getErrorDialogMessage() { 59 return ActionMessages.SuspendActionDelegate_Suspend_failed_1; 60 } 61 62 public String getText() { 63 return ActionMessages.SuspendAction_0; 64 } 65 66 public String getHelpContextId() { 67 return "suspend_action_context"; } 69 70 public String getId() { 71 return "org.eclipse.debug.ui.debugview.toolbar.suspend"; } 73 74 public String getToolTipText() { 75 return ActionMessages.SuspendAction_3; 76 } 77 78 public ImageDescriptor getDisabledImageDescriptor() { 79 return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_SUSPEND); 80 } 81 82 public ImageDescriptor getHoverImageDescriptor() { 83 return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_SUSPEND); 84 } 85 86 public ImageDescriptor getImageDescriptor() { 87 return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_SUSPEND); 88 } 89 } 90 | Popular Tags |