1 11 package org.eclipse.debug.internal.ui.actions.context; 12 13 import org.eclipse.debug.internal.ui.actions.provisional.IBooleanRequestMonitor; 14 import org.eclipse.jface.action.IAction; 15 16 23 public class BooleanRequestMonitor extends AbstractRequestMonitor implements IBooleanRequestMonitor { 24 25 private IAction fAction; 26 private int fNumVoters; 27 private int fNumOfVotes = 0; 28 29 BooleanRequestMonitor(IAction action, int numVoters) { 30 fAction = action; 31 fNumVoters = numVoters; 32 } 33 34 37 public void setResult(boolean result) { 38 fNumOfVotes++; 39 if (!isCanceled()) { 40 if (!result) { 41 setCanceled(true); 42 } 43 } 44 } 45 46 49 public void done() { 50 if (isCanceled()) { 51 fAction.setEnabled(false); 52 } else { 53 fAction.setEnabled(fNumOfVotes == fNumVoters); 54 } 55 } 56 57 } 58 | Popular Tags |