X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPArgumentsTab.java b/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPArgumentsTab.java index d96b9f6..0626c18 100644 --- a/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPArgumentsTab.java +++ b/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPArgumentsTab.java @@ -21,14 +21,42 @@ import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; public class PHPArgumentsTab extends AbstractLaunchConfigurationTab { protected Text interpreterArgsText, programArgsText; + protected DirectorySelector workingDirectorySelector; + protected Button useDefaultWorkingDirectoryButton; + private class ArgumentsTabListener extends SelectionAdapter implements + ModifyListener { + + /* + * (non-Javadoc) + * + * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent) + */ + public void modifyText(ModifyEvent e) { + updateLaunchConfigurationDialog(); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) + */ + public void widgetSelected(SelectionEvent e) { + updateLaunchConfigurationDialog(); + } + + } + + private ArgumentsTabListener fListener = new ArgumentsTabListener(); + public PHPArgumentsTab() { super(); } @@ -36,63 +64,105 @@ public class PHPArgumentsTab extends AbstractLaunchConfigurationTab { public void createControl(Composite parent) { Composite composite = createPageRoot(parent); - new Label(composite, SWT.NONE).setText(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPArguments.working_dir")); - workingDirectorySelector = new DirectorySelector(composite); - workingDirectorySelector.setBrowseDialogMessage(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPArguments.working_dir_browser_message")); - workingDirectorySelector.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - workingDirectorySelector.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - updateLaunchConfigurationDialog(); - } - }); - - Composite defaultWorkingDirectoryComposite = new Composite(composite, SWT.NONE); +// new Label(composite, SWT.NONE).setText(PHPDebugUiMessages +// .getString("LaunchConfigurationTab.PHPArguments.working_dir")); +// workingDirectorySelector = new DirectorySelector(composite); + Group grpWorkingDir = new Group(composite, SWT.NONE); + grpWorkingDir.setText(PHPDebugUiMessages + .getString("LaunchConfigurationTab.PHPArguments.working_dir")); + grpWorkingDir.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + grpWorkingDir.setLayout(new GridLayout()); + workingDirectorySelector = new DirectorySelector(grpWorkingDir); + workingDirectorySelector + .setBrowseDialogMessage(PHPDebugUiMessages + .getString("LaunchConfigurationTab.PHPArguments.working_dir_browser_message")); + workingDirectorySelector.setLayoutData(new GridData( + GridData.FILL_HORIZONTAL)); + workingDirectorySelector.addModifyListener(fListener); + + Composite defaultWorkingDirectoryComposite = new Composite( + grpWorkingDir, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; defaultWorkingDirectoryComposite.setLayout(layout); - useDefaultWorkingDirectoryButton = new Button(defaultWorkingDirectoryComposite, SWT.CHECK); - useDefaultWorkingDirectoryButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - setUseDefaultWorkingDirectory(((Button) e.getSource()).getSelection()); - } - }); - new Label(defaultWorkingDirectoryComposite, SWT.NONE).setText(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPArguments.working_dir_use_default_message")); + useDefaultWorkingDirectoryButton = new Button( + defaultWorkingDirectoryComposite, SWT.CHECK); + useDefaultWorkingDirectoryButton + .addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + setUseDefaultWorkingDirectory(((Button) e.getSource()) + .getSelection()); + } + }); + useDefaultWorkingDirectoryButton.addSelectionListener(fListener); + + new Label(defaultWorkingDirectoryComposite, SWT.NONE) + .setText(PHPDebugUiMessages + .getString("LaunchConfigurationTab.PHPArguments.working_dir_use_default_message")); defaultWorkingDirectoryComposite.pack(); - - Label verticalSpacer = new Label(composite, SWT.NONE); - - new Label(composite, SWT.NONE).setText(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPArguments.interpreter_args_box_title")); - interpreterArgsText = new Text(composite, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER); + workingDirectorySelector.addModifyListener(fListener); + + +// new Label(composite, SWT.NONE) +// .setText(PHPDebugUiMessages +// .getString("LaunchConfigurationTab.PHPArguments.interpreter_args_box_title")); + Group grpArgs = new Group(composite, SWT.NONE); + grpArgs.setText(PHPDebugUiMessages + .getString("LaunchConfigurationTab.PHPArguments.interpreter_args_box_title")); + grpArgs.setLayoutData(new GridData(GridData.FILL_BOTH)); + grpArgs.setLayout(new GridLayout()); + interpreterArgsText = new Text(grpArgs, SWT.MULTI | SWT.V_SCROLL + | SWT.BORDER | SWT.WRAP); interpreterArgsText.setLayoutData(new GridData(GridData.FILL_BOTH)); - - new Label(composite, SWT.NONE).setText(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPArguments.program_args_box_title")); - programArgsText = new Text(composite, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER); + interpreterArgsText.addModifyListener(fListener); + + +// new Label(composite, SWT.NONE) +// .setText(PHPDebugUiMessages +// .getString("LaunchConfigurationTab.PHPArguments.program_args_box_title")); + Group grpProgArgs = new Group(composite, SWT.NONE); + grpProgArgs.setText(PHPDebugUiMessages + .getString("LaunchConfigurationTab.PHPArguments.program_args_box_title")); + grpProgArgs.setLayoutData(new GridData(GridData.FILL_BOTH)); + grpProgArgs.setLayout(new GridLayout()); + programArgsText = new Text(grpProgArgs, SWT.MULTI | SWT.V_SCROLL + | SWT.BORDER | SWT.WRAP); programArgsText.setLayoutData(new GridData(GridData.FILL_BOTH)); + programArgsText.addModifyListener(fListener); } protected void setUseDefaultWorkingDirectory(boolean useDefault) { if (!useDefaultWorkingDirectoryButton.getSelection() == useDefault) useDefaultWorkingDirectoryButton.setSelection(useDefault); if (useDefault) - workingDirectorySelector.setSelectionText(PHPDebugUiConstants.DEFAULT_WORKING_DIRECTORY); + workingDirectorySelector + .setSelectionText(PHPDebugUiConstants.DEFAULT_WORKING_DIRECTORY); workingDirectorySelector.setEnabled(!useDefault); } public void setDefaults(ILaunchConfigurationWorkingCopy configuration) { - //setUseDefaultWorkingDirectory(true); - configuration.setAttribute(PHPLaunchConfigurationAttribute.WORKING_DIRECTORY, PHPDebugUiConstants.DEFAULT_WORKING_DIRECTORY); + configuration.setAttribute( + PHPLaunchConfigurationAttribute.WORKING_DIRECTORY, + PHPDebugUiConstants.DEFAULT_WORKING_DIRECTORY); // set hidden attribute - configuration.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, "net.sourceforge.phpdt.debug.ui.PHPSourceLocator") ; + configuration.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, + "net.sourceforge.phpdt.debug.ui.PHPSourceLocator"); } public void initializeFrom(ILaunchConfiguration configuration) { String workingDirectory = "", interpreterArgs = "", programArgs = ""; boolean useDefaultWorkDir = true; try { - workingDirectory = configuration.getAttribute(PHPLaunchConfigurationAttribute.WORKING_DIRECTORY, ""); - interpreterArgs = configuration.getAttribute(PHPLaunchConfigurationAttribute.INTERPRETER_ARGUMENTS, ""); - programArgs = configuration.getAttribute(PHPLaunchConfigurationAttribute.PROGRAM_ARGUMENTS, ""); - useDefaultWorkDir = configuration.getAttribute(PHPLaunchConfigurationAttribute.USE_DEFAULT_WORKING_DIRECTORY, true); + workingDirectory = configuration.getAttribute( + PHPLaunchConfigurationAttribute.WORKING_DIRECTORY, ""); + interpreterArgs = configuration.getAttribute( + PHPLaunchConfigurationAttribute.INTERPRETER_ARGUMENTS, ""); + programArgs = configuration.getAttribute( + PHPLaunchConfigurationAttribute.PROGRAM_ARGUMENTS, ""); + useDefaultWorkDir = configuration + .getAttribute( + PHPLaunchConfigurationAttribute.USE_DEFAULT_WORKING_DIRECTORY, + true); } catch (CoreException e) { log(e); } @@ -104,16 +174,24 @@ public class PHPArgumentsTab extends AbstractLaunchConfigurationTab { } public void performApply(ILaunchConfigurationWorkingCopy configuration) { - configuration.setAttribute(PHPLaunchConfigurationAttribute.WORKING_DIRECTORY, workingDirectorySelector.getValidatedSelectionText()); - configuration.setAttribute(PHPLaunchConfigurationAttribute.INTERPRETER_ARGUMENTS, interpreterArgsText.getText()); - configuration.setAttribute(PHPLaunchConfigurationAttribute.PROGRAM_ARGUMENTS, programArgsText.getText()); - configuration.setAttribute(PHPLaunchConfigurationAttribute.USE_DEFAULT_WORKING_DIRECTORY, useDefaultWorkingDirectoryButton.getSelection()); + configuration.setAttribute( + PHPLaunchConfigurationAttribute.WORKING_DIRECTORY, + workingDirectorySelector.getValidatedSelectionText()); + configuration.setAttribute( + PHPLaunchConfigurationAttribute.INTERPRETER_ARGUMENTS, + interpreterArgsText.getText()); + configuration.setAttribute( + PHPLaunchConfigurationAttribute.PROGRAM_ARGUMENTS, + programArgsText.getText()); + configuration.setAttribute( + PHPLaunchConfigurationAttribute.USE_DEFAULT_WORKING_DIRECTORY, + useDefaultWorkingDirectoryButton.getSelection()); } protected Composite createPageRoot(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout compositeLayout = new GridLayout(); - compositeLayout.marginWidth = 0; +// compositeLayout.marginWidth = 0; compositeLayout.numColumns = 1; composite.setLayout(compositeLayout); @@ -122,14 +200,17 @@ public class PHPArgumentsTab extends AbstractLaunchConfigurationTab { } public String getName() { - return PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPArguments.name"); + return PHPDebugUiMessages + .getString("LaunchConfigurationTab.PHPArguments.name"); } public boolean isValid(ILaunchConfiguration launchConfig) { try { - String workingDirectory = launchConfig.getAttribute(PHPLaunchConfigurationAttribute.WORKING_DIRECTORY, ""); + String workingDirectory = launchConfig.getAttribute( + PHPLaunchConfigurationAttribute.WORKING_DIRECTORY, ""); if (workingDirectory.length() == 0) { - setErrorMessage(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPArguments.working_dir_error_message")); + setErrorMessage(PHPDebugUiMessages + .getString("LaunchConfigurationTab.PHPArguments.working_dir_error_message")); return false; } } catch (CoreException e) { @@ -139,7 +220,7 @@ public class PHPArgumentsTab extends AbstractLaunchConfigurationTab { setErrorMessage(null); return true; } - + protected void log(Throwable t) { PHPDebugUiPlugin.log(t); }