/** * Copyright (c) 2009-2011, The HATS Consortium. All rights reserved. * This file is licensed under the terms of the Modified BSD License. */ package org.absmodels.abs.plugin.actions.shortcuts; import static org.absmodels.abs.plugin.actions.ActionUtils.getActiveFile; import static org.absmodels.abs.plugin.actions.ActionUtils.getSelectedResource; import static org.absmodels.abs.plugin.util.UtilityFunctions.saveEditors; import org.absmodels.abs.plugin.actions.MaudeJob; import org.absmodels.abs.plugin.actions.MaudeJobChangeListener; import org.eclipse.core.resources.IResource; import org.eclipse.debug.ui.ILaunchShortcut; import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.IEditorPart; public class LaunchMaudeShortcut implements ILaunchShortcut { @Override public void launch(ISelection selection, String mode) { launch(getSelectedResource(selection)); } @Override public void launch(IEditorPart editor, String mode) { launch(getActiveFile(editor)); } private void launch(IResource resource){ if(resource != null){ saveEditors(resource.getProject(), true); MaudeJob maudeJob = new MaudeJob(resource.getProject(), false, true); maudeJob.addJobChangeListener(new MaudeJobChangeListener(resource.getProject())); maudeJob.schedule(); } } }