1 19 package org.netbeans.modules.debugger.jpda.actions; 20 21 import com.sun.jdi.ObjectCollectedException; 22 import com.sun.jdi.ThreadReference; 23 import com.sun.jdi.VMDisconnectedException; 24 import com.sun.jdi.VirtualMachine; 25 26 import java.util.Collections ; 27 import java.util.List ; 28 import java.util.Map ; 29 import java.util.Set ; 30 import org.netbeans.api.debugger.ActionsManager; 31 32 33 import org.netbeans.spi.debugger.ContextProvider; 34 import org.netbeans.api.debugger.jpda.JPDADebugger; 35 import org.netbeans.modules.debugger.jpda.JPDADebuggerImpl; 36 37 38 42 public class ContinueActionProvider extends JPDADebuggerActionProvider { 43 44 private volatile boolean doingAction; 45 46 47 public ContinueActionProvider (ContextProvider contextProvider) { 48 super ( 49 (JPDADebuggerImpl) contextProvider.lookupFirst 50 (null, JPDADebugger.class) 51 ); 52 setProviderToDisableOnLazyAction(this); 53 } 54 55 public Set getActions () { 56 return Collections.singleton (ActionsManager.ACTION_CONTINUE); 57 } 58 59 public void doAction (Object action) { 60 doingAction = true; 61 try { 62 getDebuggerImpl ().resume (); 63 } finally { 64 doingAction = false; 65 } 66 } 67 68 public void postAction(Object action, final Runnable actionPerformedNotifier) { 69 doingAction = true; 70 doLazyAction(new Runnable () { 71 public void run() { 72 try { 73 getDebuggerImpl ().resume (); 74 } finally { 75 try { 76 actionPerformedNotifier.run(); 77 } finally { 78 doingAction = false; 79 } 80 } 81 } 82 }); 83 } 84 85 protected void checkEnabled (int debuggerState) { 86 setEnabled ( 87 ActionsManager.ACTION_CONTINUE, 88 debuggerState == JPDADebugger.STATE_STOPPED 89 ); 90 } 91 92 } 93 | Popular Tags |