/*******************************************************************************
* Copyright (c) 2006 Mountainminds GmbH & Co. KG
* This software is provided under the terms of the Eclipse Public License v1.0
* See http://www.eclipse.org/legal/epl-v10.html.
*
* $Id: RelaunchSessionAction.java 338 2007-06-19 14:57:16Z mtnminds $
******************************************************************************/
package com.mountainminds.eclemma.internal.ui.coverageview;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.ui.DebugUITools;
import org.eclipse.jface.action.Action;
import com.mountainminds.eclemma.core.CoverageTools;
import com.mountainminds.eclemma.core.ICoverageSession;
import com.mountainminds.eclemma.core.ISessionManager;
import com.mountainminds.eclemma.internal.ui.EclEmmaUIPlugin;
import com.mountainminds.eclemma.internal.ui.UIMessages;
/**
* This action removes the active coverage session. Internally used by the
* coverage view.
*
* @author Marc R. Hoffmann
* @version $Revision: 338 $
*/
class RelaunchSessionAction extends Action {
RelaunchSessionAction() {
setText(UIMessages.CoverageViewRelaunchAction_label);
setToolTipText(UIMessages.CoverageViewRelaunchAction_tooltip);
setImageDescriptor(EclEmmaUIPlugin.getImageDescriptor(EclEmmaUIPlugin.ELCL_RELAUNCH));
setDisabledImageDescriptor(EclEmmaUIPlugin.getImageDescriptor(EclEmmaUIPlugin.DLCL_RELAUNCH));
setEnabled(false);
}
public void run() {
ISessionManager manager = CoverageTools.getSessionManager();
ICoverageSession session = manager.getActiveSession();
if (session != null) {
ILaunchConfiguration config = session.getLaunchConfiguration();
if (config != null) {
DebugUITools.launch(config, CoverageTools.LAUNCH_MODE);
}
}
}
}