1 11 package org.eclipse.debug.internal.ui.actions.context; 12 13 import java.util.Iterator ; 14 15 import org.eclipse.core.runtime.IAdaptable; 16 import org.eclipse.debug.internal.ui.DebugPluginImages; 17 import org.eclipse.debug.internal.ui.IInternalDebugUIConstants; 18 import org.eclipse.debug.internal.ui.actions.provisional.IAsynchronousStepFiltersAdapter; 19 import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor; 20 import org.eclipse.jface.resource.ImageDescriptor; 21 import org.eclipse.jface.viewers.IStructuredSelection; 22 23 public class ToggleStepFiltersAction extends AbstractDebugContextAction { 24 25 public ToggleStepFiltersAction() 26 { 27 super(); 28 setEnabled(true); 29 } 30 31 protected void doAction(Object target) { 32 } 35 36 public ImageDescriptor getDisabledImageDescriptor() { 37 return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_TOGGLE_STEP_FILTERS); 38 } 39 40 public String getHelpContextId() { 41 return "step_with_filters_action_context"; } 43 44 public ImageDescriptor getHoverImageDescriptor() { 45 return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TOGGLE_STEP_FILTERS); 46 } 47 48 public String getId() { 49 return "org.eclipse.debug.ui.actions.ToggleStepFilters"; } 51 52 public ImageDescriptor getImageDescriptor() { 53 return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TOGGLE_STEP_FILTERS); 54 } 55 56 public String getText() { 57 return "Toggle Step Filters"; } 61 62 public String getToolTipText() { 63 return "Toggle Step Filters"; } 67 68 protected void isEnabledFor(Object element, IBooleanRequestMonitor monitor) { 69 if (element instanceof IAdaptable) 70 { 71 IAsynchronousStepFiltersAdapter stepFilters = (IAsynchronousStepFiltersAdapter)((IAdaptable)element).getAdapter(IAsynchronousStepFiltersAdapter.class); 72 if (stepFilters != null) 73 { 74 stepFilters.supportsStepFilters(element, monitor); 75 } 76 else 77 { 78 notSupported(monitor); 79 } 80 } 81 82 } 83 84 protected void updateEnableStateForContext(IStructuredSelection selection) { 85 86 int size = selection.size(); 87 if (size == 1) 88 { 89 BooleanRequestMonitor monitor = new BooleanRequestMonitor(this, size); 90 91 Iterator itr = selection.iterator(); 92 while (itr.hasNext()) { 93 Object element = itr.next(); 94 isEnabledFor(element, monitor); 95 } 96 } 97 else 98 { 99 BooleanRequestMonitor monitor = new BooleanRequestMonitor(this, 1); 100 monitor.setResult(true); 101 monitor.done(); 102 } 103 } 104 105 108 protected boolean getInitialEnablement() { 109 return true; 110 } 111 112 113 114 } 115 | Popular Tags |