LaunchModeAction.java
package com.codeaffine.extras.launch.internal.dialog;
import org.eclipse.debug.core.ILaunchMode;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
public class LaunchModeAction extends Action {
private final LaunchModeSetting launchModeSetting;
private final ILaunchMode launchMode;
public LaunchModeAction( LaunchModeSetting launchModeSetting, ILaunchMode launchMode ) {
super( launchMode.getLabel(), IAction.AS_RADIO_BUTTON );
this.launchModeSetting = launchModeSetting;
this.launchMode = launchMode;
update();
}
public ILaunchMode getLaunchMode() {
return launchMode;
}
@Override
public void run() {
launchModeSetting.setLaunchModeId( launchMode.getIdentifier() );
update();
}
public void update() {
setChecked( launchMode.equals( launchModeSetting.getLaunchMode() ) );
}
}