} catch (CoreException ce) {
fRemoteDebugCheckBox.setSelection(DEFAULT_REMOTE_DEBUG);
}
- if (fRemoteDebugCheckBox.getSelection()) {
- tabFolder.setSelection(0);
- }
+ tabFolder.setSelection(fRemoteDebugCheckBox.getSelection() ? 0 : 1);
try {
fRemoteDebugTranslate.setSelection(configuration.getAttribute(
PHPLaunchConfigurationAttribute.REMOTE_DEBUG_TRANSLATE,
} catch (CoreException e) {
log(e);
}
- if (interpreterName != null && !interpreterName.equals(""))
+ if (interpreterName != null && !interpreterName.equals("")) {
interpreterCombo.select(interpreterCombo.indexOf(interpreterName));
+ }
+ if (interpreterCombo.getSelectionIndex() < 0) {
+ // previous definition had been deleted
+ ((ILaunchConfigurationWorkingCopy) configuration).setAttribute(
+ PHPLaunchConfigurationAttribute.SELECTED_INTERPRETER, "");
+ setErrorMessage(PHPDebugUiMessages
+ .getString("LaunchConfigurationTab.PHPEnvironment.interpreter_not_selected_error_message"));
+ }
}
protected void initializeInterpreterCombo(Combo interpreterCombo) {
public boolean isValid(ILaunchConfiguration launchConfig) {
try {
- String selectedInterpreter = launchConfig.getAttribute(
- PHPLaunchConfigurationAttribute.SELECTED_INTERPRETER, "");
- if (selectedInterpreter.length() == 0) {
- setErrorMessage(PHPDebugUiMessages
- .getString("LaunchConfigurationTab.PHPEnvironment.interpreter_not_selected_error_message"));
- return false;
+ if (launchConfig.getAttribute(
+ PHPLaunchConfigurationAttribute.SELECTED_INTERPRETER, "")
+ .equals("")) {
+ if (!launchConfig.getAttribute(
+ PHPLaunchConfigurationAttribute.REMOTE_DEBUG, false)) {
+ setErrorMessage(PHPDebugUiMessages
+ .getString("LaunchConfigurationTab.PHPEnvironment.interpreter_not_selected_error_message"));
+ return false;
+ }
}
} catch (CoreException e) {
log(e);
*/
public void launch(ILaunchConfiguration configuration, String mode,
ILaunch launch, IProgressMonitor monitor) throws CoreException {
- if (PHPRuntime.getDefault().getSelectedInterpreter() == null) {
- String pid = PHPLaunchingPlugin.PLUGIN_ID;
- String msg = "You must define an interpreter before running PHP.";
- IStatus s = new Status(IStatus.ERROR, pid, IStatus.OK, msg, null);
- throw new CoreException(s);
+ //if (PHPRuntime.getDefault().getSelectedInterpreter() == null) {
+ if (configuration.getAttribute(
+ PHPLaunchConfigurationAttribute.SELECTED_INTERPRETER, "")
+ .equals("")) {
+ if (!configuration.getAttribute(
+ PHPLaunchConfigurationAttribute.REMOTE_DEBUG, false)
+ && mode.equals("debug") || mode.equals("run")) {
+ String pid = PHPLaunchingPlugin.PLUGIN_ID;
+ String msg = "You must define an interpreter before running PHP.";
+ IStatus s = new Status(IStatus.ERROR, pid, IStatus.OK, msg,
+ null);
+ throw new CoreException(s);
+ }
}
InterpreterRunnerConfiguration conf = new InterpreterRunnerConfiguration(