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 6927ed2..ed5f1b0 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,12 +1,10 @@ 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; @@ -42,15 +40,22 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { // Project UI widgets protected Text fProjText; + protected Button fProjButton; // Main class UI widgets protected Text fMainText; + protected Button fSearchButton; + protected PHPProjectSelector projectSelector; + protected PHPFileSelector fileSelector; + private Button fUseDefaultInterpreterButton; + private Button fInterpreterButton; + private Text fInterpreterText; public PHPMainTab() { @@ -59,30 +64,32 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { public void createControl(Composite parent) { Font font = parent.getFont(); - + Composite comp = new Composite(parent, SWT.NONE); setControl(comp); -// PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_MAIN_TAB); + // PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), + // IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_MAIN_TAB); GridLayout topLayout = new GridLayout(); topLayout.verticalSpacing = 0; comp.setLayout(topLayout); comp.setFont(font); - + createProjectEditor(comp); createVerticalSpacer(comp, 1); createMainTypeEditor(comp); createVerticalSpacer(comp, 1); createInterpreterEditor(comp); } - + /** * Creates the widgets for specifying a main type. * - * @param parent the parent composite + * @param parent + * the parent composite */ private void createProjectEditor(Composite parent) { - Font font= parent.getFont(); - Group group= new Group(parent, SWT.NONE); + Font font = parent.getFont(); + Group group = new Group(parent, SWT.NONE); group.setText("Project:"); GridData gd = new GridData(GridData.FILL_HORIZONTAL); group.setLayoutData(gd); @@ -92,25 +99,26 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { group.setFont(font); projectSelector = new PHPProjectSelector(group); - projectSelector.setBrowseDialogMessage("Choose the project containing the application entry point:"); + projectSelector + .setBrowseDialogMessage("Choose the project containing the application entry point:"); projectSelector.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); projectSelector.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent evt) { updateLaunchConfigurationDialog(); } }); - } + } - /** * Creates the widgets for specifying a php file. * - * @param parent the parent composite + * @param parent + * the parent composite */ private void createMainTypeEditor(Composite parent) { - Font font= parent.getFont(); - Group mainGroup= new Group(parent, SWT.NONE); - mainGroup.setText("File: "); + Font font = parent.getFont(); + Group mainGroup = new Group(parent, SWT.NONE); + mainGroup.setText("File: "); GridData gd = new GridData(GridData.FILL_HORIZONTAL); mainGroup.setLayoutData(gd); GridLayout layout = new GridLayout(); @@ -119,7 +127,8 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { mainGroup.setFont(font); fileSelector = new PHPFileSelector(mainGroup, projectSelector); - fileSelector.setBrowseDialogMessage("Choose the PHP file that represents the application entry point:"); + fileSelector + .setBrowseDialogMessage("Choose the PHP file that represents the application entry point:"); fileSelector.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); fileSelector.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent evt) { @@ -127,25 +136,26 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { } }); } - + /** * Creates the widgets for specifying debug settings. * - * @param parent the parent composite + * @param parent + * the parent composite */ private void createInterpreterEditor(Composite parent) { - Font font= parent.getFont(); - Group interpreterGroup= new Group(parent, SWT.NONE); - interpreterGroup.setText("Interpreter: "); + Font font = parent.getFont(); + Group interpreterGroup = new Group(parent, SWT.NONE); + interpreterGroup.setText("Interpreter: "); GridData gd = new GridData(GridData.FILL_HORIZONTAL); interpreterGroup.setLayoutData(gd); GridLayout layout = new GridLayout(); layout.numColumns = 2; interpreterGroup.setLayout(layout); interpreterGroup.setFont(font); - - fInterpreterText= new Text(interpreterGroup, SWT.SINGLE | SWT.BORDER); - gd= new GridData(GridData.FILL_HORIZONTAL); + + fInterpreterText = new Text(interpreterGroup, SWT.SINGLE | SWT.BORDER); + gd = new GridData(GridData.FILL_HORIZONTAL); fInterpreterText.setLayoutData(gd); fInterpreterText.setFont(font); fInterpreterText.addModifyListener(new ModifyListener() { @@ -154,27 +164,28 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { } }); - - fInterpreterButton= createPushButton(interpreterGroup,"Browse..", null); + fInterpreterButton = createPushButton(interpreterGroup, "Browse..", + null); fInterpreterButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { handleBrowseSellected(event); } }); - - fUseDefaultInterpreterButton = new Button(interpreterGroup,SWT.CHECK); + + fUseDefaultInterpreterButton = new Button(interpreterGroup, SWT.CHECK); fUseDefaultInterpreterButton.setText("Use default interpreter"); gd = new GridData(GridData.FILL_HORIZONTAL); fUseDefaultInterpreterButton.setLayoutData(gd); fUseDefaultInterpreterButton.setFont(font); - fUseDefaultInterpreterButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - handleDefaultSellected(event); - } - }); + fUseDefaultInterpreterButton + .addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent event) { + handleDefaultSellected(event); + } + }); } - + /** * Set the appropriate enabled state for the appletviewqer text widget. */ @@ -187,7 +198,7 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { fInterpreterButton.setEnabled(true); } } - + /** * Returns whether the default appletviewer is to be used */ @@ -195,28 +206,27 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { return fUseDefaultInterpreterButton.getSelection(); } - - protected void handleDefaultSellected(SelectionEvent event) { setInterpreterTextEnabledState(); updateLaunchConfigurationDialog(); -// if (isDefaultInterpreter()) { -// fInterpreterText.setText("default Interpreter"); -// } + // if (isDefaultInterpreter()) { + // fInterpreterText.setText("default Interpreter"); + // } } protected void handleBrowseSellected(SelectionEvent event) { - FileDialog dlg=new FileDialog(getShell(),SWT.OPEN); - String fileName=dlg.open(); - if (fileName!=null) { + FileDialog dlg = new FileDialog(getShell(), SWT.OPEN); + String fileName = dlg.open(); + if (fileName != null) { fInterpreterText.setText(fileName); updateLaunchConfigurationDialog(); } } protected IProject getContext() { - IWorkbenchPage page= XDebugCorePlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage(); + IWorkbenchPage page = XDebugCorePlugin.getDefault().getWorkbench() + .getActiveWorkbenchWindow().getActivePage(); if (page != null) { ISelection selection = page.getSelection(); if (selection instanceof IStructuredSelection) { @@ -242,25 +252,29 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { public void setDefaults(ILaunchConfigurationWorkingCopy configuration) { IProject project = getContext(); if (project != null) - configuration.setAttribute(IXDebugConstants.ATTR_PHP_PROJECT, project.getName()); + configuration.setAttribute(IXDebugConstants.ATTR_PHP_PROJECT, + project.getName()); } - public void initializeFrom(ILaunchConfiguration configuration) { try { - String project = configuration.getAttribute(IXDebugConstants.ATTR_PHP_PROJECT, (String)null); + String project = configuration.getAttribute( + IXDebugConstants.ATTR_PHP_PROJECT, (String) null); if (project != null) { - projectSelector.setSelectionText(project); + projectSelector.setSelectionText(project); } - String file = configuration.getAttribute(IXDebugConstants.ATTR_PHP_FILE, (String)null); + String file = configuration.getAttribute( + IXDebugConstants.ATTR_PHP_FILE, (String) null); if (file != null) { fileSelector.setSelectionText(file); } - - String interpreterFile=configuration.getAttribute(IXDebugConstants.ATTR_PHP_INTERPRETER, (String) null); - if(interpreterFile!=null) + + String interpreterFile = configuration.getAttribute( + IXDebugConstants.ATTR_PHP_INTERPRETER, (String) null); + if (interpreterFile != null) fInterpreterText.setText(interpreterFile); - boolean selection=configuration.getAttribute(IXDebugConstants.ATTR_PHP_DEFAULT_INTERPRETER, true); + boolean selection = configuration.getAttribute( + IXDebugConstants.ATTR_PHP_DEFAULT_INTERPRETER, true); fUseDefaultInterpreterButton.setSelection(selection); setInterpreterTextEnabledState(); @@ -277,30 +291,41 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { configuration.setAttribute(IXDebugConstants.ATTR_PHP_PROJECT, project); IFile file = fileSelector.getSelection(); - configuration.setAttribute(IXDebugConstants.ATTR_PHP_FILE, file == null ? "" : file.getProjectRelativePath() - .toString()); - configuration.setAttribute(IXDebugConstants.ATTR_PHP_DEFAULT_INTERPRETER, this.fUseDefaultInterpreterButton.getSelection()); - configuration.setAttribute(IXDebugConstants.ATTR_PHP_INTERPRETER, this.fInterpreterText.getText()); + configuration.setAttribute(IXDebugConstants.ATTR_PHP_FILE, + file == null ? "" : file.getProjectRelativePath().toString()); + configuration.setAttribute( + IXDebugConstants.ATTR_PHP_DEFAULT_INTERPRETER, + this.fUseDefaultInterpreterButton.getSelection()); + configuration.setAttribute(IXDebugConstants.ATTR_PHP_INTERPRETER, + this.fInterpreterText.getText()); } - - /* (non-Javadoc) + + /* + * (non-Javadoc) + * * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration) */ public boolean isValid(ILaunchConfiguration launchConfig) { setErrorMessage(null); - String projectName=projectSelector.getSelectionText().trim(); - IProject project=ResourcesPlugin.getWorkspace().getRoot().getProject(projectName); + 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()); + String fileName = fileSelector.getSelectionText().trim(); + if (fileName.equals("")) { + setErrorMessage("No file selected."); + return false; + } + IFile file = project.getFile(fileName); if (!file.exists()) { setErrorMessage("File does not exist"); return false; } - if (!fUseDefaultInterpreterButton.getSelection()) { + if (!fUseDefaultInterpreterButton.getSelection()) { File exe = new File(fInterpreterText.getText()); System.out.println(exe.toString()); if (!exe.exists()) { @@ -310,11 +335,11 @@ public class PHPMainTab extends AbstractLaunchConfigurationTab { } return true; } - + public Image getImage() { return PHPUiImages.get(PHPUiImages.IMG_CTOOLS_PHP_PAGE); } - + public String getName() { return "Main"; }