package eu.jucy.gui.itemhandler; import logger.LoggerFactory; import org.apache.log4j.Logger; import org.eclipse.core.commands.Command; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.commands.ICommandService; import org.eclipse.ui.handlers.IHandlerService; import org.eclipse.ui.services.IServiceLocator; public class CommandDoubleClickListener implements IDoubleClickListener { private static final Logger logger = LoggerFactory.make(); private final String commandID; public CommandDoubleClickListener(String commandID) { this.commandID = commandID; } public void doubleClick(DoubleClickEvent event) { IServiceLocator isl = PlatformUI.getWorkbench(); IHandlerService hs = (IHandlerService)isl.getService(IHandlerService.class); ICommandService cmdService = (ICommandService) isl.getService(ICommandService.class); Command com = cmdService.getCommand(commandID); try { if (com.isEnabled()) { hs.executeCommand(commandID, null); } } catch (Exception e) { logger.error(e,e); } } }