From b917b3724e62cf68160c9e5d08d9e8524d28bbe0 Mon Sep 17 00:00:00 2001 From: robekras Date: Mon, 2 Jan 2012 19:56:06 +0000 Subject: [PATCH] 1) Although dbg will be dropped from being supported or bundled with PHPeclipse, some fixes. --- .../debug/ui/PHPDebugUiMessages.properties | 121 +++++++++-------- .../debug/ui/launcher/PHPEnvironmentTab.java | 142 +++++++++++--------- 2 files changed, 142 insertions(+), 121 deletions(-) diff --git a/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/PHPDebugUiMessages.properties b/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/PHPDebugUiMessages.properties index 6cfffab..5cbc8b0 100644 --- a/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/PHPDebugUiMessages.properties +++ b/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/PHPDebugUiMessages.properties @@ -3,79 +3,80 @@ # LaunchConfigurationTab ######################################### -LaunchConfigurationTab.PHPArguments.name=Arguments -LaunchConfigurationTab.PHPArguments.working_dir=Working Directory: -LaunchConfigurationTab.PHPArguments.working_dir_browser_message=Select a working directory for the launch configuration -LaunchConfigurationTab.PHPArguments.working_dir_use_default_message=Use default working directory -LaunchConfigurationTab.PHPArguments.working_dir_error_message=Invalid working directory -LaunchConfigurationTab.PHPArguments.interpreter_args_box_title=Interpreter Arguments: -LaunchConfigurationTab.PHPArguments.program_args_box_title=Program Arguments: +LaunchConfigurationTab.PHPArguments.name =Arguments +LaunchConfigurationTab.PHPArguments.working_dir =Working Directory: +LaunchConfigurationTab.PHPArguments.working_dir_browser_message =Select a working directory for the launch configuration +LaunchConfigurationTab.PHPArguments.working_dir_use_default_message =Use default working directory +LaunchConfigurationTab.PHPArguments.working_dir_error_message =Invalid working directory +LaunchConfigurationTab.PHPArguments.interpreter_args_box_title =Interpreter Arguments: +LaunchConfigurationTab.PHPArguments.program_args_box_title =Program Arguments: -LaunchConfigurationTab.PHPEntryPoint.name=File -LaunchConfigurationTab.PHPEntryPoint.projectLabel=&Project: -LaunchConfigurationTab.PHPEntryPoint.projectSelectorMessage=Choose the project containing the application entry point: -LaunchConfigurationTab.PHPEntryPoint.invalidProjectSelectionMessage=Invalid project selection. -LaunchConfigurationTab.PHPEntryPoint.fileLabel=&File: -LaunchConfigurationTab.PHPEntryPoint.fileSelectorMessage=Choose the PHP file that represents the application entry point: -LaunchConfigurationTab.PHPEntryPoint.invalidFileSelectionMessage=Invalid PHP file. +LaunchConfigurationTab.PHPEntryPoint.name =File +LaunchConfigurationTab.PHPEntryPoint.projectLabel =&Project: +LaunchConfigurationTab.PHPEntryPoint.projectSelectorMessage =Choose the project containing the application entry point: +LaunchConfigurationTab.PHPEntryPoint.invalidProjectSelectionMessage =Invalid project selection. +LaunchConfigurationTab.PHPEntryPoint.fileLabel =&File: +LaunchConfigurationTab.PHPEntryPoint.fileSelectorMessage =Choose the PHP file that represents the application entry point: +LaunchConfigurationTab.PHPEntryPoint.invalidFileSelectionMessage =Invalid PHP file. -LaunchConfigurationTab.PHPEnvironment.name=Environment -LaunchConfigurationTab.PHPEnvironment.loadPathTab.label=Load&path -LaunchConfigurationTab.PHPEnvironment.loadPathDefaultButton.label=&Use default loadpath -LaunchConfigurationTab.PHPEnvironment.interpreterAddButton.label=N&ew... -LaunchConfigurationTab.PHPEnvironment.interpreterTab.label=&Interpreter -LaunchConfigurationTab.PHPEnvironment.editInterpreterDialog.title=Add Interpreter -LaunchConfigurationTab.PHPEnvironment.interpreter_not_selected_error_message=No interpreter has been selected +LaunchConfigurationTab.PHPEnvironment.name =Environment +LaunchConfigurationTab.PHPEnvironment.loadPathTab.label =Load&path +LaunchConfigurationTab.PHPEnvironment.loadPathDefaultButton.label =&Use default loadpath +LaunchConfigurationTab.PHPEnvironment.interpreterAddButton.label =N&ew... +LaunchConfigurationTab.PHPEnvironment.interpreterTab.label =&Interpreter +LaunchConfigurationTab.PHPEnvironment.editInterpreterDialog.title =Add Interpreter +LaunchConfigurationTab.PHPEnvironment.interpreter_not_selected_error_message =No interpreter has been selected -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.label=Remote &Debug -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.RemoteCheckBox.label=Remote &Debug -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.RemoteTranslate.label=Cross Platform debugging -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.RemoteSourcePath.label=Remote &Sourcepath: -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.OpenDBGSessionInBrowserCheckBox.label=Open with DBGSession URL in internal Browser -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.OpenDBGSessionInExternalBrowserCheckBox.label=Use external Web browser -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.label=Mapped Path: -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.Table.Title.remote=remote -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.Table.Title.local=local -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.Button.Add.label=Add -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.Button.Edit.label=Edit -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.Button.Remove.label=Remove -LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.TargetFile.label=Target File: +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.label =Remote &Debug +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.RemoteCheckBox.label =Remote &Debug +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.RemoteTranslate.label =Cross Platform debugging +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.RemoteSourcePath.label =Remote &Sourcepath: +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.OpenDBGSessionInBrowserCheckBox.label =Open with DBGSession URL in internal Browser +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.OpenDBGSessionInExternalBrowserCheckBox.label =Use external Web browser +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.RelaunchOnScriptTermination.label =Relaunch debugger on script termination +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.label =Mapped Path: +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.Table.Title.remote =remote +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.Table.Title.local =local +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.Button.Add.label =Add +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.Button.Edit.label =Edit +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.PathMap.Button.Remove.label =Remove +LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.TargetFile.label =Target File: -LaunchConfigurationShortcut.PHP.multipleConfigurationsError=The file you are trying to launch has multiple configurations associated with it.\nPlease launch using 'Run...' and choose a configuration. +LaunchConfigurationShortcut.PHP.multipleConfigurationsError =The file you are trying to launch has multiple configurations associated with it.\nPlease launch using 'Run...' and choose a configuration. -LaunchConfigurationTab.PHPEnvironment2.CGIButton=CGI-Vars... +LaunchConfigurationTab.PHPEnvironment2.CGIButton =CGI-Vars... ######################################### # PHP Interpreter configuration ######################################### -EditInterpreterDialog.PHPInterpreter.path.label=Location: -EditInterpreterDialog.PHPInterpreter.path.browse.button.label=Browse... -EditInterpreterDialog.PHPInterpreter.path.error=The directory containing PHP must be selected -EditInterpreterDialog.PHPInterpreter.name=Interpreter Name: -EditInterpreterDialog.PHPInterpreter.name.error=Name cannot be empty -EditInterpreterDialog.PHPInterpreter.path.browse.message=Choose location +EditInterpreterDialog.PHPInterpreter.path.label =Location: +EditInterpreterDialog.PHPInterpreter.path.browse.button.label =Browse... +EditInterpreterDialog.PHPInterpreter.path.error =The directory containing PHP must be selected +EditInterpreterDialog.PHPInterpreter.name =Interpreter Name: +EditInterpreterDialog.PHPInterpreter.name.error =Name cannot be empty +EditInterpreterDialog.PHPInterpreter.path.browse.message =Choose location -PHPInterpreterPreferencePage.addButton.label=Add -PHPInterpreterPreferencePage.editButton.label=Edit -PHPInterpreterPreferencePage.removeButton.label=Remove -PHPInterpreterPreferencePage.PHPInterpreterTable.interpreterName=Name -PHPInterpreterPreferencePage.PHPInterpreterTable.interpreterPath=Location +PHPInterpreterPreferencePage.addButton.label =Add +PHPInterpreterPreferencePage.editButton.label =Edit +PHPInterpreterPreferencePage.removeButton.label =Remove +PHPInterpreterPreferencePage.PHPInterpreterTable.interpreterName =Name +PHPInterpreterPreferencePage.PHPInterpreterTable.interpreterPath =Location -PHPInterpreterPreferencePage.EditInterpreterDialog.addInterpreter.title=Add Interpreter -PHPInterpreterPreferencePage.EditInterpreterDialog.editInterpreter.title=Edit Interpreter +PHPInterpreterPreferencePage.EditInterpreterDialog.addInterpreter.title =Add Interpreter +PHPInterpreterPreferencePage.EditInterpreterDialog.editInterpreter.title =Edit Interpreter -PHPBasePreferencePage.label=General Properties +PHPBasePreferencePage.label =General Properties -#PHPManageBreakpointRulerAction.AddBreakpoint=Add Breakpoint -#PHPManageBreakpointRulerAction.RemoveBreakpoint=Remove Breakpoint -PHPManageBreakpointRulerAction.ToggleBreakpoint=Toggle &Breakpoint +#PHPManageBreakpointRulerAction.AddBreakpoint =Add Breakpoint +#PHPManageBreakpointRulerAction.RemoveBreakpoint =Remove Breakpoint +PHPManageBreakpointRulerAction.ToggleBreakpoint =Toggle &Breakpoint -PHPDebugModelPresentation.= -PHPDebugModelPresentation.line=line: -EditPathMapDialog.Browse=Browse... -EditPathMapDialog.Remote_Path=Remote Path: -EditPathMapDialog.Select_the_directory_to_map=Select the directory to map -EditPathDialog.Local_Path=Local Path: +PHPDebugModelPresentation. = +PHPDebugModelPresentation.line =line: +EditPathMapDialog.Browse =Browse... +EditPathMapDialog.Remote_Path =Remote Path: +EditPathMapDialog.Select_the_directory_to_map =Select the directory to map +EditPathDialog.Local_Path =Local Path: -PHPDebugHover.16=Press F2 for focus. \ No newline at end of file +PHPDebugHover.16 =Press F2 for focus. diff --git a/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPEnvironmentTab.java b/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPEnvironmentTab.java index 87e8a33..bc9d08f 100644 --- a/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPEnvironmentTab.java +++ b/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/launcher/PHPEnvironmentTab.java @@ -54,27 +54,19 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { protected java.util.List installedInterpretersWorkingCopy; - protected Combo interpreterCombo; + protected Combo interpreterCombo; // protected Button loadPathDefaultButton; - protected Button fRemoteDebugCheckBox; - - protected Button fRemoteDebugTranslate; - - protected Button fOpenDBGSessionInBrowserCheckBox; - - protected Button fOpenDBGSessionInExternalBrowserCheckBox; - - protected Button fPathMapRemoveButton; - - protected Button fPathMapAddButton; - - protected Button fPathMapEditButton; - - protected Text fRemoteSourcePath; - - protected Table fRemoteDebugPathMapTable; - + protected Button fRemoteDebugCheckBox; + protected Button fRelaunchOnScriptTerminationCheckBox; + protected Button fRemoteDebugTranslate; + protected Button fOpenDBGSessionInBrowserCheckBox; + protected Button fOpenDBGSessionInExternalBrowserCheckBox; + protected Button fPathMapRemoveButton; + protected Button fPathMapAddButton; + protected Button fPathMapEditButton; + protected Text fRemoteSourcePath; + protected Table fRemoteDebugPathMapTable; protected TabFolder tabFolder; private Text targetFile; @@ -86,7 +78,7 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { /* * (non-Javadoc) - * + * * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent) */ public void modifyText(ModifyEvent e) { @@ -96,7 +88,7 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { /* * (non-Javadoc) - * + * * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetSelected(SelectionEvent e) { @@ -111,6 +103,8 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { handlePathMapRemoveButtonSelected(); } else if (source == fRemoteDebugCheckBox) { setRemoteTabEnableState(); + } else if (source == fRelaunchOnScriptTerminationCheckBox) { + setRemoteTabEnableState(); } else if (source == fRemoteDebugTranslate) { setRemoteTabEnableState(); } else if (source == fOpenDBGSessionInBrowserCheckBox) { @@ -123,17 +117,13 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { } - private static final String EMPTY_STRING = ""; //$NON-NLS-1$ - - private RemoteDebugTabListener fListener = new RemoteDebugTabListener(); - - private static final boolean DEFAULT_REMOTE_DEBUG = false; - - private static final boolean DEFAULT_REMOTE_DEBUG_TRANSLATE = false; - - private static final boolean DEFAULT_OPEN_DBGSESSION_IN_BROWSER = true; - - private static final boolean DEFAULT_OPEN_DBGSESSION_IN_EXTERNAL_BROWSER = false; + private static final String EMPTY_STRING = ""; //$NON-NLS-1$ + private RemoteDebugTabListener fListener = new RemoteDebugTabListener(); + private static final boolean DEFAULT_REMOTE_DEBUG = false; + private static final boolean DEFAULT_REMOTE_DEBUG_TRANSLATE = false; + private static final boolean DEFAULT_OPEN_DBGSESSION_IN_BROWSER = true; + private static final boolean DEFAULT_OPEN_DBGSESSION_IN_EXTERNAL_BROWSER = false; + private static final boolean DEFAULT_RELAUNCH_ON_SCRIPT_TERMINATION = true; static String[] columnTitles = { PHPDebugUiMessages @@ -206,6 +196,13 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { .addSelectionListener(fListener); // addendum + fRelaunchOnScriptTerminationCheckBox = new Button (comp, SWT.CHECK); + fRelaunchOnScriptTerminationCheckBox + .setText (PHPDebugUiMessages + .getString ("LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.RelaunchOnScriptTermination.label")); + fRelaunchOnScriptTerminationCheckBox.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_BEGINNING)); + fRelaunchOnScriptTerminationCheckBox.addSelectionListener (fListener); + label = new Label(comp, SWT.NONE); label .setText(PHPDebugUiMessages @@ -364,21 +361,22 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { */ private void setRemoteTabEnableState() { boolean state = fRemoteDebugCheckBox.getSelection(); - fRemoteSourcePath.setEnabled(state); - fRemoteDebugTranslate.setEnabled(state); - fRemoteDebugPathMapTable.setEnabled(state); + fRemoteSourcePath.setEnabled (state); + fRemoteDebugTranslate.setEnabled (state); + fRemoteDebugPathMapTable.setEnabled (state); + if (!state) { - fPathMapEditButton.setEnabled(false); - fPathMapRemoveButton.setEnabled(false); - fPathMapAddButton.setEnabled(false); - fOpenDBGSessionInBrowserCheckBox.setEnabled(false); - fOpenDBGSessionInExternalBrowserCheckBox.setEnabled(false); + fPathMapEditButton.setEnabled (false); + fPathMapRemoveButton.setEnabled (false); + fPathMapAddButton.setEnabled (false); + fOpenDBGSessionInBrowserCheckBox.setEnabled (false); + fOpenDBGSessionInExternalBrowserCheckBox.setEnabled (false); } else { - setPathMapButtonsEnableState(); + setPathMapButtonsEnableState (); } - updateLaunchConfigurationDialog(); + updateLaunchConfigurationDialog (); } /** @@ -388,32 +386,36 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { private void setPathMapButtonsEnableState() { // just do nothing for now // - if (fRemoteDebugCheckBox.getSelection()) { - fOpenDBGSessionInBrowserCheckBox.setEnabled(true); + if (fRemoteDebugCheckBox.getSelection ()) { + fOpenDBGSessionInBrowserCheckBox.setEnabled (true); fOpenDBGSessionInExternalBrowserCheckBox - .setEnabled(fOpenDBGSessionInBrowserCheckBox.getSelection()); - fRemoteDebugTranslate.setEnabled(true); + .setEnabled (fOpenDBGSessionInBrowserCheckBox.getSelection ()); + fRemoteDebugTranslate.setEnabled (true); + int selectCount = this.fRemoteDebugPathMapTable - .getSelectionIndices().length; + .getSelectionIndices ().length; + if (selectCount < 1) { - fPathMapEditButton.setEnabled(false); - fPathMapRemoveButton.setEnabled(false); + fPathMapEditButton.setEnabled (false); + fPathMapRemoveButton.setEnabled (false); } else { - fPathMapRemoveButton.setEnabled(true); + fPathMapRemoveButton.setEnabled (true); + if (selectCount == 1) { - fPathMapEditButton.setEnabled(true); + fPathMapEditButton.setEnabled (true); } else { - fPathMapEditButton.setEnabled(false); + fPathMapEditButton.setEnabled (false); } } - fPathMapAddButton.setEnabled(true); + + fPathMapAddButton.setEnabled (true); } } /** * Show the specified dialog and update the pathMapTable table based on its * results. - * + * * @param updateItem * the item to update, or null if adding a new * item @@ -474,7 +476,7 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { // loadPathDefaultButton.setLayoutData(new // GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); // loadPathDefaultButton.addSelectionListener(getLoadPathDefaultButtonSelectionListener()); - // + // // loadPathDefaultButton.setEnabled(false); //for now, until the load path // is customizable on the configuration // } @@ -606,7 +608,9 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { } catch (CoreException ce) { fRemoteDebugCheckBox.setSelection(DEFAULT_REMOTE_DEBUG); } + tabFolder.setSelection(fRemoteDebugCheckBox.getSelection() ? 0 : 1); + try { fRemoteDebugTranslate.setSelection(configuration.getAttribute( PHPLaunchConfigurationAttribute.REMOTE_DEBUG_TRANSLATE, @@ -614,6 +618,7 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { } catch (CoreException ce) { fRemoteDebugTranslate.setSelection(DEFAULT_REMOTE_DEBUG_TRANSLATE); } + try { fOpenDBGSessionInBrowserCheckBox .setSelection(configuration @@ -624,6 +629,7 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { fOpenDBGSessionInBrowserCheckBox .setSelection(DEFAULT_OPEN_DBGSESSION_IN_BROWSER); } + try { fOpenDBGSessionInExternalBrowserCheckBox .setSelection(configuration @@ -632,9 +638,21 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { DEFAULT_OPEN_DBGSESSION_IN_EXTERNAL_BROWSER)); } catch (CoreException ce) { fOpenDBGSessionInExternalBrowserCheckBox - .setSelection(DEFAULT_OPEN_DBGSESSION_IN_EXTERNAL_BROWSER); + .setSelection (DEFAULT_OPEN_DBGSESSION_IN_EXTERNAL_BROWSER); + } + + try { + fRelaunchOnScriptTerminationCheckBox + .setSelection (configuration + .getAttribute ( + PHPLaunchConfigurationAttribute.RELAUNCH_ON_SCRIPT_TERMINATION, + DEFAULT_RELAUNCH_ON_SCRIPT_TERMINATION)); + } catch (CoreException ce) { + fRelaunchOnScriptTerminationCheckBox + .setSelection (DEFAULT_RELAUNCH_ON_SCRIPT_TERMINATION); } + setRemoteTabEnableState(); try { @@ -796,10 +814,12 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { configuration.setAttribute( PHPLaunchConfigurationAttribute.OPEN_DBGSESSION_IN_BROWSER, fOpenDBGSessionInBrowserCheckBox.getSelection()); - configuration - .setAttribute( - PHPLaunchConfigurationAttribute.OPEN_DBGSESSION_IN_EXTERNAL_BROWSER, - fOpenDBGSessionInExternalBrowserCheckBox.getSelection()); + configuration.setAttribute( + PHPLaunchConfigurationAttribute.OPEN_DBGSESSION_IN_EXTERNAL_BROWSER, + fOpenDBGSessionInExternalBrowserCheckBox.getSelection()); + configuration.setAttribute( + PHPLaunchConfigurationAttribute.RELAUNCH_ON_SCRIPT_TERMINATION, + fRelaunchOnScriptTerminationCheckBox.getSelection()); } protected Composite createPageRoot(Composite parent) { @@ -920,4 +940,4 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab { targetFile.setText(path); } -} \ No newline at end of file +} -- 1.7.1