X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.xdebug.ui/src/net/sourceforge/phpeclipse/xdebug/ui/php/launching/PHPMainTab.java b/net.sourceforge.phpeclipse.xdebug.ui/src/net/sourceforge/phpeclipse/xdebug/ui/php/launching/PHPMainTab.java index 03e5e3e..6927ed2 100644 --- a/net.sourceforge.phpeclipse.xdebug.ui/src/net/sourceforge/phpeclipse/xdebug/ui/php/launching/PHPMainTab.java +++ b/net.sourceforge.phpeclipse.xdebug.ui/src/net/sourceforge/phpeclipse/xdebug/ui/php/launching/PHPMainTab.java @@ -1,14 +1,19 @@ 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; @@ -28,7 +33,6 @@ import org.eclipse.swt.widgets.Button; 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; @@ -48,7 +52,6 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { private Button fUseDefaultInterpreterButton; private Button fInterpreterButton; private Text fInterpreterText; - private Label fInterpreterLabel; public PHPMainTab() { super(); @@ -140,14 +143,7 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { 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); @@ -292,26 +288,29 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { * @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); }