package org.projectusus.ui.dependencygraph.common; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.contexts.IContextActivation; import org.eclipse.ui.contexts.IContextService; public class WorkbenchContext { private final IContextService service; private final String contextId; private IContextActivation activation; public WorkbenchContext( String contextId ) { this( (IContextService)PlatformUI.getWorkbench().getService( IContextService.class ), contextId ); } public WorkbenchContext( IContextService service, String contextId ) { this.service = service; this.contextId = contextId; } public void activate() { if( isDeactivated() ) { activation = service.activateContext( contextId ); } } public void deactivate() { if( isActivated() ) { service.deactivateContext( activation ); activation = null; } } public boolean isActivated() { return !isDeactivated(); } public boolean isDeactivated() { return activation == null; } }