Minor changes in pages design.
[phpeclipse.git] / net.sourceforge.phpeclipse.debug.ui / src / net / sourceforge / phpdt / internal / debug / ui / launcher / PHPEntryPointTab.java
index 4bea896..3da7b18 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;
@@ -24,14 +23,16 @@ import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Group;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchPage;
 
 public class PHPEntryPointTab extends AbstractLaunchConfigurationTab {
        protected String originalFileName, originalProjectName;
+
        protected PHPProjectSelector projectSelector;
+
        protected PHPFileSelector fileSelector;
 
        public PHPEntryPointTab() {
@@ -41,9 +42,20 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab {
        public void createControl(Composite parent) {
                Composite composite = createPageRoot(parent);
 
-               new Label(composite, SWT.NONE).setText(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPEntryPoint.projectLabel"));
-               projectSelector = new PHPProjectSelector(composite);
-               projectSelector.setBrowseDialogMessage(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPEntryPoint.projectSelectorMessage"));
+//             new Label(composite, SWT.NONE)
+//                             .setText(PHPDebugUiMessages
+//                                             .getString("LaunchConfigurationTab.PHPEntryPoint.projectLabel"));
+//             projectSelector = new PHPProjectSelector(composite);
+               Group grpProject = new Group(composite, SWT.NONE);
+               grpProject
+                               .setText(PHPDebugUiMessages
+                                               .getString("LaunchConfigurationTab.PHPEntryPoint.projectLabel"));
+               grpProject.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+               grpProject.setLayout(new GridLayout());
+               projectSelector = new PHPProjectSelector(grpProject);
+               projectSelector
+                               .setBrowseDialogMessage(PHPDebugUiMessages
+                                               .getString("LaunchConfigurationTab.PHPEntryPoint.projectSelectorMessage"));
                projectSelector.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
                projectSelector.addModifyListener(new ModifyListener() {
                        public void modifyText(ModifyEvent evt) {
@@ -51,9 +63,18 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab {
                        }
                });
 
-               new Label(composite, SWT.NONE).setText(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPEntryPoint.fileLabel"));
-               fileSelector = new PHPFileSelector(composite, projectSelector);
-               fileSelector.setBrowseDialogMessage(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPEntryPoint.fileSelectorMessage"));
+//             new Label(composite, SWT.NONE).setText(PHPDebugUiMessages
+//                             .getString("LaunchConfigurationTab.PHPEntryPoint.fileLabel"));
+//             fileSelector = new PHPFileSelector(composite, projectSelector);
+               Group grpFile = new Group(composite, SWT.NONE);
+               grpFile.setText(PHPDebugUiMessages
+                               .getString("LaunchConfigurationTab.PHPEntryPoint.fileLabel"));
+               grpFile.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+               grpFile.setLayout(new GridLayout());
+               fileSelector = new PHPFileSelector(grpFile, projectSelector);
+               fileSelector
+                               .setBrowseDialogMessage(PHPDebugUiMessages
+                                               .getString("LaunchConfigurationTab.PHPEntryPoint.fileSelectorMessage"));
                fileSelector.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
                fileSelector.addModifyListener(new ModifyListener() {
                        public void modifyText(ModifyEvent evt) {
@@ -62,7 +83,7 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab {
                });
        }
 
-       protected IProject getContext() {
+       protected IResource getContext() {
                IWorkbenchPage page = PHPDebugUiPlugin.getActivePage();
                if (page != null) {
                        ISelection selection = page.getSelection();
@@ -71,48 +92,62 @@ 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) {
                try {
-                       originalProjectName = configuration.getAttribute(PHPLaunchConfigurationAttribute.PROJECT_NAME, "");
-                       originalFileName = configuration.getAttribute(PHPLaunchConfigurationAttribute.FILE_NAME, "");
+                       originalProjectName = configuration.getAttribute(
+                                       PHPLaunchConfigurationAttribute.PROJECT_NAME, "");
+                       originalFileName = configuration.getAttribute(
+                                       PHPLaunchConfigurationAttribute.FILE_NAME, "");
                } catch (CoreException e) {
                        log(e);
                }
 
                projectSelector.setSelectionText(originalProjectName);
                if (!"".equals(originalFileName))
-                       fileSelector.setSelectionText(new Path(originalFileName).toOSString());
+                       fileSelector.setSelectionText(new Path(originalFileName)
+                                       .toOSString());
        }
 
        public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-               configuration.setAttribute(PHPLaunchConfigurationAttribute.PROJECT_NAME, projectSelector.getSelectionText());
+               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) {
                Composite composite = new Composite(parent, SWT.NONE);
                GridLayout layout = new GridLayout();
-               layout.marginWidth = 0;
+//             layout.marginWidth = 0;
                composite.setLayout(layout);
 
                setControl(composite);
@@ -120,33 +155,38 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab {
        }
 
        public String getName() {
-               return PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPEntryPoint.name");
+               return PHPDebugUiMessages
+                               .getString("LaunchConfigurationTab.PHPEntryPoint.name");
        }
 
        public boolean isValid(ILaunchConfiguration launchConfig) {
                try {
-                               
-                       String projectName = launchConfig.getAttribute(PHPLaunchConfigurationAttribute.PROJECT_NAME, "");
+
+                       String projectName = launchConfig.getAttribute(
+                                       PHPLaunchConfigurationAttribute.PROJECT_NAME, "");
                        if (projectName.length() == 0) {
-                               setErrorMessage(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPEntryPoint.invalidProjectSelectionMessage"));
+                               setErrorMessage(PHPDebugUiMessages
+                                               .getString("LaunchConfigurationTab.PHPEntryPoint.invalidProjectSelectionMessage"));
                                return false;
                        }
 
-                       String fileName = launchConfig.getAttribute(PHPLaunchConfigurationAttribute.FILE_NAME, "");
+                       String fileName = launchConfig.getAttribute(
+                                       PHPLaunchConfigurationAttribute.FILE_NAME, "");
                        if (fileName.length() == 0) {
-                               setErrorMessage(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPEntryPoint.invalidFileSelectionMessage"));
+                               setErrorMessage(PHPDebugUiMessages
+                                               .getString("LaunchConfigurationTab.PHPEntryPoint.invalidFileSelectionMessage"));
                                return false;
                        }
                } catch (CoreException e) {
                        log(e);
                }
-               
+
                setErrorMessage(null);
                return true;
        }
 
        protected void log(Throwable t) {
-               PHPDebugUiPlugin.getDefault().log(t);
+               PHPDebugUiPlugin.log(t);
        }
 
        public boolean canSave() {
@@ -155,6 +195,6 @@ public class PHPEntryPointTab extends AbstractLaunchConfigurationTab {
 
        public Image getImage() {
                return PHPUiImages.get(PHPUiImages.IMG_CTOOLS_PHP_PAGE);
-  }
+       }
 
 }
\ No newline at end of file