1 11 package org.eclipse.debug.internal.ui.actions; 12 13 14 import org.eclipse.jface.action.IAction; 15 import org.eclipse.jface.viewers.ISelection; 16 import org.eclipse.swt.widgets.Event; 17 import org.eclipse.ui.IActionDelegate2; 18 import org.eclipse.ui.IViewActionDelegate; 19 import org.eclipse.ui.IViewPart; 20 import org.eclipse.ui.IWorkbenchWindow; 21 import org.eclipse.ui.IWorkbenchWindowActionDelegate; 22 23 31 public abstract class AbstractRemoveAllActionDelegate implements IViewActionDelegate, IActionDelegate2, IWorkbenchWindowActionDelegate { 32 33 36 private IAction fAction; 37 38 41 public AbstractRemoveAllActionDelegate() {} 42 43 46 public void dispose() { 47 fAction = null; 48 } 49 50 53 public void init(IAction action) { 54 fAction = action; 55 } 56 57 62 protected IAction getAction() { 63 return fAction; 64 } 65 66 69 public void runWithEvent(IAction action, Event event) { 70 run(action); 71 } 72 73 76 public void init(IViewPart view) { 77 initialize(); 78 update(); 79 } 80 81 84 public void init(IWorkbenchWindow window) { 85 initialize(); 86 update(); 87 } 88 89 92 protected abstract void initialize(); 93 94 97 protected void update() { 98 IAction action = getAction(); 99 if (action != null) { 100 action.setEnabled(isEnabled()); 101 } 102 } 103 104 109 protected abstract boolean isEnabled(); 110 111 114 public void selectionChanged(IAction action, ISelection s) { 115 } 117 } 118 | Popular Tags |