package org.goko.core.execution.monitor.uiprovider.menu.executionqueue;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Image;
import org.eclipse.wb.swt.ResourceManager;
import org.goko.core.common.exception.GkException;
import org.goko.core.gcode.execution.ExecutionQueueType;
import org.goko.core.gcode.service.IExecutionService;
import org.goko.core.log.GkLog;
/**
* Action to clear the execution queue
*
* @author PsyKo
* @date 29 nov. 2015
*/
public class ClearExecutionQueueAction extends Action {
/** LOG */
private static final GkLog LOG = GkLog.getLogger(ClearExecutionQueueAction.class);
/** Target execution service */
private IExecutionService<?,?> executionService;
/**
* @param idTarget
*/
public ClearExecutionQueueAction(IExecutionService<?,?> executionService) {
super("Clear execution queue");
this.executionService = executionService;
}
/** (inheritDoc)
* @see org.eclipse.jface.action.Action#run()
*/
@Override
public void run() {
try {
executionService.clearExecutionQueue(ExecutionQueueType.DEFAULT);
} catch (GkException e) {
LOG.error(e);
}
}
/** (inheritDoc)
* @see org.eclipse.jface.action.Action#getImageDescriptor()
*/
@Override
public ImageDescriptor getImageDescriptor() {
Image image = ResourceManager.getPluginImage("org.goko.core.workspace", "icons/menu/cross.png");
return ImageDescriptor.createFromImage(image);
}
}