package net.sourceforge.phpeclipse.xdebug.ui.php.launching;
+import java.io.File;
+import java.text.MessageFormat;
+
import net.sourceforge.phpdt.internal.ui.PHPUiImages;
import net.sourceforge.phpdt.internal.ui.util.PHPFileSelector;
import net.sourceforge.phpdt.internal.ui.util.PHPProjectSelector;
+import net.sourceforge.phpeclipse.xdebug.core.IXDebugPreferenceConstants;
import net.sourceforge.phpeclipse.xdebug.core.XDebugCorePlugin;
import net.sourceforge.phpeclipse.xdebug.php.launching.IXDebugConstants;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
private Button fUseDefaultInterpreterButton;
private Button fInterpreterButton;
private Text fInterpreterText;
- private Label fInterpreterLabel;
public PHPMainTab() {
super();
layout.numColumns = 2;
interpreterGroup.setLayout(layout);
interpreterGroup.setFont(font);
-
-// fInterpreterLabel= new Label(interpreterGroup, SWT.NONE);
-// fInterpreterLabel.setText("Interpreter: ");
-// gd= new GridData();
-// gd.horizontalSpan = 2;
-// fInterpreterLabel.setLayoutData(gd);
-// fInterpreterLabel.setFont(font);
-
+
fInterpreterText= new Text(interpreterGroup, SWT.SINGLE | SWT.BORDER);
gd= new GridData(GridData.FILL_HORIZONTAL);
fInterpreterText.setLayoutData(gd);
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
*/
public boolean isValid(ILaunchConfiguration launchConfig) {
- try {
-
- String projectName = launchConfig.getAttribute(IXDebugConstants.ATTR_PHP_PROJECT, "");
- if (projectName.length() == 0) {
- setErrorMessage("Iinvalid Project");
- return false;
- }
-
- String fileName = launchConfig.getAttribute(IXDebugConstants.ATTR_PHP_FILE, "");
- if (fileName.length() == 0) {
- setErrorMessage("Invalid File");
+ setErrorMessage(null);
+ String projectName=projectSelector.getSelectionText().trim();
+ IProject project=ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ if (!project.exists()) {
+ setErrorMessage("Project does not exist");
+ return false;
+ }
+ IFile file=project.getFile(fileSelector.getSelectionText().trim());
+ if (!file.exists()) {
+ setErrorMessage("File does not exist");
+ return false;
+ }
+ if (!fUseDefaultInterpreterButton.getSelection()) {
+ File exe = new File(fInterpreterText.getText());
+ System.out.println(exe.toString());
+ if (!exe.exists()) {
+ setErrorMessage("Invalid Interpreter");
return false;
}
- } catch (CoreException e) {
-// XDebugCorePlugin.log(e);
}
-
- setErrorMessage(null);
- return super.isValid(launchConfig);
+ return true;
}
+
public Image getImage() {
return PHPUiImages.get(PHPUiImages.IMG_CTOOLS_PHP_PAGE);
}