fill all necessary default values for DBG in launch configuration
[phpeclipse.git] / net.sourceforge.phpeclipse.debug.ui / src / net / sourceforge / phpdt / internal / debug / ui / launcher / PHPEntryPointTab.java
index b233034..37007fb 100644 (file)
@@ -8,7 +8,6 @@ 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;
@@ -65,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();
@@ -74,7 +73,7 @@ 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();
@@ -82,7 +81,7 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab {
                                IEditorInput input = part.getEditorInput();
                                IResource file = (IResource) input.getAdapter(IResource.class);
                                if (file != null) {
-                                       return file.getProject();
+                                       return file;
                                }
                        }
                }
@@ -90,9 +89,11 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab {
        }
 
        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) {