X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPEntryPointTab.java b/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPEntryPointTab.java index 4f3ebf7..37007fb 100644 --- a/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPEntryPointTab.java +++ b/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPEntryPointTab.java @@ -1,8 +1,13 @@ package net.sourceforge.phpdt.internal.debug.ui.launcher; +import net.sourceforge.phpdt.internal.debug.ui.PHPDebugUiMessages; +import net.sourceforge.phpdt.internal.debug.ui.PHPDebugUiPlugin; +import net.sourceforge.phpdt.internal.launching.PHPLaunchConfigurationAttribute; import net.sourceforge.phpdt.internal.ui.PHPUiImages; +import net.sourceforge.phpdt.internal.ui.util.PHPFileSelector; +import net.sourceforge.phpdt.internal.ui.util.PHPProjectSelector; + import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.Path; @@ -22,15 +27,12 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchPage; -import net.sourceforge.phpdt.internal.debug.ui.PHPDebugUiMessages; -import net.sourceforge.phpdt.internal.debug.ui.PHPDebugUiPlugin; -import net.sourceforge.phpdt.internal.launching.PHPLaunchConfigurationAttribute; -import net.sourceforge.phpdt.internal.ui.util.PHPFileSelector; -import net.sourceforge.phpdt.internal.ui.util.PHPProjectSelector; public class PHPEntryPointTab extends AbstractLaunchConfigurationTab { protected String originalFileName, originalProjectName; + protected PHPProjectSelector projectSelector; + protected PHPFileSelector fileSelector; public PHPEntryPointTab() { @@ -42,7 +44,8 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab { new Label(composite, SWT.NONE).setText(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPEntryPoint.projectLabel")); projectSelector = new PHPProjectSelector(composite); - projectSelector.setBrowseDialogMessage(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPEntryPoint.projectSelectorMessage")); + projectSelector.setBrowseDialogMessage(PHPDebugUiMessages + .getString("LaunchConfigurationTab.PHPEntryPoint.projectSelectorMessage")); projectSelector.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); projectSelector.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent evt) { @@ -61,7 +64,7 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab { }); } - protected IProject getContext() { + protected IResource getContext() { IWorkbenchPage page = PHPDebugUiPlugin.getActivePage(); if (page != null) { ISelection selection = page.getSelection(); @@ -70,23 +73,27 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab { if (!ss.isEmpty()) { Object obj = ss.getFirstElement(); if (obj instanceof IResource) - return ((IResource) obj).getProject(); + return ((IResource) obj); } } IEditorPart part = page.getActiveEditor(); if (part != null) { IEditorInput input = part.getEditorInput(); IResource file = (IResource) input.getAdapter(IResource.class); - return file.getProject(); + if (file != null) { + return file; + } } } return null; } public void setDefaults(ILaunchConfigurationWorkingCopy configuration) { - IProject project = getContext(); - if (project != null) - configuration.setAttribute(PHPLaunchConfigurationAttribute.PROJECT_NAME, project.getName()); + IResource file = getContext(); + if (file != null) { + configuration.setAttribute(PHPLaunchConfigurationAttribute.PROJECT_NAME, file.getProject().getName()); + configuration.setAttribute(PHPLaunchConfigurationAttribute.FILE_NAME,file.getProjectRelativePath().toOSString()); + } } public void initializeFrom(ILaunchConfiguration configuration) { @@ -105,7 +112,8 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab { public void performApply(ILaunchConfigurationWorkingCopy configuration) { configuration.setAttribute(PHPLaunchConfigurationAttribute.PROJECT_NAME, projectSelector.getSelectionText()); IFile file = fileSelector.getSelection(); - configuration.setAttribute(PHPLaunchConfigurationAttribute.FILE_NAME, file == null ? "" : file.getProjectRelativePath().toString()); + configuration.setAttribute(PHPLaunchConfigurationAttribute.FILE_NAME, file == null ? "" : file.getProjectRelativePath() + .toString()); } protected Composite createPageRoot(Composite parent) { @@ -124,7 +132,7 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab { public boolean isValid(ILaunchConfiguration launchConfig) { try { - + String projectName = launchConfig.getAttribute(PHPLaunchConfigurationAttribute.PROJECT_NAME, ""); if (projectName.length() == 0) { setErrorMessage(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPEntryPoint.invalidProjectSelectionMessage")); @@ -139,13 +147,13 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab { } catch (CoreException e) { log(e); } - + setErrorMessage(null); return true; } protected void log(Throwable t) { - PHPDebugUiPlugin.getDefault().log(t); + PHPDebugUiPlugin.log(t); } public boolean canSave() { @@ -154,6 +162,6 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab { public Image getImage() { return PHPUiImages.get(PHPUiImages.IMG_CTOOLS_PHP_PAGE); - } + } } \ No newline at end of file