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.IAsynchronousDisconnectAdapter; 18 import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor; 19 import org.eclipse.debug.ui.IDebugUIConstants; 20 import org.eclipse.jface.resource.ImageDescriptor; 21 22 public class DisconnectAction extends AbstractDebugContextAction { 23 24 28 protected void doAction(Object element) { 29 if (element instanceof IAdaptable) { 30 IAdaptable adaptable = (IAdaptable) element; 31 IAsynchronousDisconnectAdapter disconnect = (IAsynchronousDisconnectAdapter) adaptable.getAdapter(IAsynchronousDisconnectAdapter.class); 32 if (disconnect != null) 33 disconnect.disconnect(element, new ActionRequestMonitor()); 34 } 35 } 36 37 41 protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) { 42 if (element instanceof IAdaptable) { 43 IAdaptable adaptable = (IAdaptable) element; 44 IAsynchronousDisconnectAdapter disconnect = (IAsynchronousDisconnectAdapter) adaptable.getAdapter(IAsynchronousDisconnectAdapter.class); 45 if (disconnect != null) { 46 disconnect.canDisconnect(element, monitor); 47 } else { 48 notSupported(monitor); 49 } 50 } 51 } 52 53 58 protected String getStatusMessage() { 59 return ActionMessages.DisconnectActionDelegate_Exceptions_occurred_attempting_to_disconnect__2; 60 } 61 62 67 protected String getErrorDialogMessage() { 68 return ActionMessages.DisconnectActionDelegate_Disconnect_failed_1; 69 } 70 71 76 public String getText() { 77 return ActionMessages.DisconnectAction_0; 78 } 79 80 85 public String getHelpContextId() { 86 return "disconnect_action_context"; } 88 89 94 public String getId() { 95 return "org.eclipse.debug.ui.debugview.toolbar.disconnect"; } 97 98 103 public String getToolTipText() { 104 return ActionMessages.DisconnectAction_3; 105 } 106 107 112 public ImageDescriptor getDisabledImageDescriptor() { 113 return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DISCONNECT); 114 } 115 116 121 public ImageDescriptor getHoverImageDescriptor() { 122 return DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DISCONNECT); 123 } 124 125 130 public ImageDescriptor getImageDescriptor() { 131 return DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DISCONNECT); 132 } 133 } 134 | Popular Tags |