--- /dev/null
+package net.sourceforge.phpdt.internal.debug.ui;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.QualifiedName;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbenchPropertyPage;
+import org.eclipse.ui.dialogs.PropertyPage;
+
+public class PHPExecutionArgumentsPage extends PropertyPage implements IWorkbenchPropertyPage {
+ protected Text interpreterArgumentsText, programArgumentsText;
+
+ public PHPExecutionArgumentsPage() {
+ }
+
+ protected Control createContents(Composite parent) {
+ noDefaultAndApplyButton();
+
+ Composite composite = new Composite(parent, SWT.NONE);
+
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ composite.setLayout(layout);
+ new Label(composite, SWT.NONE).setText(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPArguments.interpreter_args_box_title"));
+ new Label(composite, SWT.NONE).setText(" ");
+ interpreterArgumentsText = new Text(composite, SWT.BORDER);
+ GridData interpreterArgumentsData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+ interpreterArgumentsData.horizontalSpan = 2;
+ interpreterArgumentsText.setLayoutData(interpreterArgumentsData);
+ interpreterArgumentsText.setText(getArgument("interpreter"));
+
+ new Label(composite, SWT.NONE).setText(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPArguments.program_args_box_title"));
+ programArgumentsText = new Text(composite, SWT.BORDER);
+ GridData programArgumentsData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+ programArgumentsData.horizontalSpan = 2;
+ programArgumentsText.setLayoutData(programArgumentsData);
+ programArgumentsText.setText(getArgument("program"));
+
+ return composite;
+ }
+
+ protected String getArgument(String name) {
+ String argumentValue = null;
+ try {
+ argumentValue = ((IFile)getElement()).getPersistentProperty(new QualifiedName("executionArguments", name));
+ } catch(CoreException e) {}
+
+ return argumentValue != null ? argumentValue : "";
+ }
+
+ public boolean performOk() {
+ IFile phpFile = (IFile)getElement();
+ try {
+ phpFile.setPersistentProperty(new QualifiedName("executionArguments", "interpreter"), interpreterArgumentsText.getText());
+ phpFile.setPersistentProperty(new QualifiedName("executionArguments", "program"), programArgumentsText.getText());
+ } catch(CoreException e) {
+ PHPDebugUiPlugin.log(e);
+ return false;
+ }
+ return true;
+ }
+
+}