This commit was manufactured by cvs2svn to create tag 'v20020627'.

Sprout from master 2002-06-26 15:33:20 UTC Dean Roberts <droberts> 'Add back about.html, cpl-v10.html, notice.html '
Delete:
    org.eclipse.debug.core/.classpath
    org.eclipse.debug.core/.cvsignore
    org.eclipse.debug.core/.options
    org.eclipse.debug.core/.project
    org.eclipse.debug.core/about.html
    org.eclipse.debug.core/build.properties
    org.eclipse.debug.core/buildnotes_platform-debug.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ProcessMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/RuntimeProcess.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
    org.eclipse.debug.core/doc/hglegal.htm
    org.eclipse.debug.core/doc/ngibmcpy.gif
    org.eclipse.debug.core/doc/org_eclipse_debug_core.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_breakpoints.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_launch_configuration_comparators.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_launch_configuration_types.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_source_locators.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_status_handlers.html
    org.eclipse.debug.core/plugin.properties
    org.eclipse.debug.core/plugin.xml
    org.eclipse.debug.core/scripts/exportplugin.xml
    org.eclipse.debug.ui/.classpath
    org.eclipse.debug.ui/.cvsignore
    org.eclipse.debug.ui/.options
    org.eclipse.debug.ui/.project
    org.eclipse.debug.ui/about.html
    org.eclipse.debug.ui/build.properties
    org.eclipse.debug.ui/doc/hglegal.htm
    org.eclipse.debug.ui/doc/ngibmcpy.gif
    org.eclipse.debug.ui/doc/org_eclipse_debug_ui.html
    org.eclipse.debug.ui/doc/org_eclipse_debug_ui_debugActionGroups.html
    org.eclipse.debug.ui/doc/org_eclipse_debug_ui_debugModelPresentations.html
    org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchConfigurationTabGroups.html
    org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchConfigurationTypeImages.html
    org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchShortcuts.html
    org.eclipse.debug.ui/icons/full/clcl16/changevariablevalue_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/clear_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/copy_edit_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/debuglast_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/disabled_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/disconnect_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/enabled_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/metharg_obj.gif
    org.eclipse.debug.ui/icons/full/clcl16/rem_all_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/rem_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/resume_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/runlast_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/stepinto_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/stepover_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/stepreturn_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/suspend_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/terminate_all_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/terminate_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/terminate_rem_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/tnames_co.gif
    org.eclipse.debug.ui/icons/full/clcl16/toggledetailpane_co.gif
    org.eclipse.debug.ui/icons/full/ctool16/debug_exc.gif
    org.eclipse.debug.ui/icons/full/ctool16/run_exc.gif
    org.eclipse.debug.ui/icons/full/cview16/breakpoint_view.gif
    org.eclipse.debug.ui/icons/full/cview16/console_view.gif
    org.eclipse.debug.ui/icons/full/cview16/debug_persp.gif
    org.eclipse.debug.ui/icons/full/cview16/debug_view.gif
    org.eclipse.debug.ui/icons/full/cview16/process_view.gif
    org.eclipse.debug.ui/icons/full/cview16/variable_view.gif
    org.eclipse.debug.ui/icons/full/cview16/watchlist_view.gif
    org.eclipse.debug.ui/icons/full/dlcl16/changevariablevalue_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/clear_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/copy_edit_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/debuglast_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/disabled_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/disconnect_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/enabled_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/metharg_obj.gif
    org.eclipse.debug.ui/icons/full/dlcl16/rem_all_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/rem_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/resume_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/runlast_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/stepinto_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/stepover_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/stepreturn_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/suspend_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/terminate_all_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/terminate_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/terminate_rem_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/tnames_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/toggledetailpane_co.gif
    org.eclipse.debug.ui/icons/full/dtool16/debug_exc.gif
    org.eclipse.debug.ui/icons/full/dtool16/run_exc.gif
    org.eclipse.debug.ui/icons/full/elcl16/changevariablevalue_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/clear_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/copy_edit_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/debuglast_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/disabled_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/disconnect_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/enabled_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/metharg_obj.gif
    org.eclipse.debug.ui/icons/full/elcl16/rem_all_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/rem_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/resume_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/runlast_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/stepinto_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/stepover_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/stepreturn_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/suspend_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/terminate_all_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/terminate_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/terminate_rem_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/tnames_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/toggledetailpane_co.gif
    org.eclipse.debug.ui/icons/full/etool16/debug_exc.gif
    org.eclipse.debug.ui/icons/full/etool16/run_exc.gif
    org.eclipse.debug.ui/icons/full/eview16/breakpoint_view.gif
    org.eclipse.debug.ui/icons/full/eview16/console_view.gif
    org.eclipse.debug.ui/icons/full/eview16/debug_persp.gif
    org.eclipse.debug.ui/icons/full/eview16/debug_view.gif
    org.eclipse.debug.ui/icons/full/eview16/process_view.gif
    org.eclipse.debug.ui/icons/full/eview16/variable_view.gif
    org.eclipse.debug.ui/icons/full/eview16/watchlist_view.gif
    org.eclipse.debug.ui/icons/full/obj16/brkp_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/brkpd_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/debugt_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/debugtt_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/expression_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/genericvariable_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/ldebug_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/lrun_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/osprc_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/osprct_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/stckframe_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/stckframe_running_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/terminatedlaunch_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/thread_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/threads_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/threadt_obj.gif
    org.eclipse.debug.ui/icons/full/ovr16/error.gif
    org.eclipse.debug.ui/icons/full/ovr16/stcksync_ov.gif
    org.eclipse.debug.ui/icons/full/ovr16/transparent.gif
    org.eclipse.debug.ui/icons/full/wizban/debug_wiz.gif
    org.eclipse.debug.ui/icons/full/wizban/run_wiz.gif
    org.eclipse.debug.ui/plugin.properties
    org.eclipse.debug.ui/plugin.xml
    org.eclipse.debug.ui/scripts/exportplugin.xml
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPropertiesAdapterFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/PixelConverter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTUtil.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractListenerActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ClearOutputAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConsoleTerminateActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyToClipboardActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyVariablesToClipboardActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugDropDownAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugWithConfigurationAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisconnectActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchDropDownAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchWithConfigurationAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenBreakpointMarkerAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenLaunchConfigurationsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchHistoryLaunchAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllExpressionsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveBreakpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ResumeActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunDropDownAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunWithConfigurationAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllExpressionsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllVariablesAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowDetailPaneAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowSupportedBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowTypesAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepIntoActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepOverActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepReturnActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SuspendActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAllAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAndRemoveActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TextViewerAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TextViewerGotoLineAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationHistoryElement.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ComboFieldEditor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsActionContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsPreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugHistoryPreferenceTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchHistoryPreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchHistoryPreferenceTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunHistoryPreferenceTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/VariableViewsPreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandlerView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsSorter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocument.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleOutputTextStore.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/package.html
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/package.html
diff --git a/org.eclipse.debug.core/.classpath b/org.eclipse.debug.core/.classpath
deleted file mode 100644
index 3366e37..0000000
--- a/org.eclipse.debug.core/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="core"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.apache.xerces"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.debug.core/.cvsignore b/org.eclipse.debug.core/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/org.eclipse.debug.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/org.eclipse.debug.core/.options b/org.eclipse.debug.core/.options
deleted file mode 100644
index a3e35f6..0000000
--- a/org.eclipse.debug.core/.options
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.debug.core/debug=true
\ No newline at end of file
diff --git a/org.eclipse.debug.core/.project b/org.eclipse.debug.core/.project
deleted file mode 100644
index 7fa91f5..0000000
--- a/org.eclipse.debug.core/.project
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.debug.core</name>

-	<comment></comment>

-	<projects>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.apache.xerces</project>

-		<project>org.eclipse.core.resources</project>

-	</projects>

-	<buildSpec>

-		<buildCommand>

-			<name>org.eclipse.jdt.core.javabuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

-		<nature>org.eclipse.jdt.core.javanature</nature>

-	</natures>

-</projectDescription>

diff --git a/org.eclipse.debug.core/about.html b/org.eclipse.debug.core/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.debug.core/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.debug.core/build.properties b/org.eclipse.debug.core/build.properties
deleted file mode 100644
index 9a9904e..0000000
--- a/org.eclipse.debug.core/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = .options,\

-               plugin.xml,\

-               plugin.properties,\

-               *.jar,\

-               about.html

-source.dtcore.jar = core/

-src.includes=about.html

diff --git a/org.eclipse.debug.core/buildnotes_platform-debug.html b/org.eclipse.debug.core/buildnotes_platform-debug.html
deleted file mode 100644
index b592dfb..0000000
--- a/org.eclipse.debug.core/buildnotes_platform-debug.html
+++ /dev/null
@@ -1,1102 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-   <meta name="Author" content="IBM">

-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">

-   <title>Platform Debug Release Notes</title>

-</head>

-<body>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-June 20, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20365">20365</a>: Bidi - NPE when closing Eclipse<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-June 19, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20492">20492</a>: Extra separator in run/debug history menus<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19878">19878</a>: Collapse/expand symbol (+/-) dissappears in inspect window<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19998">19998</a>: NullPointerException when launching rsource that has no extension<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20066">20066</a>: TVT2: Hardcoded "None" in debug preferences<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20594">20594</a>: Preference listeners should use equals, not ==<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-June 12, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19928">19928</a>: Run/Debug menu ordering<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-June 11, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17462">17462</a>: IllegalArgumentException when printing long stack to console<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19375">19375</a>: Duplicate launch config naming problem<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19170">19170</a>: LaunchConfigurationDialog etc leakage when last launched is Runtime<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19740">19740</a>: Content assist is now retargetable<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-June 10, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19613">19613</a>: LaunchConfig marked PRIVATE shows in Console View<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19338">19338</a>: Missing copyrights<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-June 7, 2002

-<h3>

-What's new in this drop</h3>

-<li>API change - a spelling mistake was fixed in the name of a method in IPersistableSourceLocator</li>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18789">18789</a>: Source editor not given focus on suspend<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19170">19170</a>: LaunchConfigurationDialog etc leakage when last launched is<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18772">18772</a>: Launch Configurations: Table is cut off on motif<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19379">19379</a>: Debug remembers selected state of toolbar entry even if it is no longer enabled<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19443">19443</a>: IPersistableSourceLocator has misspelled method<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19489">19489</a>: References to IDebugViewAdapter (DOC)<br>

-

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-June 1, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18209">18209</a>: Unable to run a program on first attempt<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-May 31, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15671">15671</a>: Strange behavior of the console view<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17017">17017</a>: Not always prompted to find source location<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18334">18334</a>: Launch view holding onto Objects longer than necessary<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18153">18153</a>: launch last and run/debug buttons<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18385">18385</a>: NPE during launching after removing the launch info<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16946">16946</a>: several Eclipse buttons are too short<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18474">18474</a>: Empty group in history menus<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16764">16764</a>: Debug Perspective leaks actions<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10383">10383</a>: Help pass for 2.0<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16152">16152</a>: NLS pass<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16379">16379</a>: Launch configs tree is missing label and is not wide enough<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-May 30, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17087">17087</a>: Launch view, source lookup and closed projects<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17029">17029</a>: DCR: Please let me specify a launch history size of 20<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16378">16378</a>: Missing icons in launch config creation tabs<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18156">18156</a>: Debug/Run As cascade menu should be sorted<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16462">16462</a>: Not all tabs visible in Run-time Workbench config<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18154">18154</a>: Launch shortcuts menu labels<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16685">16685</a>: Internal error changing launch history preference<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16963">16963</a>: Mneumonic missing on table label for Select Launch Configuration<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16975">16975</a>: Up/down button on launch history page not working correctly<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17512">17512</a>: Missing mneumonics in Console Preference page<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18222">18222</a>: All XML written using platform line delimiters/UTF8<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16955">16955</a>: NPE opening java perspective.<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17633">17633</a>: ActionDelegateHelper should nullify fTextEditor when it does not need it<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17380">17380</a>: Launch history maintains duplicate entries<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14406">14406</a>: Debug menu items becoming disabled inappropriately<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17794">17794</a>: Disabled actions in the context menu of the Launch config dialog viewer<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17358">17358</a>: Revert button not enabled after changes<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17116">17116</a>: Launch related walkbacks in .log<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-May 29, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18099">18099</a>: Change provider name<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17490">17490</a>: F1 help for launch config tabs<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18121">18121</a>: Static menus items should be at the top<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17649">17649</a>: ObjectCollectedException written to console<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16838">16838</a>: Over zealous error logging when config has been deleted<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17105">17105</a>: Attempt to save shared launch configs in closed projects<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18122">18122</a>: Scrapbook configs show up in list for Launch history pref page<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16970">16970</a>: ClassCastException out of Launch history preference page<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16492">16492</a>: CommonTab Switch to String<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16956">16956</a>: NPE opening java perspective<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17100">17100</a>: Launch Config name with underscore is truncated<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16638">16638</a>: Missing menmonic on Debug Action Groups page<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17072">17072</a>: "Show Supported Breakpoints" has just one calorie, not meaningful enough<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17946">17946</a>: Generalize launch shortcuts/convenience actions<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-May 28, 2002

-<h3>

-What's new in this drop</h3>

-<li>New/replaced extension point. The extension point "org.eclipse.debug.ui.launchConfigurationShortcuts" has

- been replaced with "org.eclipse.debug.ui.launchShortcuts". Please see extension point documentation

- for details.</li>

-

-<h3>

-Problem Reports Fixed</h3>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-May 27, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16757">16757</a>: Launch.removeDebugTarget does not work<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17534">17534</a>: Two huge bugs in Launch class<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17676">17676</a>: Run menu history menus not updated after organize favorites<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17069">17069</a>: NPE deleting project with shared config<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16655">16655</a>: Streams are not closed when a java program is finished<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-May 21, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16185">16185</a>: Show/hide package names button in doesn't work in debug view<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15964">15964</a>: Updates to preference pages<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16476">16476</a>: TextViewerGotoLineAction$NumberValidator<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-May 19, 2002

-<h3>

-What's new in this drop</h3>

-<li>API change - deprecated method was removed - ILaunchConfigurationTab.isValid()</li>

-<li>New extension point - org.eclipse.debug.core.launchConfigurationComparator. This 

- extension point is for launch configuration attributes that require a custom

- equality implementation. See documentation for extension point.</li>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15704">15704</a>: Default "Maximum launch history size" should be at least 10<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15560">15560</a>: Cancel button on edit Configurations is much smaller than others<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15952">15952</a>: Remove deprecated method<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15953">15953</a>: No longer expanding debug target to show threads<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15988">15988</a>: ArrayIndexOutOfBoundsException in config reselection<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16107">16107</a>: NPE opening editor<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16063">16063</a>: Preference pages now re-size<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16060">16060</a>: Re-sizable launch config dialog<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15850">15850</a>: LaunchView changes required from platform ui changes<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16143">16143</a>: Multiple *.launch filters<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12032">12032</a>: Debug Constants should include value in javadoc<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6485">6485</a>: Extension & Package documentation<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16217">16217</a>: launch config "revert" causes flicker<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16325">16325</a>: Content assist action icon<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16356">16356</a>: NPE out of ConsoleDocumentManager<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16148">16148</a>: IProcess should support an exit value<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14927">14927</a>: Cancel button in progress monitor of launch configuration dialog<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15775">15775</a>: Deleting launch config should select the next config<br>

-

-<h3>

-Problem Reports Closed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16113">16113</a>: Execution arguments gets lost if starting a class file of a jar library<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-May 14, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13766">13766</a>: Error recovery on failed launch - need to bring up dialog<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11540">11540</a>: Misc Debugger source lookup dialog<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15506">15506</a>: Switching launch configs should show busy cursor<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15618">15618</a>: DebugDropDownAction missing resource string<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15375">15375</a>: ClassCastException trying to resume<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15720">15720</a>: Debug perspective should define place holders for standard views<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12316">12316</a>: Message (stack trace) silently written to console when trying to run small java example<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4130">4130</a>: Eclipse Debugger: Setting Breakpoints via keyboard not possilbe (1GITILH)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15449">15449</a>: 'show detail pane' toolbar button behaves differently than other buttons<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12904">12904</a>: Creating shard Launch Configuration fails<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15748">15748</a>: Duplicate action in launch config dialog<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16848">15848</a>: Change Debug Menu id<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15533">15533</a>: DebugAction contains redundant cascade menu<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14922">14922</a>: Config created by double clicking on launch type; delete not enabled<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-May 08, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9034">9034</a>: Variables view should scroll to display new variables<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12001">12001</a>: Plug-in startup<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14412">14412</a>: Launch configuration XML should be written to file immediately<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15246">15246</a>: Allow private launch configs to perspective switch<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15325">15325</a>: Remove 'Configuration' from debug action labels<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1636">1636</a>: Copy/paste across console docs (1GF61GB)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13457">13457</a>: Should expose launch history length as user preference<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15024">15024</a>: Launch configuration dialog doesn't display "favorite" option<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15180">15180</a>: DND.ERROR_CANNOT_SET_CLIPBOARD must be handled<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14657">14657</a>: LaunchDropDownAction and coolbar support<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14897">14897</a>: many missing '...' on buttons in launch configs<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15362">15362</a>: Standard out not always hooked to console<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15446">15446</a>: first click in the debug/launch history preference page results in exception<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11894">11894</a>: Mneumonic collision in the debug menu<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-April 30, 2002

-<h3>

-What's new in this drop</h3>

-<li>Changes in the launch configuration dialog:

-	<ul>

-	<li>To free up screen real estate for editing launch configurations, the tree of launch

-		configurations has been made more narrow by removing the "copy" button from the

-		dialog. The "new" button copies a configuration when a configuration is selected, and

-		creates a new configuration (based on the workbench selection) when a configuration

-		type is selected.</li>

-	<li>The "Cancel" button has been replaced with a "Close" button (closing the dialog

-		does not cancel changes). You will be prompted to save unsaved changes.</li>

-	<li>A "Revert" button has been added to the edit area to revert changes on the 

-		currently selected launch configuration (under edit).</li>

-	</ul>

-</li>

-<li>Changes to launch behavior

-	<ul>

-	<li>Pressing the run or debug toolbar buttons launches the configuration that was last launched

-		(in the workspace), in the appropriate mode (run or debug).</li>

-	<li>To create a new launch configuration, use the cascading menu items on the run or debug

-		menu. For example "New Configuration -> Local Java Application" - this will create a new 

-		configuration based on the selection in the workbench (or active editor).</li>

-	<li>"Single-click launching" preference has been removed. It was determined that a preference

-		which changes the behavior of a toolbar button is disorienting to the user.</li>

-	</ul>

-</li>

-<li>Changes to ILaunchManager

-	<ul>

-	<li>API for setting default launch configuration types has been removed.</li>

-	</ul>

-</li>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13537">13537</a>: DebugActionGroups: Clearer wording in preference page<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13909">13909</a>: Inconsistent margins on preference pages<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11889">11889</a>: Buttons too small in the Console and Launch Configuration Preference pages<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13513">13513</a>: Running a debug view in a Java perspective has several problems<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13536">13536</a>: DebugActionGroups: Collision on ID wipes out both action groups<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13317">13317</a>: New Configuration menu empty<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14560">14560</a>: Deleting breakpoint selects another breakpoint in the wrong direction<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14143">14143</a>: Breakpoints View appears with "Go to file" button enabled regardless of breakpoints<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9834">9834</a>: Views do not remember package visibility filter settings<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11904">11904</a>: Debug menu mneumonics<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14797">14797</a>: NumberFormatException if cancel Go to line in console<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13440">13440</a>: menu reorganization<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14550">14550</a>: Need to be able to make launch configuration type invisible<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6388">6388</a>: Variables view's static and field buttons are backwards<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14495">14495</a>: clipboards must be disposed<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13665">13665</a>: Debug preference page looks cluttered<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14485">14485</a>: Cannot delete a launch config using the Delete key<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14486">14486</a>: Default perspective for Run should not be Debug<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11697">11697</a>: Debug Preference Page needs group box<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14540">14540</a>: Relaunch action not enabled correctly<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14556">14556</a>: Enable breakpoint action using old selection<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14520">14520</a>: Debug plugins should provide consistent unique identifier access<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12577">12577</a>: Launch configurations wizard - usability<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13555">13555</a>: Edit configuration dialog UI confusing<br>

-

-<h3>

-Problem Reports Closed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12292">12292</a>: Unable to suspend a running thread to see stack frames<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-April 23, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13836">13836</a>: Missing and duplicated extensions in debug plugin.xml<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12125">12125</a>: NLS debug projects<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14111">14111</a>: Console terminate button not enabled<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13041">13041</a>: Remove all terminated action incorrectly enabled<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13372">13372</a>: Strange UI feedback when breakpoint hit during evaluation<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13430">13430</a>: Open on Type in console can work better; less beep<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12184">12184</a>: IncompatibleThreadStateException on launchAdded<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14190">14190</a>: Stack dumps noticed in log<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14125">14125</a>: Debug view "Resume" always jumps to source - menu item does not<br>

-<h3>

-Problem Reports Closed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12132">12132</a>: Can't launch debugger if proxy set.<br>

-

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-April 18, 2002

-<h3>

-What's new in this drop</h3>

-<ul>

-<li>Support for old launchers has been removed (ILauncher, ILauncherDelegate, ILaunchWizard).

-	Launch configruations now rule the launching world.</li>

-<li>The extension point "org.eclipse.debug.ui.launchTabs" has been removed and replaced with

- a new extension point "org.eclipse.debug.ui.launchTabGroups".</li>

-<li>The constants IDebugUIConstants.PREF_AUTO_SHOW_DEBUG_VIEW & IDebugUIConstants.PREF_AUTO_SHOW_PROCESS_VIEW

- have been removed.  Users can now set a default perspective for each of Run & Debug which may be

- overridden in a launch configuration.</li>

-</ul>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13385">13385</a>: Showing detail should be disabled when multi-select in var view<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12788">12788</a>: Cut, copy, paste actions don't work in details pane<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8590">8590</a>: Allow position of "step debug" in step tools<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12982">12982</a>: Need ability to set initial state of debug view based on AbstractDebugView<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13554">13554</a>: Incorrect dependencies: result is NPE in DebugActionGroupsManager<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13714">13714</a>: Pressing Apply makes tabs disappear<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13307">13307</a>: NPE in launch configs<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12382">12382</a>: Action set part association for the launch view?<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13285">13285</a>: Debug/Run With use old launchers when in config mode<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13425">13425</a>: Double click to expand/contract tree in variable and expression views<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13864">13864</a>: npe on lanuning (latest after 0412)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12281">12281</a>: Launch configuration tab widgets are private<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13501">13501</a>: hostname cut off when show qualified names is off<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12257">12257</a>: remove single event handling support<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12722">12722</a>: Actions for configuration dialogs should appear on Debug menu<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13324">13324</a>: Change of selection lost in Launch configuration dialog<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11942">11942</a>: Single click launching preference text<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13088">13088</a>: NPE in the log after exiting workspace<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13565">13565</a>: Properties page for process should not contain defaults/apply buttons<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13853">13853</a>: native code error<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13613">13613</a>: Delegating presentation and #setAttribute()...<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12962">12962</a>: Same target shows up twice in drop-downs<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13375">13375</a>: Show Detail Pane in popup menu missing mneumonic<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12785">12785</a>: Select all in the details pane selects all variables<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13383">13383</a>: Copy variables action not enabled correctly<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13993">13993</a>: Debug and Run buttons have been accidentally swapped<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12953">12953</a>: Action "type" constants should be moved from AbstractDebugView to IDebugView<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14124">14124</a>: Launch configuration classes not in launch configuration package<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-April 11, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12677">12677</a>: Single click launching and F11, Ctrl-F11<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13214">13214</a>: ArrayOutOfBoundException in launch history pref page<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13480">13480</a>: NPE creating Java Project when running Runtime Workbench<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13345">13345</a>: exception in log - after opening/closing projects<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13085">13085</a>: DebugActionGroups cannot handle two actions with same ID in views<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-April 09, 2002

-<h3>

-What's new in this drop</h3>

-<li>A new extension point exists in the debug ui to control the types of launch configurations that can

- be created from the cascading "New run/debug configuration" menu (off the run/debug dropdown menus).

- A type of configuration can be contributed to mulitple perspectives.</li>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1696">1696</a>: DCR: Perspective specific launcher filtering (1GIYJXH)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11733">11733</a>: duplicate shared config after close & restart<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11899">11899</a>: Launch config name collission<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12658">12658</a>: Single click launching doesn't work if the active editor isn't selected<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12488">12488</a>: Launch config dialog should allow double-click on config type<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11710">11710</a>: Deleting a launch configuration leaves no selection<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12598">12598</a>: Launch config - tab group API inconvenience<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11190">11190</a>: cannot set working directory if it includes a japanese character<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12160">12160</a>: Launch creation/lifecycle<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8772">8772</a>: Infinitely looping stack trace in target pgm locks UI<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12619">12619</a>: Exception during startup.<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10282">10282</a>: Rendering of changed variables<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12310">12310</a>: Need ability to determine if a breakpoint applies to a target<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12981">12981</a>: Launcher - listed name does not match given name<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9825">9825</a>: Action icon inconsistencies<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12891">12891</a>: Several IOExceptions from .log in StreamsProxy.write(StreamsProxy.java:92)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11906">11906</a>: Useless single click launch for classes with no main<br>

-

-<h3>

-Problem Reports Closed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12276">12276</a>: Index out of bounds exception from launch configuration dialog<br>

-

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-April 2, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12289">12289</a>: Breakpoint should extend platform object<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12548">12548</a>: Debug event filters should use event sets<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12613">12613</a>: Exception when on target workspace when starting eclipse<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-March 28, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11756">11756</a>: Launch config dialog: button sizes<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11923">11923</a>: Console preference page needs reworking<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11880">11880</a>: Launch ConfigurationType property page missing accelerator<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11925">11925</a>: Up/down buttons for launch history restricted to single select<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11457">11457</a>: Launch Configuration Dialog issues<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11702">11702</a>: Launch configuration defaults are set after widgets are initialized<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11330">11330</a>: JavaEnvironmentTab depends on JavaMainTab<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11053">11053</a>: Launch view too optimistic on source lookup<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11982">11982</a>: Logging exceptions<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12339">12339</a>: NPE when i switch to debug perspective<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7609">7609</a>: Attempting to go to a marker that no longer exists<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11326">11326</a>: Restore instead of rebuild launch config index<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11720">11720</a>: Need replacement for #hasChildren<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-March 26, 2002

-<h3>

-What's new in this drop</h3>

-<li>Breaking API change: IDebugViewAdapter had been renamed to IDebugView</li>

-<li>Launch configurations are the default launch mechanism.</li>

-<li>Debug events are reported in sets. @see IDebugEventSetListener and IDebugEventListener</li>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11610">11610</a>: Doc: identifier for launch extension points are incorrect<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11401">11401</a>: API on ILaunch.getDebugTarget() <br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11303">11303</a>: Deadlock on startup processing breakpoints<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11919">11919</a>: 2 NPEs using Preferences->Debug->Launch Configuration Types<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6212">6212</a>: Debug view toolbar/menu pollution<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11849">11849</a>: Duplicate history items showing up<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10448">10448</a>: IExpressionManager#hasExpression, IBreakpointManager#hasBreakpoints,etc.<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10817">10817</a>: configs in java packages get copied to output folder<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11207">11207</a>: IDebugViewAdapter should be named IDebugView<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11612">11612</a>: Agressive clearing of instruction pointer<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12025">12025</a>: Invalid thread access out of Launch configurations<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12229">12229</a>: Set default launching style to configuration based<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9650">9650</a>: Variable change notification bug<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12157">12157</a>: Debug event sets<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-March 18, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11197">11197</a>: Feature request: Delete in breakpoints view<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11212">11212</a>: Debug UI plugin.xml references jdt<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11308">11308</a>: Launch configurations make workspace non-transportable<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11346">11346</a>: Registering a launch multiple times is not handled well<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10586">10586</a>: Use new workbench selection service<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11425">11425</a>: ILaunchConfiguration JavaDoc is incorrect<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11189">11189</a>: Flicker in the Launch Configurations dialog<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11253">11253</a>: Launch config tab flicker<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11370">11370</a>: Launch view update bug<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11462">11462</a>: Launch config metadata change generates parse exception<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10637">10637</a>: "currently active project" should be the "current working directory"<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10162">10162</a>: Console View to front on error output only<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8937">8937</a>: Feature Request: Select all in the breakpoints view<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-March 12, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10775">10775</a>: New, delete copy of Launch configurations remain disabled<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10780">10780</a>: Delete and Copy enabled for Launch configuration type<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10778">10778</a>: Launch configuration names should be trimmed<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6376">6376</a>: Should be possible to remove entries from the "Run list"<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10855">10855</a>: Use new workbench API for show perspective<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10610">10610</a>: Null exception when lauchviewer processing events on remove tree items<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8420">8420</a>: Cannot edit ExpressionView detail area until after inspect.<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11076">11076</a>: Delete configs reamin in favorite list<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9922">9922</a>: Null pointer in launch configuration type property page<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7605">7605</a>: Feature: Doubleclicking in launch config dialog<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11072">11072</a>: History menu update<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8294">8294</a>: "Debug History" and "Run History" have empty submenus<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11133">11133</a>: NPE in LaunchView.initializeSelection()<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11110">11110</a>: NPE in AbstractListenerActionDelegate.pageActivated<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10847">10847</a>: API - AbstractLaunchConfiguration tab<br>

-<h3>

-

-Problem Reports Closed</h3>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-March 05, 2002

-<h3>

-What's new in this drop</h3>

-<li>Launch Configuration API has changed. The launch configuration tab lifecycle is now similar

- to that of preference and wizard pages.</li>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9680">9680</a>: Launch config: pressing save returns to first tab<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9660">9660</a>: Launch Config Flicker<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10524">10524</a>: Provide default label provider API<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10506">10506</a>: NPE in launch view<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10582">10582</a>: SWT Exception closing a Debug Perspective in JUnit test<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7207">7207</a>: Launch configuration bugs<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7430">7430</a>: Debug perspective not reused<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10652">10652</a>: Remove action enabled when nothing to be removed<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7430">7430</a>: Debug perspective not reused<br>

-<h3>

-Problem Reports Closed</h3>

-

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-February 28, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10243">10243</a>: ClassCastException when removing a breakpoint<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-February 26, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-

-

-<h3>

-Problem Reports Closed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7767">7767</a>: Changing from "Debug View"<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-February 14, 2002

-<h3>

-What's new in this drop</h3>

-<li>As part of the transition to configuration-based launching, early adopters may

-continue to access the launch configuration dialog by Shift-clicking the run and debug

-buttons, but configuration-based launches will NOT appear in the history, and

-CANNOT be relaunched.</li>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9166">9166</a>: NPE in preference page<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9167">9167</a>: LaunchConfigurationLabelDecorator should not be on by default<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9483">9483</a>: NPE in LaunchConfigurationTypePropertyPage<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9652">9652</a>: IllegalArgumentException out of Console<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9704">9704</a>: NPE on shutdown in BreakpointsView<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9167">9167</a>: LaunchConfigurationLabelDecorator should not be on by default<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-February 12, 2002

-<h3>

-What's new in this drop</h3>

-<li>Removed deprecated constant IDebugUIConstants.ID_PROCESS_VIEW</li>

-<li>Basic icons and their support has been removed</li>

-<li>Breakpoint property sheet has been replaced with breakpoint properties dialog.

- Choose "Properties..." from the pop-up menu in the breakpoints view.</li>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8230">8230</a>: Console does not show process as <terminated>; better tracking of changes<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9194">9194</a>: Attempting to modify locked resource tree in BreakpointManager<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9200">9200</a>: Editor not opening for suspended stack frame with modified prefs<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9218">9218</a>: NPE in LaunchConfigurationLabelDecorator.isLaunchConfigFile<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9280">9280</a>: Debug event handlers performing runnables after dispose<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9057">9057</a>: API - CHANGE event should be better specified<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9111">9111</a>: Invalid thread access running test suite<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6370">6370</a>: Breakpoint Properties Dialog<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9327">9327</a>: JavaDebugOptionsManager startup loading breakpoints during resource changed<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9200">9200</a>: Editor not opening for suspended stack frame with modified prefs<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9178">9178</a>: Remove All Terminated always disabled?<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9065">9065</a>: WID opening editor for breakpoint<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8296">8296</a>: Debug With menu items have interesting numbering<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9421">9421</a>: NPE out of the LaunchView on shutdown with running target<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7301">7301</a>: no way to switch to custom debug perspective on debug<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5311">5311</a>: Missing debug information should be conveyed<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1683">1683</a>: Extra Action delegates (1GIGUK0)<br>

-

-<h3>

-Problem Reports Closed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9299">9299</a>: NPE in LaunchView.showMarkerForCurrentSelection<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-February 05, 2002

-<h3>

-What's new in this drop</h3>

-<li>Launch configuration infrastructure and UI is available for early adopters.

-Developers that have contributed launchers should migrate to launch configurations. To

-access launch configurations from the workbench, press the run/debug buttons while holding

-the SHIFT key down.</li>

-<li>The debugger indicates variables that have changed since the last suspend. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1533">1533</a>.</i>

-<li>The debug action set has been renamed from Debug/Run to Debug. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8729">8729</a>.</li>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8729">8729</a>: Rename Debug action set from "Debug/Run" to "Debug"<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8945">8945</a>: Non-Persisted breakpoint can be incorrectly deleted at startup<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7965">7965</a>: Debug view refresh flicker<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1533">1533</a>: Feature: notification of changing variables (1G5NRPC)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1721">1721</a>: Small Feature: separate disable/enable breakpoints (1GKKEI5)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8245">8245</a>: Launch preferences page problems<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1621">1621</a>: Debugger doesn't come to front when breakpoint is hit (1GEUZEX)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9102">9102</a>: Remove & Terminate walkback<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6807">6807</a>: launch configurations not crash proof<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-January 29, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7837">7837</a>: Launch configuration page verifier error<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8235">8235</a>: Ctrl-space does not work for code assist in details pane<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7763">7763</a>: (usability) selecting in variables view with details pane causes un-maximize<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7814">7814</a>: API for char range within a line<br>

-

-<h3>

-Problem Reports Closed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8501">8501</a>: "Disable all" breakpoints action<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7864">7864</a>: Need API for selection changes in debug view<br>

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-January 24, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8059">8059</a>: NPE out of ControlActionDelegate<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8005">8005</a>: Terminate & Remove disabled<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8063">8063</a>: NPE in BreakpointsView when closing workbench<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8318">8318</a>: internal error occured, if open the menu "Debug -> Debug History"<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-January 22, 2002

-<h3>

-What's new in this drop</h3>

-<li>Breakpoint API has been updated to allow selective persistence of breakpoint

-of the same type</li>

-<li>Breakpoint API now allows for "hidden" breakpoints. @see IBreakpoint.isRegistered()</li>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7578">7578</a>: .metadata launch files not in correct location<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7626">7626</a>: Widget is disposed error relaunching<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1710">1710</a>: DCR - Launcher should have control over perspective switching (1GJUT9J)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6480">6480</a>: Launch configurations - store with workspace<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7961">7961</a>: updating source twice per suspend event<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7507">7507</a>: debugger keyboard shortcuts do not work in 20020109<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=2990">2990</a>: Internal errors when fast clicking in debug stack (1GLDZVH)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7974">7974</a>: Stack overflow pression "remove all" from Expression View<br>

-

-<h3>

-Problem Reports Closed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1563">1563</a>: Fully qualified rendering of launch element name (1GD7U0Z)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7418">7418</a>: Need the Process view back<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7627">7627</a>: Tooltips not working in debug views<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7755">7755</a>: The Breakpoints pane should highlight the breakpoint where the debugger stops<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5141">5141</a>: Breakpoint manager can use new marker API<br>

-

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-January 15, 2002

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6088">6088</a>: Move "qualified name" rendering to java debug<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7420">7420</a>: "Debug UI.xml" references JDT<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7580">7580</a>: NPE out of AbstractDebugEventHandler on shutdown<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7513">7513</a>: Terminate and remove fails to remove when timeouts occur<br>

-

-<h3>

-Problem Reports Closed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7316">7316</a>: Inconsistent casing for Show detail pane<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7370">7370</a>: TimeoutException occurs during stepping<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1714">1714</a>: Confusion of launches from different projects in history (1GJYNLK)<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-January 9, 2002

-<h3>

-What's new in this drop</h3>

-<li>The debugger now uses the workbench editor re-use policy.</li>

-<li>There is no longer a Process view. The Debug view shows all debug

-sessions and processes launched. When a workspace is re-started that

-had a Process view open, an error message will appear explaining that

-the Process view could not be created.</li>

-<li>The debug action set has been split into two groups - debug and launch.

-Existing debug and Java perspectives need to be closed and re-opened to obtain

-run and debug buttons in the toolbar. @see bug 1724.</li>

-<li>There is no longer an Inspector view - it has been replaced with an

-Expressions view. When a workspace is re-started that had an Inspector

-view open, an error message will appear explaining the Inspector view

-could not be created.</li>

-<li>A launch can be annotated with client specific data. @see bug 6481.</li>

-<li>A launch can now contain more than one debug target. API has changed

- in ILaunch, ILaunchListener, and ILaunchManager to suppport this.</li>

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7120">7120</a>: NPE during shutdown of DebugUIPlugin<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6954">6954</a>: Use new workbench API for openning perspective<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6206">6206</a>: Make AbstractDebugView API<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7151">7151</a>: Toggling ShowDetailPaneAction sets focus to the launch view<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7164">7164</a>: NPE during shutdown to do with DebugSelectionManager<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1724">1724</a>: Feature: split debug action set in to debug & launch (1GKCQVZ)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7167">7167</a>: NPE shutting down in abstract debug view 'save state'<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6771">6771</a>: DebugEvent constructors changed to take IDebugElement<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1574">1574</a>: Settings in debug views not persisted (1GDTUNW)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6105">6105</a>: Step accelerators should not take focus from editor<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1671">1671</a>: Option to autoclear terminated processes (1GHSO3L)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6357">6357</a>: Combine Process/Debug Views<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6200">6200</a>: Extensible set of debug elements<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7204">7204</a>: Copy variables action needs icon<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7031">7031</a>: Inspector is missing a toString area<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6213">6213</a>: Breakpoints view improvements<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6213">6481</a>: Feature: Annotate launch with transaction id<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1617">1617</a>: type names not always shown in inspector (1GEULC4)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6484">6484</a>: Ability for "super adaptor"<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6783">6783</a>: Console should not steal focus while writing output<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7277">7277</a>: Step detail events for into/over/return<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6214">6214</a>: More that one debug target per lanuch<br>

-

-<h3>

-Problem Reports Closed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6482">6482</a>: Ability to group debug targets in one launch<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6215">6215</a>: Exception handling in variables view<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1688">1688</a>: Object display options (1GIKMIG)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1606">1606</a>: Feature: Source Lookup (1GEPJEN)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1553">1553</a>: Handling of no source is confusing (1GC2TVU)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7166">7166</a>: Remove terminated launches preference does not applied correctly<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7169">7169</a>: Debug "F" keys not enabled properly on new editor<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-December 18, 2001

-<h3>

-What's new in this drop</h3>

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5260">5260</a>: TVT: Properties view for debug process is missing substitution variable<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6321">6321</a>: Console IOException<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7003">7003</a>: Debug With menu launches incorrect program (not finding selection)<br>

-

-<h3>

-Problem Reports Closed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1548">1548</a>: Extensible launch modes (1GBEQYO)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1592">1592</a>: DebugPlugin must allow for null elements in updateHistory() (1GEI3C1)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6886">6886</a>: Request: Keep perspective when running application<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1627">1627</a>: Previous editor's unsaved contents are still visible (1GEX5LS)<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-December 11, 2001

-<h3>

-What's new in this drop</h3>

-	<ul>

-	<li>The "relaunch last" action has been remapped to use F9 instead of F10.

-	Please see "<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6387">6387</a>: Can't use F10" for details.

-	</li></ul>

-<h3>

-Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6387">6387</a>: Can't use F10 <br>

-<h3>

-Problem Reports Closed</h3>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-December 6, 2001

-<h3>

-What's new in this drop</h3>

-<ul>

-</ul>

-

-<h3>

-Problem Reports Fixed</h3>

-

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6521">6521</a>: Variables view stays empty with stack frame selected (1GLE8PW) <br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6577">6577</a>: NPE in DebugContentProvider<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6598">6598</a>: Problem using old workspace with new build <br>

-<h3>

-Problem Reports Closed</h3>

-

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-December 4, 2001

-<h3>

-What's new in this drop</h3>

-<ul>

-</ul>

-

-<h3>

-Problem Reports Fixed</h3>

-

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6321">6321</a>: Console IOException <br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6216">6216</a>: Help for debug views in 1.0 <br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6521">6521</a>: Newly added resources cannot be checked out <br>

-

-<h3>

-Problem Reports Closed</h3>

-

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1715">1715</a>: Consider removing state change actions from BreakpointsView (1GKKT90)<br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1559">1559</a>: Debugger doesn't pop to front when breakpoint hit (1GD7P7D) <br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1564">1564</a>: README: printf's in native code only show up in console at the end of execution (1GD80QZ) <br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1588">1588</a>: README: System.exit(0) from Scrapbook (1GE8JU3) <br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5485">5485</a>: NPE if missing launcher when using launch history <br>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1770">1770</a>: Last launch not updated upon deletion (1GLEANH) <br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-November 27, 2001

-<h3>

-What's new in this drop</h3>

-<ul>

-<li>Procedural Debug API - new debug element interfaces have been defined to support the notion of registers,

-register groups, memory blocks, and memory block retrieval:

-	<ul>

-	<li>IRegister - a register in a register group</li>

-	<li>IRegisterGroup - register groups are available from each stack frame (that supports registers)</li>

-	<li>IMemoryBlock - a contiguos block of bytes from memory allocated by a running program</li>

-	<li>IMemoryBlockRetrieval - support to retrieve arbitrary blocks of memory from a running program</li>

-	</ul>

-</li>

-</ul>

-

-<h3>

-Problem Reports Fixed</h3>

-

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1720">1720</A>: Issue: breakpoint manager breaks lazy plug-in load rule (1GK<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6097">6097</A>: The inspector is not refresh<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-November 20, 2001

-<h3>

-What's new in this drop</h3>

-<ul>

-<li>API Change - method addition - @see ILaunch.getLaunchConfiguration(). This does

-not break any clients, as the only implementation of ILaunch is org.eclipse.debug.core.Launch,

-which has been updated.</li>

-<li>API Change - method return value - @see ILaunch.getLauncher(). A launch

-is now allowed to return null for #getLauncher() when it was created by a launch

-configuration rather than a launcher. This does not break any clients, as launch configurations

-are not in use yet. The main client that will have to be updated is the Debug UI.</li>

-<li>New debug preference - "Build (if required) before launch"</li>

-</ul>

-

-<h3>

-Problem Reports Fixed</h3>

-

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4023">4023</A>: Prompt user for save and build before run  (1GGCBO0)<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5818">5818</A>: Debugger Source Lookup page claims project is closed<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5895">5895</A>: NPE out of the Console view on shutdown<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5896">5896</A>: NPE out of LaunchManagerVisitor on shutdown<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1623">1623</A>: StackFrame selected but toolbar actions disable (1GEV0L7)<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5681">5681</A>: Show debug perspective doesn't reuse my perspective<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5909">5909</A>: Should have terminate on Debug menu<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5582">5582</A>: Keyboard shortcut for run/debug<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5789">5789</A>: Console Empty on Hello World Examples<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5951">5951</A>: Console buffer not flushed?<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5946">5946</A>: NPE  in LaunchManagerVisitor<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5808">5808</A>: Console output being lost<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5925">5925</A>: DebugView does not survive platform crash<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-November 13, 2001

-<h3>

-What's new in this drop</h3>

-

-<h3>

-Problem Reports Fixed</h3>

-

-

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5360">5360</A>: ListenerList#removeAll<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5613">5613</A>: Debugger hangs when it hits breakpoints during self hosting<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4269">4269</A>: Simplifying debugger perspective (1GKRAWI)<br>

-

-

-<h3>

-Problem Reports Closed</h3>

-

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5588">5588</A>: General Protection Fault double clicking on breakpoint in th<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5795">5795</A>: Reached Breakpoint, but no stacktrace<br>

-

-<h1>

-Eclipse Platform Build Notes&nbsp;<br>

-Platform Debug</h1>

-November 12, 2001

-<h3>

-What's new in this drop</h3>

-<ul>

-<li>Draft definition and infrastructure for launch configurations.</li>

-<li>API Change: Presentation of variable value details allows for long running

-computation. @see IDebugModelPresentation.computeDetail(IValue, IValueDetailListener). @see IValueDetailListener.

-</ul>

-

-<h3>

-Problem Reports Fixed</h3>

-

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5686">5686</A>: Launch/Run actions should be available on menubar<br>

-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5579">5579</A>: Would like option to switch to Debug perspective on breakpoi<br>

-

-<h3>

-Problem Reports Closed</h3>

-

-

-</body>

-</html>

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
deleted file mode 100644
index ff04543..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
+++ /dev/null
@@ -1,398 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.EventObject;

-

-import org.eclipse.debug.internal.core.DebugCoreMessages;

-

-/**

- * A debug event describes an event in a program being debugged or

- * in a running process. Debug models and process implementations

- * are required to generate debug events as specified by this class.

- * <p>

- * The following list defines the events generated for each debug

- * model element.

- * The <code>getSource()</code> method of a debug event

- * returns the element associated with the event.

- * Creation events are guaranteed to occur in a top

- * down order - that is, parents are created before children.

- * Termination events are guaranteed to occur in a bottom up order -

- * that is, children before parents. However, termination events are not guaranteed

- * for all  elements that are created. That is, terminate events can be coalesced - a 

- * terminate event for a parent signals that all children have been terminated.

- * </p>

- * <p>

- * The generic <code>CHANGE</code> event can be fired at any time by any element.

- * Generally, a client of a debug model, such as as a UI, can get sufficient

- * information to update by listening/responding to the other event kinds. However,

- * if a debug model needs to inform clients of a change that is not specified

- * by create/terminate/suspend/resume, the <code>CHANGE</code> event may be used.

- * For example, generally, the only way a thread or any of its children can change

- * state between a suspend and resume operation, is if the thread or owning debug

- * target is terminated. However, if a debug model supports some other operation

- * that would allow a debug element to change state while suspended, the debug model

- * would fire a change event for that element. The valid detail codes for a

- * change event are:<ul>

- * <li><code>STATE</code> - indicates the state of an element has changed, but its

- *  children are not affected. A client would use a state change event to update

- *  a label of the affected element, but would not update any children.</li>

- * <li><code>CONTENT</code> - indicates that a debug element's value or contents have

- *  changed in some way. For example, when the value of a variable is changed

- *  explicitly, the variable should fire a content change event.</li>

- * </ul>

- * </p>

- * <ul>

- * <li><code>IProcess</code>

- *	<ul>

- *	<li><code>CREATE</code> - a process has been created and is executing.</li>

- *	<li><code>TERMINATE</code> - a process has terminated.</li>

- *  </ul>

- * <li><code>IDebugTarget</code>

- *	<ul>

- *	<li><code>CREATE</code> - a debug target has been created and is ready

- *		to begin a debug session.</li>

- *	<li><code>TERMINATE</code> - a debug target has terminated and the debug

- *		session has ended.</li>

- *  <li><code>SUSPEND</code> - a debug target has suspended. Event detail provides

- *		the reason for the suspension:<ul>

- *		<li><code>STEP_END</code> - a request to step has completed</li>

- *		<li><code>BREAKPOINT</code> - a breakpoint has been hit</li>

- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the target to suspend

- * 			(i.e. an explicit call to <code>suspend()</code>)</li>

- * 		<li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li>

- *		</ul>

- *	</li>

- *  <li><code>RESUME</code> - a debug target has resumed. Event detail provides

- *		the reason for the resume:<ul>

- *		<li><code>STEP_INTO</code> - a target is being resumed because of a request to step into</li>

- * 		<li><code>STEP_OVER</code> - a target is being resumed because of a request to step over</li>

- * 		<li><code>STEP_RETURN</code> - a target is being resumed because of a request to step return</li>

- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the target to be resumed

- * 			(i.e. an explicit call to <code>resume()</code>)</li>

- * 		<li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li>

- *		</ul>

- *	</li>

- *	</ul>

- * </li>

- * <li><code>IThread</code>

- *	<ul>

- *	<li><code>CREATE</code> - a thread has been created in a debug target.</li>

- *	<li><code>TERMINATE</code> - a thread has terminated.</li>

- *	<li><code>SUSPEND</code> - a thread has suspended execution. Event detail provides

- *		the reason for the suspension:<ul>

- *		<li><code>STEP_END</code> - a request to step has completed</li>

- *		<li><code>BREAKPOINT</code> - a breakpoint has been hit</li>

- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the thread to suspend

- * 			(i.e. an explicit call to <code>suspend()</code>)</li>

- * 		<li><code>EVALUATION</code> - an expression evaluation has ended that may

- * 			have had side effects in the debug target.</li>

- * 		<li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has ended that

- * 			had no side effects in the debug target.</li>

- * 		<li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li>

- *		</ul>

- *	</li>

- *	<li><code>RESUME</code> - a thread has resumed execution. Event detail provides

- *		the reason for the resume:<ul>

- *		<li><code>STEP_INTO</code> - a thread is being resumed because of a request to step into</li>

- * 		<li><code>STEP_OVER</code> - a thread is being resumed because of a request to step over</li>

- * 		<li><code>STEP_RETURN</code> - a thread is being resumed because of a request to step return</li>

- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the thread to be resumed

- * 			(i.e. an explicit call to <code>resume()</code>)</li>

- * 		<li><code>EVALUATION</code> - an expression evaluation has started that may

- * 			have side effects in the debug target.</li>

- * 		<li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has started that

- * 			will have no side effects in the debug target.</li>

- * 		<li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li>

- *		</ul>

- *	</li>

- *    </ul>

- * </li>

- * <li><code>IStackFrame</code> - no events are specified for stack frames.

- *	When a thread is suspended, it has stack frames. When a thread resumes,

- *	stack frames are unavailable.

- * </li>

- * <li><code>IVariable</code> - no events are specified for variables.

- *	When a thread is suspended, stack frames have variables. When a thread resumes,

- *	variables are unavailable.

- * </li>

- * <li><code>IValue</code> - no events are specified for values.

- * </li>

- * </ul>

- * <p>

- * Clients may instantiate this class. Clients are not intended to subclass this class.

- * </p>

- */

-public final class DebugEvent extends EventObject {

-	

-	/**

-	 * Resume event kind.

-	 */

-	public static final int RESUME= 0x0001;

-

-	/**

-	 * Suspend event kind.

-	 */

-	public static final int SUSPEND= 0x0002;

-

-	/**

-	 * Create event kind.

-	 */

-	public static final int CREATE= 0x0004;

-

-	/**

-	 * Terminate event kind.

-	 */

-	public static final int TERMINATE= 0x0008;

-	

-	/**

-	 * Change event kind.

-	 */

-	public static final int CHANGE= 0x0010;

-

-	/**

-	 * Step start detail. Indicates a thread was resumed by a step

-	 * into action.

-	 * @since 2.0

-	 */

-	public static final int STEP_INTO= 0x0001;

-	

-	/**

-	 * Step start detail. Indicates a thread was resumed by a step

-	 * over action.

-	 * @since 2.0

-	 */

-	public static final int STEP_OVER= 0x0002;

-	

-	/**

-	 * Step start detail. Indicates a thread was resumed by a step

-	 * return action.

-	 * @since 2.0

-	 */

-	public static final int STEP_RETURN= 0x0004;		

-

-	/**

-	 * Step end detail. Indicates a thread was suspended due

-	 * to the completion of a step action.

-	 */

-	public static final int STEP_END= 0x0008;

-	

-	/**

-	 * Breakpoint detail. Indicates a thread was suspended by

-	 * a breakpoint.

-	 */

-	public static final int BREAKPOINT= 0x0010;

-	

-	/**

-	 * Client request detail. Indicates a thread was suspended due

-	 * to a client request.

-	 */

-	public static final int CLIENT_REQUEST= 0x0020;

-	

-	/**

-	 * Evaluation detail. Indicates that a thread was resumed or

-	 * suspended to perform an expression evaluation.

-	 * 

-	 * @since 2.0

-	 */

-	public static final int EVALUATION = 0x0040;

-	

-	/**

-	 * Evaluation detail. Indicates that a thread was resumed or

-	 * suspended to perform an implicit expression evaluation.

-	 * An implicit evaluation is an evaluation that is performed

-	 * as an indirect result of a user action.

-	 * Clients may use this detail event to decide whether or not

-	 * to alert the user that an evaluation is taking place..

-	 * 

-	 * @since 2.0

-	 */

-	public static final int EVALUATION_IMPLICIT = 0x0080;

-

-	/**

-	 * State change detail. Indicates the state of a single 

-	 * debug element has changed. Only valid for <code>CHANGE</code>

-	 * events.

-	 * 

-	 * @since 2.0

-	 */

-	public static final int STATE = 0x0100;

-	

-	/**

-	 * Content change detail. Indicates the content of a debug element

-	 * (and potentially its children) has changed. Only valid for

-	 * <code>CHANGE</code> events.

-	 * 

-	 * @since 2.0

-	 */

-	public static final int CONTENT = 0x0200;	

-			

-	/**

-	 * Constant indicating that the kind or detail of a debug

-	 * event is unspecified.

-	 */

-	public static final int UNSPECIFIED = 0;

-	

-	/**

-	 * The kind of event - one of the kind constants defined by

-	 * this class.

-	 */

-	private int fKind= UNSPECIFIED;

-

-	/**

-	 * The detail of the event - one of the detail constants defined by

-	 * this class.

-	 */

-	private int fDetail= UNSPECIFIED;

-	/**

-	 * Constructs a new debug event of the given kind with a detail code of

-	 * <code>UNSPECIFIED</code>.

-	 *

-	 * @param eventSource the object associated with the event

-	 * @param kind the kind of debug event (one of the

-	 *	kind constants defined by this class)

-	 */

-	public DebugEvent(Object eventSource, int kind) {

-		this(eventSource, kind, UNSPECIFIED);

-	}

-

-	/**

-	 * Constructs a new debug event of the given kind with the given detail.

-	 *

-	 * @param eventSource the object associated with the event

-	 * @param kind the kind of debug event (one of the

-	 *	kind constants defined by this class)

-	 * @param detail extra information about the event (one of the

-	 *	detail constants defined by this class)

-	 */

-	public DebugEvent(Object eventSource, int kind, int detail) {

-		super(eventSource);

-		if ((kind & (RESUME | SUSPEND | CREATE | TERMINATE | CHANGE)) == 0)

-			throw new IllegalArgumentException(DebugCoreMessages.getString("DebugEvent.illegal_kind")); //$NON-NLS-1$

-		if (detail != UNSPECIFIED && (detail & (STEP_END | STEP_INTO | STEP_OVER | STEP_RETURN | BREAKPOINT | CLIENT_REQUEST |EVALUATION | EVALUATION_IMPLICIT | STATE | CONTENT)) == 0)

-			throw new IllegalArgumentException(DebugCoreMessages.getString("DebugEvent.illegal_detail")); //$NON-NLS-1$

-		fKind= kind;

-		fDetail= detail;

-	}

-

-	/**

-	 * Returns a constant describing extra detail about the event - one

-	 * of the detail constants defined by this class, possibly

-	 * <code>UNSPECIFIED</code>.

-	 *

-	 * @return the detail code

-	 */

-	public int getDetail() {

-		return fDetail;

-	}

-

-	/**

-	 * Returns this event's kind - one of the kind constants defined by this class.

-	 * 

-	 * @return the kind code

-	 */

-	public int getKind() {

-		return fKind;

-	}

-	

-	/**

-	 * Returns whether this event's detail indicates the

-	 * beginning of a step event. This event's detail is one

-	 * of <code>STEP_INTO</code>, <code>STEP_OVER</code>, or

-	 * <code>STEP_RETURN</code>.

-	 * 

-	 * @return whether this event's detail indicates the beginning

-	 *  of a step event.

-	 * @since 2.0

-	 */

-	public boolean isStepStart() {

-		return (getDetail() & (STEP_INTO | STEP_OVER | STEP_RETURN)) > 0;

-	}

-	

-	/**

-	 * Returns whether this event's detail indicates an

-	 * evaluation. This event's detail is one

-	 * of <code>EVALUATION</code>, or <code>EVALUATION_IMPLICIT</code>.

-	 * 

-	 * @return whether this event's detail indicates an evaluation.

-	 * @since 2.0

-	 */

-	public boolean isEvaluation() {

-		return (getDetail() & (EVALUATION | EVALUATION_IMPLICIT)) > 0;

-	}	

-	

-	/**

-	 * @see java.lang.Object#toString()

-	 */

-	public String toString() {

-		StringBuffer buf = new StringBuffer("DebugEvent["); //$NON-NLS-1$

-		if (getSource() != null) {

-			buf.append(getSource().toString());

-		} else {

-			buf.append("null"); //$NON-NLS-1$

-		}

-		buf.append(", "); //$NON-NLS-1$

-		switch (getKind()) {

-			case CREATE:

-				buf.append("CREATE"); //$NON-NLS-1$

-				break;

-			case TERMINATE:

-				buf.append("TERMINATE"); //$NON-NLS-1$

-				break;

-			case RESUME:

-				buf.append("RESUME"); //$NON-NLS-1$

-				break;

-			case SUSPEND:

-				buf.append("SUSPEND"); //$NON-NLS-1$

-				break;				

-			case CHANGE:

-				buf.append("CHANGE"); //$NON-NLS-1$

-				break;

-			case UNSPECIFIED:

-				buf.append("UNSPECIFIED"); //$NON-NLS-1$

-				break;

-		}

-		buf.append(", "); //$NON-NLS-1$

-		switch (getDetail()) {

-			case BREAKPOINT:

-				buf.append("BREAKPOINT"); //$NON-NLS-1$

-				break;

-			case CLIENT_REQUEST:

-				buf.append("CLIENT_REQUEST"); //$NON-NLS-1$

-				break;

-			case STEP_END:

-				buf.append("STEP_END"); //$NON-NLS-1$

-				break;

-			case STEP_INTO:

-				buf.append("STEP_INTO"); //$NON-NLS-1$

-				break;

-			case STEP_OVER:

-				buf.append("STEP_OVER"); //$NON-NLS-1$

-				break;

-			case STEP_RETURN:

-				buf.append("STEP_RETURN"); //$NON-NLS-1$

-				break;

-			case EVALUATION:

-				buf.append("EVALUATION"); //$NON-NLS-1$

-				break;

-			case EVALUATION_IMPLICIT:

-				buf.append("EVALUATION_IMPLICIT"); //$NON-NLS-1$

-				break;								

-			case STATE:

-				buf.append("STATE"); //$NON-NLS-1$

-				break;			

-			case CONTENT:

-				buf.append("CONTENT"); //$NON-NLS-1$

-				break;					

-			case UNSPECIFIED:

-				buf.append("UNSPECIFIED"); //$NON-NLS-1$

-				break;

-		}

-		buf.append("]"); //$NON-NLS-1$

-		return buf.toString();

-	}

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
deleted file mode 100644
index bca34fc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

- 

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IStatus;

-

-

-/**

- * A checked exception representing a failure.

- * <p>

- * Defines status codes relevant to the debug plug-in. When a 

- * debug exception is thrown, it contains a status object describing

- * the cause of the exception. The status objects originating from the

- * debug plug-in use the codes defined in this class.

- * </p>

- * <p>

- * Clients may instantiate this class. Clients are not intended to subclass this class.

- * </p>

- * @see IStatus

- */

-public class DebugException extends CoreException {	

-	/**

-	 * Indicates a request made of a debug element has failed

-	 * on the target side.

-	 */

-	public static final int TARGET_REQUEST_FAILED = 5010;

-	 

-	/**

-	 * Indicates a request is not supported by the capabilities of a debug element.

-	 * For example, a request was made to terminate an element that does not

-	 * support termination.

-	 */

-	public static final int NOT_SUPPORTED = 5011;

-

-	/**

-	 * Indicates that a request made of manager has failed, or a request made of a

-	 * debug element has failed on the client side (that is, before the request was

-	 * sent to the debug target).

-	 */

-	public static final int REQUEST_FAILED = 5012;

-

-	/**

-	 * Indicates an internal error. This is an unexpected state.

-	 */

-	public static final int INTERNAL_ERROR = 5013;

-	

-	/** 

-	 * Indicates an improperly configured breakpoint. Breakpoints have a minimal

-	 * set of required attributes as defined by the breakpoint manager.

-	 *

-	 * @see IBreakpointManager

-	 */

-	public static final int CONFIGURATION_INVALID = 5014;

-	

-	/**

-	 * Constructs a new debug exception with the given status object.

-	 *

-	 * @param status the status object describing this exception

-	 * @see IStatus

-	 */

-	public DebugException(IStatus status) {

-		super(status);

-	}

-

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
deleted file mode 100644
index 4a78967..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
+++ /dev/null
@@ -1,540 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.text.MessageFormat;

-import java.util.HashMap;

-

-import org.eclipse.core.resources.ResourcesPlugin;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.core.runtime.IExtensionPoint;

-import org.eclipse.core.runtime.IPluginDescriptor;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.Plugin;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.debug.core.model.IProcess;

-import org.eclipse.debug.internal.core.BreakpointManager;

-import org.eclipse.debug.internal.core.DebugCoreMessages;

-import org.eclipse.debug.internal.core.ExpressionManager;

-import org.eclipse.debug.internal.core.LaunchManager;

-import org.eclipse.debug.internal.core.ListenerList;

-import org.eclipse.debug.internal.core.RuntimeProcess;

-

-/**

- * There is one instance of the debug plug-in available from

- * <code>DebugPlugin.getDefault()</code>. The debug plug-in provides:

- * <ul>

- * <li>access to the breakpoint manager</li>

- * <li>access to the launch manager</li>

- * <li>access to the expression manager</li>

- * <li>access to the registered launcher extensions</li>

- * <li>debug event notification</li>

- * <li>status handlers</li>

- * </ul>

- * <p>

- * Clients may not instantiate or subclass this class.

- * </p>

- */

-public class DebugPlugin extends Plugin {

-		

-	/**

-	 * Simple identifier constant (value <code>"launchConfigurationTypes"</code>)

-	 * for the launch configuration types extension point.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES= "launchConfigurationTypes"; //$NON-NLS-1$	

-	

-	/**

-	 * Simple identifier constant (value <code>"launchConfigurationComparators"</code>)

-	 * for the launch configuration comparators extension point.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_COMPARATORS= "launchConfigurationComparators"; //$NON-NLS-1$		

-	

-	/**

-	 * Simple identifier constant (value <code>"breakpoints"</code>) for the

-	 * breakpoints extension point.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String EXTENSION_POINT_BREAKPOINTS= "breakpoints";	 //$NON-NLS-1$

-	

-	/**

-	 * Simple identifier constant (value <code>"statusHandlers"</code>) for the

-	 * status handlers extension point.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String EXTENSION_POINT_STATUS_HANDLERS= "statusHandlers";	 //$NON-NLS-1$	

-

-	/**

-	 * Simple identifier constant (value <code>"sourceLocators"</code>) for the

-	 * source locators extension point.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String EXTENSION_POINT_SOURCE_LOCATORS= "sourceLocators";	 //$NON-NLS-1$	

-		

-	/**

-	 * Status code indicating an unexpected internal error.

-	 */

-	public static final int INTERNAL_ERROR = 120;		

-

-	/**

-	 * The singleton debug plug-in instance.

-	 */

-	private static DebugPlugin fgDebugPlugin= null;

-

-	/**

-	 * The singleton breakpoint manager.

-	 */

-	private BreakpointManager fBreakpointManager;

-	

-	/**

-	 * The singleton expression manager.

-	 */

-	private ExpressionManager fExpressionManager;	

-

-	/**

-	 * The singleton launch manager.

-	 */

-	private LaunchManager fLaunchManager;

-

-	/**

-	 * The collection of debug event listeners.

-	 */

-	private ListenerList fEventListeners= new ListenerList(20);

-	

-	/**

-	 * Event filters, or <code>null</code> if none.

-	 */

-	private ListenerList fEventFilters = null;

-

-	/**

-	 * Whether this plugin is in the process of shutting

-	 * down.

-	 */

-	private boolean fShuttingDown= false;

-		

-	/**

-	 * Table of status handlers. Keys are {plug-in identifier, status code}

-	 * pairs, and values are associated <code>IConfigurationElement</code>s.

-	 */

-	private HashMap fStatusHandlers = null;

-	

-	/**

-	 * Returns the singleton instance of the debug plug-in.

-	 */

-	public static DebugPlugin getDefault() {

-		return fgDebugPlugin;

-	}

-	

-	/**

-	 * Sets the singleton instance of the debug plug-in.

-	 * 

-	 * @param plugin the debug plug-in, or <code>null</code>

-	 *  when shutting down

-	 */

-	private static void setDefault(DebugPlugin plugin) {

-		fgDebugPlugin = plugin;

-	}

-	

-	/**

-	 * Convenience method which returns the unique identifier of this plugin.

-	 */

-	public static String getUniqueIdentifier() {

-		if (getDefault() == null) {

-			// If the default instance is not yet initialized,

-			// return a static identifier. This identifier must

-			// match the plugin id defined in plugin.xml

-			return "org.eclipse.debug.core"; //$NON-NLS-1$

-		}

-		return getDefault().getDescriptor().getUniqueIdentifier();

-	}

-

-	/**

-	 * Constructs the debug plug-in.

-	 * <p>

-	 * An instance of this plug-in runtime class is automatically created 

-	 * when the facilities provided by this plug-in are required.

-	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>

-	 * </p>

-	 * 

-	 * @param pluginDescriptor the plug-in descriptor for the

-	 *   debug plug-in

-	 */

-	public DebugPlugin(IPluginDescriptor descriptor) {

-		super(descriptor);

-		setDefault(this);

-	}

-	

-	/**

-	 * Adds the given listener to the collection of registered debug

-	 * event listeners. Has no effect if an identical listener is already

-	 * registered.

-	 *

-	 * @param listener the listener to add

-	 * @since 2.0

-	 */

-	public void addDebugEventListener(IDebugEventSetListener listener) {

-		fEventListeners.add(listener);

-	}	

-	

-	/**

-	 * Notifies all registered debug event set listeners of the given

-	 * debug events. Events which are filtered by a registered debug event

-	 * filter are not fired.

-	 * 

-	 * @param events array of debug events to fire

-	 * @see IDebugEventFilter

-	 * @see IDebugEventSetListener

-	 * @since 2.0

-	 */

-	public void fireDebugEventSet(DebugEvent[] events) {

-		if (isShuttingDown() || events == null)

-			return;

-		events = filterEvents(events);

-		if (events == null) {

-			return;

-		} else {

-			Object[] listeners= getEventListeners();

-			for (int i= 0; i < listeners.length; i++) {

-				((IDebugEventSetListener)listeners[i]).handleDebugEvents(events);

-			}		

-		}

-	}

-	

-	/**

-	 * Returns a collection of events, based on the given event

-	 * set, removing any events that are filtered by registered

-	 * debug event filters. Returns <code>null</code> or an empty 

-	 * collection if all events are filtered.

-	 * 

-	 * @param events the event set to filter

-	 * @return filtered event set

-	 */

-	private DebugEvent[] filterEvents(DebugEvent[] events) {

-		if (hasEventFilters()) {

-			Object[] filters = fEventFilters.getListeners();

-			for (int i = 0; i < filters.length; i++) {

-				events = ((IDebugEventFilter)filters[i]).filterDebugEvents(events);

-				if (events == null || events.length == 0) {

-					break;

-				}

-			}

-

-		}

-		return events;

-	}

-	

-	/**

-	 * Returns the breakpoint manager.

-	 *

-	 * @return the breakpoint manager

-	 * @see IBreakpointManager

-	 */

-	public IBreakpointManager getBreakpointManager() {

-		return fBreakpointManager;

-	}

-	

-	/**

-	 * Returns the launch manager.

-	 *

-	 * @return the launch manager

-	 * @see ILaunchManager

-	 */

-	public ILaunchManager getLaunchManager() {

-		return fLaunchManager;

-	}

-	

-	/**

-	 * Returns the status handler registered for the given

-	 * status, or <code>null</code> if none.

-	 *

-	 * @return the status handler registered for the given

-	 *  status, or <code>null</code> if none

-	 * @since 2.0

-	 */

-	public IStatusHandler getStatusHandler(IStatus status) {

-		StatusHandlerKey key = new StatusHandlerKey(status.getPlugin(), status.getCode());

-		if (fStatusHandlers == null) {

-			try {

-				initializeStatusHandlers();

-			} catch (CoreException exception) {

-				log(exception);

-				return null;

-			}

-		}

-		IConfigurationElement config = (IConfigurationElement)fStatusHandlers.get(key);

-		if (config != null) {

-			try {

-				return (IStatusHandler)config.createExecutableExtension("class"); //$NON-NLS-1$

-			} catch (CoreException e) {

-				log(e);

-			}

-		}

-		return null;

-	}	

-	

-	/**

-	 * Returns the expression manager.

-	 *

-	 * @return the expression manager

-	 * @see IExpressionManager

-	 * @since 2.0

-	 */

-	public IExpressionManager getExpressionManager() {

-		return fExpressionManager;

-	}	

-	

-	/**

-	 * Removes the given listener from the collection of registered debug

-	 * event listeners. Has no effect if an identical listener is not already

-	 * registered.

-	 *

-	 * @param listener the listener to remove

-	 * @since 2.0

-	 */

-	public void removeDebugEventListener(IDebugEventSetListener listener) {

-		fEventListeners.remove(listener);

-	}	

-

-	/**

-	 * Shuts down this debug plug-in and discards all plug-in state.

-	 * <p> 

-	 * This method will be automatically invoked by the platform when

-	 * the platform is shut down.

-	 * </p>

-	 * <b>Clients must never explicitly call this method.</b>

-	 *

-	 * @exception CoreException if this plug-in fails to shut down

-	 */

-	public void shutdown() throws CoreException {

-		setShuttingDown(true);

-		super.shutdown();

-		fLaunchManager.shutdown();

-		fBreakpointManager.shutdown();

-		fEventListeners.removeAll();

-		setDefault(null);

-		ResourcesPlugin.getWorkspace().removeSaveParticipant(this);

-	}

-

-	/**

-	 * Starts up the debug plug-in. This involves creating the launch and

-	 * breakpoint managers, creating proxies to all launcher extensions,

-	 * and restoring all persisted breakpoints.

-	 * <p>

- 	 * This method is automatically invoked by the platform 

-	 * the first time any code in this plug-in is executed.

-	 * </p>

-	 * <b>Clients must never explicitly call this method.</b>

-	 *

-	 * @see Plugin#startup

-	 * @exception CoreException if this plug-in fails to start up

-	 */

-	public void startup() throws CoreException {

-		fLaunchManager= new LaunchManager();

-		fLaunchManager.startup();

-		fBreakpointManager= new BreakpointManager();

-		fBreakpointManager.startup();

-		fExpressionManager = new ExpressionManager();

-		fExpressionManager.startup();

-	}

-	

-	/**

-	 * Creates and returns a new process representing the given

-	 * <code>java.lang.Process</code>. A streams proxy is created

-	 * for the I/O streams in the system process. The process

-	 * is added to the given launch.

-	 *

-	 * @param launch the launch the process is conatined in

-	 * @param process the system process to wrap

-	 * @param label the label assigned to the process

-	 * @return the process

-	 * @see IProcess

-	 */

-	public static IProcess newProcess(ILaunch launch, Process process, String label) {

-		return new RuntimeProcess(launch, process, label);

-	}

-	

-	/**

-	 * Returns whether this plug-in is in the process of 

-	 * being shutdown.

-	 * 

-	 * @return whether this plug-in is in the process of 

-	 *  being shutdown

-	 */

-	private boolean isShuttingDown() {

-		return fShuttingDown;

-	}

-	

-	/**

-	 * Sets whether this plug-in is in the process of 

-	 * being shutdown.

-	 * 

-	 * @param value whether this plug-in is in the process of 

-	 *  being shutdown

-	 */

-	private void setShuttingDown(boolean value) {

-		fShuttingDown = value;

-	}

-	

-	/**

-	 * Returns the collection of debug event listeners registered

-	 * with this plug-in.

-	 * 

-	 * @return list of registered debug event listeners, instances

-	 *  of <code>IDebugEventSetListeners</code>

-	 */

-	private Object[] getEventListeners() {

-		return fEventListeners.getListeners();

-	}

-	

-	/**

-	 * Adds the given debug event filter to the registered

-	 * event filters. Has no effect if an identical filter

-	 * is already registerd.

-	 * 

-	 * @param filter debug event filter

-	 * @since 2.0

-	 */

-	public void addDebugEventFilter(IDebugEventFilter filter) {

-		if (fEventFilters == null) {

-			fEventFilters = new ListenerList(2);

-		}

-		fEventFilters.add(filter);

-	}

-	

-	/**

-	 * Removes the given debug event filter from the registered

-	 * event filters. Has no effect if an identical filter

-	 * is not already registered.

-	 * 

-	 * @param filter debug event filter

-	 * @since 2.0

-	 */

-	public void removeDebugEventFilter(IDebugEventFilter filter) {

-		if (fEventFilters != null) {

-			fEventFilters.remove(filter);

-			if (fEventFilters.size() == 0) {

-				fEventFilters = null;

-			}

-		}

-	}	

-	

-	/**

-	 * Logs the given message if in debug mode.

-	 * 

-	 * @param message the message to log

-	 * @since 2.0

-	 */

-	public static void logDebugMessage(String message) {

-		if (getDefault().isDebugging()) {

-			// this message is intentionally not internationalized, as an exception may

-			// be due to the resource bundle itself

-			log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, "Internal message logged from Debug Core: " + message, null)); //$NON-NLS-1$

-		}

-	}

-	

-	/**

-	 * Logs the specified status with this plug-in's log.

-	 * 

-	 * @param status status to log

-	 * @since 2.0

-	 */

-	public static void log(IStatus status) {

-		getDefault().getLog().log(status);

-	}

-	

-	/**

-	 * Logs the specified throwable with this plug-in's log.

-	 * 

-	 * @param t throwable to log 

-	 * @since 2.0

-	 */

-	public static void log(Throwable t) {

-		IStatus status= new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, "Error logged from Debug Core: ", t); //$NON-NLS-1$

-		log(status);

-	}

-	

-	/**

-	 * Register status handlers.

-	 * 

-	 * @exception CoreException if an exception occurs reading

-	 *  the extensions

-	 */

-	private void initializeStatusHandlers() throws CoreException {

-		IPluginDescriptor descriptor= DebugPlugin.getDefault().getDescriptor();

-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(EXTENSION_POINT_STATUS_HANDLERS);

-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();

-		fStatusHandlers = new HashMap(infos.length);

-		for (int i= 0; i < infos.length; i++) {

-			IConfigurationElement configurationElement = infos[i];

-			String id = configurationElement.getAttribute("plugin"); //$NON-NLS-1$

-			String code = configurationElement.getAttribute("code"); //$NON-NLS-1$

-			

-			if (id != null && code != null) {

-				try {

-					StatusHandlerKey key = new StatusHandlerKey(id, Integer.parseInt(code));

-					fStatusHandlers.put(key, configurationElement);

-				} catch (NumberFormatException e) {

-					// invalid status handler

-					invalidStatusHandler(e, configurationElement.getAttribute("id")); //$NON-NLS-1$

-				}

-			} else {

-				// invalid status handler

-				invalidStatusHandler(null, configurationElement.getAttribute("id")); //$NON-NLS-1$

-			}

-		}			

-	}

-	

-	private void invalidStatusHandler(Exception e, String id) {

-		log(new Status(IStatus.ERROR, getDescriptor().getUniqueIdentifier(), INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("DebugPlugin.Invalid_status_handler_extension__{0}_2"), new String[] {id}), e)); //$NON-NLS-1$

-	}

-	

-	/**

-	 * Key for status handler extensions - a plug-in identifier/code pair

-	 */

-	class StatusHandlerKey {

-		

-		String fPluginId;

-		int fCode;

-		

-		StatusHandlerKey(String pluginId, int code) {

-			fPluginId = pluginId;

-			fCode = code;

-		}

-		

-		public int hashCode() {

-			return fPluginId.hashCode() + fCode;

-		}

-		

-		public boolean equals(Object obj) {

-			if (obj instanceof StatusHandlerKey) {

-				StatusHandlerKey s = (StatusHandlerKey)obj;

-				return fCode == s.fCode && fPluginId.equals(s.fPluginId);

-			}

-			return false;

-		}

-	}

-

-	/**

-	 * Returns whether any event filters are registered

-	 * 

-	 * @return whether any event filters are registered

-	 */

-	private boolean hasEventFilters() {

-		return fEventFilters != null && fEventFilters.size() > 0;

-	}

-

-	

-	

-}

-

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
deleted file mode 100644
index e25f2fc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-

-import org.eclipse.core.resources.IMarkerDelta;

-import org.eclipse.debug.core.model.IBreakpoint;

-

-/**

- * A breakpoint listener is notified of breakpoint additions,

- * removals, and changes. Listeners register and deregister with the

- * breakpoint manager.

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see IBreakpointManager

- */

-

-public interface IBreakpointListener {

-

-	/**

-	 * Notifies this listener that the given breakpoint has been added

-	 * to the breakpoint manager.

-	 *

-	 * @param breakpoint the added breakpoint

-	 * @since 2.0

-	 */

-	public void breakpointAdded(IBreakpoint breakpoint);

-	/**

-	 * Notifies this listener that the given breakpoint has been removed

-	 * from the breakpoint manager.

-	 * If the given breakpoint has been removed because it has been deleted,

-	 * the associated marker delta is also provided.

-	 *

-	 * @param breakpoint the removed breakpoint

-	 * @param delta the associated marker delta, or  <code>null</code> when

-	 * 	the breakpoint is removed from the breakpoint manager without

-	 *	being deleted

-	 *

-	 * @see org.eclipse.core.resources.IMarkerDelta

-	 * @since 2.0

-	 */

-	public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta);

-	

-	/**

-	 * Notifies this listener that an attribute of the given breakpoint has

-	 * changed, as described by the delta.

-	 *

-	 * @param breakpoint the changed breakpoint

-	 * @param delta the marker delta that describes the changes

-	 *  with the marker associated with the given breakpoint, or

-	 *  <code>null</code> when the breakpoint change does not generate

-	 *  a marker delta

-	 *

-	 * @see org.eclipse.core.resources.IMarkerDelta

-	 * @since 2.0

-	 */

-	public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta);

-

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
deleted file mode 100644
index 3bd08f9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.resources.IMarker;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.debug.core.model.IBreakpoint;

-

-/**

- * The breakpoint manager manages the collection of breakpoints

- * in the workspace. A breakpoint suspends the execution of a

- * program being debugged. The kinds of breakpoints supported by each

- * debug architecture and the information required to create those

- * breakpoints is defined by each debug architecture.

- * Breakpoint creation is a client responsibility.

- * <p>

- * Clients interested in breakpoint change notification may

- * register with the breakpoint manager - see

- * <code>IBreakpointListener</code>.

- * </p>

- * <p>

- * This interface is not intended to be implemented by clients.

- * </p>

- * @see IBreakpointListener

- */

-public interface IBreakpointManager {

-	/**

-	 * Adds the given breakpoint to the collection of registered breakpoints

-	 * in the workspace and notifies all registered listeners. This has no effect

-	 * if the given breakpoint is already registered.

-	 *

-	 * @param breakpoint the breakpoint to add

-	 *

-	 * @exception DebugException if adding fails. Reasons include:<ul>

-	 * <li>CONFIGURATION_INVALID - the required <code>MODEL_IDENTIFIER</code> attribute

-	 * 	is not set on the breakpoint marker.</li>

-	 * <li>A <code>CoreException</code> occurred while verifying the <code>MODEL_IDENTIFIER</code>

-	 *	attribute.</li>

-	 * </ul>

-	 * @since 2.0

-	 */

-	public void addBreakpoint(IBreakpoint breakpoint) throws CoreException;

-	

-	/**

-	 * Returns the breakpoint associated with the given marker or

-	 * <code>null</code> if no such breakpoint exists

-	 * 

-	 * @param marker the marker

-	 * @return the breakpoint associated with the marker

-	 * 	or <code>null</code> if none exists

-	 * @since 2.0

-	 */

-	public IBreakpoint getBreakpoint(IMarker marker);	

-	

-	/**

-	 * Returns a collection of all registered breakpoints.

-	 * Returns an empty array if no breakpoints are registered.

-	 *

-	 * @return an array of breakpoints

-	 * @since 2.0

-	 */

-	public IBreakpoint[] getBreakpoints();

-	

-	/**

-	 * Returns whether there are any registered breakpoints.

-	 * 

-	 * @return whether there are any registered breakpoints

-	 * @since 2.0

-	 */

-	public boolean hasBreakpoints();

-	

-	/**

-	 * Returns a collection of all breakpoints registered for the

-	 * given debug model. Answers an empty array if no breakpoints are registered

-	 * for the given debug model.

-	 *

-	 * @param modelIdentifier identifier of a debug model plug-in

-	 * @return an array of breakpoints

-	 * @since 2.0

-	 */

-	public IBreakpoint[] getBreakpoints(String modelIdentifier);

-		

-	/**

-	 * Returns whether the given breakpoint is currently

-	 * registered with this breakpoint manager.

-	 *

-	 * @return whether the breakpoint is registered

-	 * @since 2.0

-	 */

-	public boolean isRegistered(IBreakpoint breakpoint);

-	

-	/**

-	 * Notifies all registered listeners that the given

-	 * breakpoint has changed. Has no effect if the given

-	 * breakpoint is not currently registered.

-	 * 

-	 * This method is intended to be used when a breakpoint

-	 * attribute is changed that does not alter the breakpoint's

-	 * underlying marker, that is, when notification will not occur

-	 * via the marker delta mechanism.

-	 * 

-	 * @param breakpoint the breakpoint that has changed.

-	 * @since 2.0

-	 */

-	public void fireBreakpointChanged(IBreakpoint breakpoint);

-

-	/**

-	 * Removes the given breakpoint from the breakpoint manager, deletes

-	 * the marker associated with the breakpoint if the <code>delete</code> flag

-	 * is <code>true</code>, and notifies all registered

-	 * listeners. Has no effect if the given breakpoint is not currently

-	 * registered.

-	 *

-	 * @param breakpoint the breakpoint to remove

-	 * @param delete whether to delete the marker associated with the

-	 *  breakpoint

-	 * @exception CoreException if an exception occurs while deleting the

-	 * 	underlying marker.

-	 * @since 2.0

-	 */

-	public void removeBreakpoint(IBreakpoint breakpoint, boolean delete) throws CoreException;

-

-	/**

-	 * Adds the given listener to the collection of registered breakpoint listeners.

-	 * Has no effect if an identical listener is already registered.

-	 *

-	 * @param listener the listener to add

-	 */

-	public void addBreakpointListener(IBreakpointListener listener);

-

-	/**

-	 * Removes the given listener from the collection of registered breakpoint listeners.

-	 * Has no effect if an identical listener is not already registered.

-	 *

-	 * @param listener the listener to remove	

-	 */

-	public void removeBreakpointListener(IBreakpointListener listener);

-	

-}

-

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
deleted file mode 100644
index 64c1c8e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/**

- * An event filter allows clients to intercept debug events.

- * Event filters are registered with the debug plug-in.

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see DebugPlugin

- * @since 2.0

- */

-public interface IDebugEventFilter {

-

-	/**

-	 * Filters the given set of debug events, and returns the set of debug

-	 * events that should be fired to registered listeners - <code>null</code>

-	 * or an empty collection if no debug events should be fired.

-	 * <p>

-	 * When multiple event filters are registered, events are passed through

-	 * all filters. That is, the events returned from the first filter are

-	 * passed through the second filter, and so on.

-	 * </p>

-	 * 

-	 * @return  the set of debug events to fire

-	 */

-	public DebugEvent[] filterDebugEvents(DebugEvent[] events);

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
deleted file mode 100644
index bc812a1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.debug.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * A debug event set listener registers with the debug plug-in
- * to receive event notification from programs being run or debugged.
- * <p>
- * When more than one event is reported, each event has occurred at the
- * same location in a target program. For example, a breakpoint may
- * reside at the same location at which a step request completes. In 
- * this case the breakpoint event and step end event are reported together
- * in the same event set.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see DebugEvent
- * @since 2.0
- */
-public interface IDebugEventSetListener {
-	/**
-	 * Notifies this listener of the given debug events.
-	 * All of the events in the given event collection occurred
-	 * at the same location the program be run or debugged.
-	 *
-	 * @param events the debug events
-	 */
-	public void handleDebugEvents(DebugEvent[] events);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
deleted file mode 100644
index c34bcf9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-

-import org.eclipse.debug.core.model.IExpression;

-

-/**

- * An expression listener is notified of expression additions,

- * removals, and changes. Listeners register and deregister with the

- * expression manager.

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see IExpressionManager

- * @since 2.0

- */

-

-public interface IExpressionListener {

-

-	/**

-	 * Notifies this listener that the given expression has been added

-	 * to the expression manager.

-	 *

-	 * @param expression the added expression

-	 */

-	public void expressionAdded(IExpression expression);

-	/**

-	 * Notifies this listener that the given expression has been removed

-	 * from the expression manager.

-	 *

-	 * @param expression the removed expression

-	 */

-	public void expressionRemoved(IExpression expression);

-	

-	/**

-	 * Notifies this listener that the given expression has

-	 * changed.

-	 *

-	 * @param expression the changed expression

-	 */

-	public void expressionChanged(IExpression expression);

-

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
deleted file mode 100644
index b04d827..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.model.IExpression;

-

-/**

- * The expression manager manages the collection of registered

- * expressions in the workspace. An expression is a snippet of code

- * that can be evaluated to produce a value. Expression creation

- * and evaluation are client responsibilities.

- * <p>

- * Clients interested in expression change notification may

- * register with the expression manager - see

- * <code>IExpressionListener</code>.

- * </p>

- * <p>

- * This interface is not intended to be implemented by clients.

- * </p>

- * @see IExpression

- * @see IExpressionListener

- * @since 2.0

- */

-public interface IExpressionManager {

-	/**

-	 * Adds the given expression to the collection of registered expressions

-	 * in the workspace and notifies all registered listeners. This has no effect

-	 * if the given expression is already registered.

-	 *

-	 * @param expression the expression to add

-	 */

-	public void addExpression(IExpression expression);

-		

-	/**

-	 * Returns a collection of all registered expressions, 

-	 * possibly empty.

-	 *

-	 * @return an array of expressions

-	 */

-	public IExpression[] getExpressions();

-	

-	/**

-	 * Returns whether there are any registered expressions

-	 * 

-	 * @return whether there are any registered expressions

-	 */

-	public boolean hasExpressions();

-	

-	/**

-	 * Returns a collection of all expressions registered for the

-	 * given debug model,possibly empty.

-	 *

-	 * @param modelIdentifier identifier of a debug model plug-in

-	 * @return an array of expressions

-	 */

-	public IExpression[] getExpressions(String modelIdentifier);

-		

-	/**

-	 * Removes the given expression from the expression manager,

-	 * and notifies all registered listeners. Has no effect if the

-	 * given expression is not currently registered.

-	 *

-	 * @param expression the expression to remove

-	 */

-	public void removeExpression(IExpression expression);

-

-	/**

-	 * Adds the given listener to the collection of registered expression listeners.

-	 * Has no effect if an identical listener is already registered.

-	 *

-	 * @param listener the listener to add

-	 */

-	public void addExpressionListener(IExpressionListener listener);

-

-	/**

-	 * Removes the given listener from the collection of registered expression listeners.

-	 * Has no effect if an identical listener is not already registered.

-	 *

-	 * @param listener the listener to remove	

-	 */

-	public void removeExpressionListener(IExpressionListener listener);

-	

-}

-

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
deleted file mode 100644
index 9fc6990..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.IAdaptable;

-import org.eclipse.debug.core.model.IDebugTarget;

-import org.eclipse.debug.core.model.IProcess;

-import org.eclipse.debug.core.model.ISourceLocator;

-import org.eclipse.debug.core.model.ITerminate;

-

-/**

- * A launch is the result of launching a debug session

- * and/or one or more system processes.

- * <p>

- * This interface is not intended to be implemented by clients. Clients

- * should create instances of this interface by using the implementation

- * provided by the class <code>Launch</code>.

- * </p>

- * @see Launch

- */

-public interface ILaunch extends ITerminate, IAdaptable {

-	/**

-	 * Returns the children of this launch - a collection

-	 * of one or more debug targets and processes, possibly empty.

-	 *

-	 * @return an array (element type:<code>IDebugTarget</code> or <code>IProcess</code>),

-	 * 	or an empty array

-	 */

-	public Object[] getChildren();

-	/**

-	 * Returns the primary (first) debug target associated with this launch, or <code>null</code>

-	 * if no debug target is associated with this launch. All debug targets 

-	 * associated with this launch may be retrieved by

-	 * <code>getDebugTargets()</code>.

-	 *

-	 * @return the primary debug target associated with this launch, or <code>null</code>

-	 */

-	public IDebugTarget getDebugTarget();

-

-	/**

-	 * Returns the processes that were launched,

-	 * or an empty collection if no processes were launched.

-	 *

-	 * @return array of processes

-	 */

-	public IProcess[] getProcesses();

-	

-	/**

-	 * Returns all the debug targets associated with this launch,

-	 * or an empty collection if no debug targets are associated

-	 * with this launch. The primary debug target is the first

-	 * in the collection (if any).

-	 *

-	 * @return array of debug targets

-	 * @since 2.0

-	 */

-	public IDebugTarget[] getDebugTargets();

-	

-	/**

-	 * Adds the given debug target to this launch. Has no effect

-	 * if the given debug target is already associated with this

-	 * launch. Registered listeners are notified that this launch

-	 * has changed.

-	 *

-	 * @param target debug target to add to this launch

-	 * @since 2.0

-	 */

-	public void addDebugTarget(IDebugTarget target);	

-	

-	/**

-	 * Removes the given debug target from this launch. Has no effect

-	 * if the given debug target is not already associated with this

-	 * launch. Registered listeners are notified that this launch

-	 * has changed.

-	 *

-	 * @param target debug target to remove from this launch

-	 * @since 2.0

-	 */

-	public void removeDebugTarget(IDebugTarget target);	

-	

-	/**

-	 * Adds the given process to this launch. Has no effect

-	 * if the given process is already associated with this

-	 * launch. Registered listeners are notified that this launch

-	 * has changed.

-	 *

-	 * @param process the process to add to this launch

-	 * @since 2.0

-	 */

-	public void addProcess(IProcess process);		

-	

-	/**

-	 * Removes the given process from this launch. Has no effect

-	 * if the given process is not already associated with this

-	 * launch. Registered listeners are notified that this launch

-	 * has changed.

-	 *

-	 * @param process the process to remove from this launch

-	 * @since 2.0

-	 */

-	public void removeProcess(IProcess process);			

-		

-	/**

-	 * Returns the source locator to use for locating source elements for

-	 * the debug target associated with this launch, or <code>null</code>

-	 * if source lookup is not supported.

-	 *

-	 * @return the source locator

-	 */

-	public ISourceLocator getSourceLocator();

-	

-	/**

-	 * Sets the source locator to use for locating source elements for

-	 * the debug target associated with this launch, or <code>null</code>

-	 * if source lookup is not supported.

-	 *

-	 * @param sourceLocator source locator or <code>null</code>

-	 * @since 2.0

-	 */

-	public void setSourceLocator(ISourceLocator sourceLocator);

-		

-	/**

-	 * Returns the mode of this launch - one of the mode constants defined by

-	 * the launch manager.

-	 *

-	 * @return the launch mode

-	 * @see ILaunchManager

-	 */

-	public String getLaunchMode();

-	

-	/**

-	 * Returns the configuration that was launched, or <code>null</code>

-	 * if no configuration was launched.

-	 * 

-	 * @return the launched configuration or <code>null</code>

-	 * @since 2.0

-	 */

-	public ILaunchConfiguration getLaunchConfiguration();

-	

-	/**

-	 * Sets the value of a client defined attribute.

-	 *

-	 * @param key the attribute key

-	 * @param value the attribute value

-	 * @since 2.0

-	 */

-	public void setAttribute(String key, String value);

-	

-	/**

-	 * Returns the value of a client defined attribute.

-	 *

-	 * @param key the attribute key

-	 * @return value the attribute value, or <code>null</code> if undefined

-	 * @since 2.0

-	 */

-	public String getAttribute(String key);	

-	

-	/**

-	 * Returns whether this launch contains at least one process

-	 * or debug target.

-	 * 

-	 * @return whether this launch contains at least one process

-	 * or debug target

-	 * @since 2.0

-	 */

-	public boolean hasChildren();

-

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
deleted file mode 100644
index 93c828f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
+++ /dev/null
@@ -1,342 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.List;

-import java.util.Map;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IAdaptable;

-import org.eclipse.core.runtime.IPath;

-import org.eclipse.core.runtime.IProgressMonitor;

-

-/**

- * A launch configuration describes how to launch an application.

- * Each launch configuration is an instance of a type of launch

- * configuration as described by a launch configuration type 

- * extension. Each launch configuration has a launch configuration

- * delegate which performs the actual launching of a

- * configuration.

- * <p>

- * A launch configuration may be shared in a repository via

- * standard VCM mechanisms, or may be stored locally, essentially

- * making the launch configuration private for a single user.

- * Thus, a launch configuration may stored as a file in the

- * workspace (shared), or as a file in the debug plug-in's state

- * location.

- * </p>

- * A launch configuration is a handle to its underlying storage.

- * </p>

- * <p>

- * A launch configuration is modified by obtaining a working copy

- * of a launch configuration, modifying the working copy, and then

- * saving the working copy.

- * </p>

- * <p>

- * This interface is not intended to be implemented by clients. Clients

- * that define a launch configuration delegate extension implement the

- * <code>ILaunchConfigurationDelegate</code> interface.

- * </p>

- * @see ILaunchConfigurationType

- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate

- * @see ILaunchConfigurationWorkingCopy

- * @since 2.0

- */

-public interface ILaunchConfiguration extends IAdaptable {

-	

-	/**

-	 * The file extension for launch configuration files

-	 * (value <code>"launch"</code>).

-	 */

-	public static final String LAUNCH_CONFIGURATION_FILE_EXTENSION = "launch"; //$NON-NLS-1$

-	

-	/**

-	 * Launch configuration attribute storing an identifier of

-	 * a persistable source locator extension. When this attribute is

-	 * specified, a new source locator will be created automatically and

-	 * associated with the launch for this configuration.

-	 * 

-	 * @see IPersistableSourceLocator

-	 */

-	public static final String ATTR_SOURCE_LOCATOR_ID = DebugPlugin.getUniqueIdentifier() + ".source_locator_id"; //$NON-NLS-1$

-	

-	/**

-	 * Launch configuration attribute storing a memento of a 

-	 * source locator. When this attribute is specified in

-	 * conjunction with a source locator id, the source locator

-	 * created for a launch will be initialized with this memento.

-	 * When not specified, but a source locator id is specified,

-	 * the source locator will be initialized to default values.

-	 * 

-	 * @see IPersistableSourceLocator 

-	 */

-	public static final String ATTR_SOURCE_LOCATOR_MEMENTO = DebugPlugin.getUniqueIdentifier() + ".source_locator_memento"; //$NON-NLS-1$

-	

-	/**

-	 * Launches this configuration in the specified mode by delegating to

-	 * this configuration's launch configuration delegate, and returns the

-	 * resulting launch.

-	 * A new launch object is created and registered with the launch manager

-	 * before passing it to this configuration's delegate for contributions

-	 * (debug targets and processes).

-	 * If the delegate contributes a source locator to the launch, that

-	 * source locator is used. Otherwise an appropriate source locator is

-	 * contributed to the launch  based on the values of

-	 * <code>ATTR_SOURCE_LOCAOTOR_ID</code> and <code>ATTR_SOURCE_LOCATOR_MEMENTO</code>.

-	 * If the launch is cancelled (via the given progress monitor), the

-	 * launch is removed from the launch manager. The launch is returned

-	 * whether cancelled or not.

-	 * Invoking this method causes the underlying launch configuration delegate

-	 * to be instantiated (if not already).

-	 * 

-	 * @param mode the mode in which to launch, one of the mode constants

-	 *  defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.

-	 * @param monitor progress monitor, or <code>null</code>

-	 * @return the resulting launch.

-	 * @exception CoreException if this method fails. Reasons include:<ul>

-	 * <li>unable to instantiate the underlying launch configuration delegate</li>

-	 * <li>the launch fails (in the delegate)</code>

-	 * </ul>

-	 */

-	public ILaunch launch(String mode, IProgressMonitor monitor) throws CoreException;

-	

-	/**

-	 * Returns whether this launch configuration supports the

-	 * specified mode.

-	 * 

-	 * @param mode a mode in which a configuration can be launched, one of

-	 *  the mode constants defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or

-	 *  <code>DEBUG_MODE</code>.

-	 * @return whether this launch configuration supports the

-	 *  specified mode

-	 * @exception CoreException if this method fails. Reasons include:

-	 * <ul>

-	 * <li>Unable to retrieve this launch configuration's type.</li>

-	 * </ul>

-	 */

-	public boolean supportsMode(String mode) throws CoreException;

-	

-	/**

-	 * Returns the name of this launch configuration.

-	 * 

-	 * @return the name of this launch configuration

-	 */

-	public String getName();

-		

-	/**

-	 * Returns the location of this launch configuration as a

-	 * path.

-	 * 

-	 * @return the location of this launch configuration as a

-	 *  path

-	 */

-	public IPath getLocation();

-	

-	/**

-	 * Returns whether this launch configuration's underlying

-	 * storage exists.

-	 * 

-	 * @return whether this launch configuration's underlying

-	 *  storage exists

-	 */

-	public boolean exists();

-	

-	/**

-	 * Returns the integer-valued attribute with the given name.  

-	 * Returns the given default value if the attribute is undefined.

-	 *

-	 * @param attributeName the name of the attribute

-	 * @param defaultValue the value to use if no value is found

-	 * @return the value or the default value if no value was found.

-	 * @exception CoreException if this method fails. Reasons include:

-	 * <ul>

-	 * <li>An exception occurs while retrieving the attribute from

-	 *  underlying storage.</li>

-	 * <li>An attribute with the given name exists, but does not

-	 *  have an integer value</li>

-	 * </ul>

-	 */

-	public int getAttribute(String attributeName, int defaultValue) throws CoreException;

-	/**

-	 * Returns the string-valued attribute with the given name.  

-	 * Returns the given default value if the attribute is undefined.

-	 *

-	 * @param attributeName the name of the attribute

-	 * @param defaultValue the value to use if no value is found

-	 * @return the value or the default value if no value was found.

-	 * @exception CoreException if this method fails. Reasons include:

-	 * <ul>

-	 * <li>An exception occurs while retrieving the attribute from

-	 *  underlying storage.</li>

-	 * <li>An attribute with the given name exists, but does not

-	 *  have a String value</li>

-	 * </ul>

-	 */

-	public String getAttribute(String attributeName, String defaultValue) throws CoreException;

-	/**

-	 * Returns the boolean-valued attribute with the given name.  

-	 * Returns the given default value if the attribute is undefined.

-	 *

-	 * @param attributeName the name of the attribute

-	 * @param defaultValue the value to use if no value is found

-	 * @return the value or the default value if no value was found.

-	 * @exception CoreException if this method fails. Reasons include:

-	 * <ul>

-	 * <li>An exception occurs while retrieving the attribute from

-	 *  underlying storage.</li>

-	 * <li>An attribute with the given name exists, but does not

-	 *  have a boolean value</li>

-	 * </ul>

-	 */

-	public boolean getAttribute(String attributeName, boolean defaultValue) throws CoreException;

-	/**

-	 * Returns the <code>java.util.List</code>-valued attribute with the given name.  

-	 * Returns the given default value if the attribute is undefined.

-	 *

-	 * @param attributeName the name of the attribute

-	 * @param defaultValue the value to use if no value is found

-	 * @return the value or the default value if no value was found.

-	 * @exception CoreException if this method fails. Reasons include:

-	 * <ul>

-	 * <li>An exception occurs while retrieving the attribute from

-	 *  underlying storage.</li>

-	 * <li>An attribute with the given name exists, but does not

-	 *  have a List value</li>

-	 * </ul>

-	 */

-	public List getAttribute(String attributeName, List defaultValue) throws CoreException;

-	/**

-	 * Returns the <code>java.util.Map</code>-valued attribute with the given name.  

-	 * Returns the given default value if the attribute is undefined.

-	 *

-	 * @param attributeName the name of the attribute

-	 * @param defaultValue the value to use if no value is found

-	 * @return the value or the default value if no value was found.

-	 * @exception CoreException if this method fails. Reasons include:

-	 * <ul>

-	 * <li>An exception occurs while retrieving the attribute from

-	 *  underlying storage.</li>

-	 * <li>An attribute with the given name exists, but does not

-	 *  have a Map value</li>

-	 * </ul>

-	 */

-	public Map getAttribute(String attributeName, Map defaultValue) throws CoreException;

-		

-	/**

-	 * Returns the file this launch configuration is stored

-	 * in, or <code>null</code> if this configuration is stored

-	 * locally with the workspace.

-	 * 

-	 * @return the file this launch configuration is stored

-	 *  in, or <code>null</code> if this configuration is stored

-	 *  locally with the workspace

-	 */

-	public IFile getFile();

-	

-	/**

-	 * Returns the type of this launch configuration.

-	 * 

-	 * @return the type of this launch configuration

-	 * @exception CoreException if this method fails. Reasons include:

-	 * <ul>

-	 * <li>Unable to retrieve or instantiate this launch configuration's type.</li>

-	 * </ul>

-	 * @see ILaunchConfigurationType

-	 */

-	public ILaunchConfigurationType getType() throws CoreException;

-		

-	/**

-	 * Returns whether this launch configuration is stored

-	 * locally with the workspace.

-	 * 

-	 * @return whether this launch configuration is stored

-	 *  locally with the workspace

-	 */

-	public boolean isLocal();

-	

-	/**

-	 * Returns a working copy of this launch configuration.

-	 * Changes to the working copy will be applied to this

-	 * launch configuration when saved. The working copy will

-	 * refer to this launch configuration as its original

-	 * launch configuration.

-	 * 

-	 * @return a working copy of this launch configuration

-	 * @exception CoreException if this method fails. Reasons include:

-	 * <ul>

-	 * <li>An exception occurs while initializing the contents of the

-	 * working copy from this configuration's underlying storage.</li>

-	 * </ul>

-	 * @see ILaunchConfigurationWorkingCopy#getOriginal()

-	 */

-	public ILaunchConfigurationWorkingCopy getWorkingCopy() throws CoreException;		

-	

-	/**

-	 * Returns a copy of this launch configuration, as a

-	 * working copy, with the specified name. The new

-	 * working copy does not refer back to this configuration

-	 * as its original launch configuration (the working copy

-	 * will return <code>null</code> for <code>getOriginal()</code>).

-	 * When the working copy is saved it will not effect this

-	 * launch configuration.

-	 * 

-	 * @param name the name of the copy

-	 * @return a copy of this launch configuration

-	 * @exception CoreException if this method fails. Reasons include:

-	 * <ul>

-	 * <li>An exception occurs while initializing the contents of the

-	 * working copy from this configuration's underlying storage.</li>

-	 * </ul>

-	 * @see ILaunchConfigurationWorkingCopy#getOriginal()

-	 */

-	public ILaunchConfigurationWorkingCopy copy(String name) throws CoreException;	

-	

-	/**

-	 * Returns whether this launch configuration is a working

-	 * copy.

-	 * 

-	 * @return whether this launch configuration is a working

-	 *  copy

-	 */

-	public boolean isWorkingCopy();

-	

-	/**

-	 * Deletes this launch configuration. This configuration's underlying

-	 * storage is deleted. Has no effect if this configuration

-	 * does not exist.

-	 * 

-	 * @exception CoreException if this method fails. Reasons include:

-	 * <ul>

-	 * <li>An exception occurs while deleting this configuration's

-	 *  underlying storage.</li>

-	 * </ul>

-	 */

-	public void delete() throws CoreException;

-	

-	/**

-	 * Returns a memento for this launch configuration, or <code>null</code>

-	 * if unable to generate a memento for this configuration. A memento

-	 * can be used to re-create a launch configuration, via the

-	 * launch manager.

-	 * 

-	 * @return a memento for this configuration

-	 * @see ILaunchManager#getLaunchConfiguration(String)

-	 * @exception CoreException if an exception occurs generating this

-	 *  launch configuration's memento 

-	 */

-	public String getMemento() throws CoreException;

-	

-	/**

-	 * Returns whether the contents of this launch configuration are 

-	 * equal to the contents of the given launch configuration.

-	 * 

-	 * @return whether the contents of this launch configuration are equal to the contents

-	 * of the specified launch configuration.

-	 */

-	public boolean contentsEqual(ILaunchConfiguration configuration);

-

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
deleted file mode 100644
index 2653d8a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-/**

- * Notified when a launch configuration is created,

- * deleted, or changed.

- * <p>

- * This interface is intended to be implemented by clients.

- * </p>

- * @since 2.0

- */

-public interface ILaunchConfigurationListener {

-	

-	/**

-	 * The given launch configuration has been created.

-	 * 

-	 * @param configuration the newly created launch configuration

-	 */

-	public void launchConfigurationAdded(ILaunchConfiguration configuration);

-	

-	/**

-	 * The given launch configuration has changed in some way.

-	 * The configuration may be a working copy.

-	 * 

-	 * @param configuration the launch configuration that has

-	 *  changed

-	 */

-	public void launchConfigurationChanged(ILaunchConfiguration configuration);

-	

-	/**

-	 * The given launch configuration has been deleted.

-	 * 

-	 * @param configuration the deleted launch configuration

-	 */

-	public void launchConfigurationRemoved(ILaunchConfiguration configuration);	

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
deleted file mode 100644
index 343b50c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.resources.IContainer;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;

-

-/**

- * Describes and creates instances of a specific type of

- * launch configuration. Launch configuration types are

- * defined by extensions.

- * <p>

- * A launch configuration type extension is defined in <code>plugin.xml</code>.

- * Following is an example definition of a launch configuration

- * type extension.

- * <pre>

- * &lt;extension point="org.eclipse.debug.core.launchConfigurationTypes"&gt;

- *   &lt;launchConfigurationType 

- *      id="com.example.ExampleIdentifier"

- *      delegate="com.example.ExampleLaunchConfigurationDelegate"

- *      modes="run, debug"

- *      name="Example Application"&gt;

- *   &lt;/launchConfigurationType&gt;

- * &lt;/extension&gt;

- * </pre>

- * The attributes are specified as follows:

- * <ul>

- * <li><code>id</code> specifies a unique identifier for this launch configuration

- *  type.</li>

- * <li><code>delegate</code> specifies the fully qualified name of the java class

- *   that implements <code>ILaunchConfigurationDelegate</code>. Launch configuration

- *   instances of this type will delegate to instances of this class

- *   to perform launching.</li>

- * <li><code>modes</code> specifies a comma separated list of the modes this

- *    type of launch configuration suports - <code>"run"</code> and/or <code>"debug"</code>.</li>

- * <li><code>name</code> specifies a human readable name for this type

- *    of launch configuration.</li>

- * </ul>

- * </p>

- * <p>

- * This interface is not intended to be implemented by clients. Clients

- * that define a launch configuration delegate extension implement the

- * <code>ILaunchConfigurationDelegate</code> interface.

- * </p>

- * @see ILaunchConfiguration

- * @since 2.0

- */

-public interface ILaunchConfigurationType {

-		

-	/**

-	 * Returns whether this type of launch configuration supports

-	 * the specified mode.

-	 * 

-	 * @param mode a mode in which a configuration can be launched, one of

-	 *  the mode constants defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or

-	 *  <code>DEBUG_MODE</code>.

-	 * @return whether this kind of launch configuration supports the

-	 *  specified mode

-	 */

-	public boolean supportsMode(String mode);

-	

-	/**

-	 * Returns the name of this type of launch configuration.

-	 * 

-	 * @return the name of this type of launch configuration

-	 */

-	public String getName();

-	

-	/**

-	 * Returns the unique identifier for this type of launch configuration

-	 * 

-	 * @return the unique identifier for this type of launch configuration

-	 */

-	public String getIdentifier();

-	

-	/**

-	 * Returns whether this launch configuration type is public.  Public configuration

-	 * types are available for use by the user, for example, the user can create new

-	 * configurations based on public types through the UI.  Private types are not

-	 * accessbile in this way, but are still available through the methods on 

-	 * <code>ILaunchManager</code>.

-	 * 

-	 * @return whether this launch configuration type is public.

-	 */

-	public boolean isPublic();

-	

-	/**

-	 * Returns a new launch configuration working copy of this type,

-	 * that resides in the specified container, with the given name.

-	 * When <code>container</code> is </code>null</code>, the configuration

-	 * will reside locally in the metadata area.

-	 * Note: a launch configuration is not actually created until the working copy is saved.

-	 * 

-	 * @param container the container in which the new configuration will

-	 *  reside, or <code>null</code> if the configuration should reside

-	 *  locally with the metadata.

-	 * @param name name for the launch configuration

-	 * @return a new launch configuration working copy instance of this type

-	 * @exception CoreException if an instance of this type

-	 *  of launch configuration could not be created for any

-	 *  reason

-	 */

-	public ILaunchConfigurationWorkingCopy newInstance(IContainer container, String name) throws CoreException;

-	

-	/**

-	 * Returns the launch configuration delegate for launch

-	 * configurations of this type. The first time this method

-	 * is called, the delegate is instantiated.

-	 * 

-	 * @return launch configuration delegate

-	 * @exception CoreException if unable to instantiate the

-	 *  delegate

-	 */	

-	public ILaunchConfigurationDelegate getDelegate() throws CoreException;

-		

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
deleted file mode 100644
index 62e5bfc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.List;

-import java.util.Map;

-

-import org.eclipse.core.resources.IContainer;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IAdaptable;

-

-/**

- * An editable copy of a launch configuration. Attributes of a

- * launch configuration are modified by modifying the attributes

- * of a working copy, and then saving the working copy.

- * <p>

- * This interface is not intended to be implemented by clients. Clients

- * that define a launch configuration delegate extension implement the

- * <code>ILaunchConfigurationDelegate</code> interface.

- * </p>

- * @see ILaunchConfiguration

- * @see ILaunchConfigurationType

- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate

- * @since 2.0

- */

-public interface ILaunchConfigurationWorkingCopy extends ILaunchConfiguration, IAdaptable {

-	

-	/**

-	 * Returns whether this configuration has been modified

-	 * since it was last saved or created.

-	 * 

-	 * @return whether this configuration has been modified

-	 *  since it was last saved or created

-	 */

-	public boolean isDirty();

-	

-	/**

-	 * Saves this working copy to its underlying file and returns

-	 * a handle to the resulting launch configuration.

-	 * Has no effect if this configuration does not need saving.

-	 * Creates the underlying file if not yet created.

-	 * 

-	 * @exception CoreException if an exception occurs while 

-	 *  writing this configuration to its underlying file.

-	 */

-	public ILaunchConfiguration doSave() throws CoreException;

-			

-	/**

-	 * Sets the integer-valued attribute with the given name.  

-	 *

-	 * @param attributeName the name of the attribute

-	 * @param value the value

-	 */

-	public void setAttribute(String attributeName, int value);

-	

-	/**

-	 * Sets the String-valued attribute with the given name.

-	 * If the value is <code>null</code>, the attribute is removed from

-	 * this launch configuration.

-	 *

-	 * @param attributeName the name of the attribute

-	 * @param value the value, or <code>null</code> if the attribute is to be undefined

-	 */

-	public void setAttribute(String attributeName, String value);

-	

-	/**

-	 * Sets the <code>java.util.List</code>-valued attribute with the given name.

-	 * The specified List <em>must</em> contain only String-valued entries.

-	 * If the value is <code>null</code>, the attribute is removed from

-	 * this launch configuration.

-	 *

-	 * @param attributeName the name of the attribute

-	 * @param value the value, or <code>null</code> if the attribute is to be undefined

-	 */

-	public void setAttribute(String attributeName, List value);

-	

-	/**

-	 * Sets the <code>java.util.Map</code>-valued attribute with the given name.

-	 * The specified Map <em>must</em> contain only String keys and String values.

-	 * If the value is <code>null</code>, the attribute is removed from

-	 * this launch configuration.

-	 *

-	 * @param attributeName the name of the attribute

-	 * @param value the value, or <code>null</code> if the attribute is to be undefined

-	 */

-	public void setAttribute(String attributeName, Map value);

-	

-	/**

-	 * Sets the boolean-valued attribute with the given name.  

-	 *

-	 * @param attributeName the name of the attribute

-	 * @param value the value

-	 */

-	public void setAttribute(String attributeName, boolean value);	

-	

-	/**

-	 * Returns the original launch configuration this working copy

-	 * was created from, or <code>null</code> if this is a new

-	 * working copy created from a launch configuration type.

-	 * 

-	 * @return the original launch configuration, or <code>null</code>

-	 */

-	public ILaunchConfiguration getOriginal();

-	

-	/**

-	 * Renames this launch configuration to the specified name.

-	 * The new name cannot be <code>null</code>. Has no effect if the name

-	 * is the same as the current name. If this working copy is based

-	 * on an existing launch configuration, this will cause

-	 * the underlying launch configuration file to be renamed when

-	 * this working copy is saved.

-	 * 

-	 * @param name the new name for this configuration 

-	 */

-	public void rename(String name);	

-	

-	/**

-	 * Sets the container this launch configuration will be stored

-	 * in when saved. When set to <code>null</code>, this configuration

-	 * will be stored locally with the workspace. The specified

-	 * container must exist, if specified.

-	 * <p>

-	 * If this configuration is changed from local to non-local,

-	 * a file will be created in the specified container when

-	 * saved. The local file associated with this configuration

-	 * will be deleted.

-	 * </p>

-	 * <p>

-	 * If this configuration is changed from non-local to local,

-	 * a file will be created locally when saved.

-	 * The original file associated with this configuration in

-	 * the workspace will be deleted.

-	 * </p>

-	 * 

-	 * @param container the container in which to store this

-	 *  launch configuration, or <code>null</code> if this

-	 *  configuration is to be stored locally

-	 */

-	public void setContainer(IContainer container);	

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
deleted file mode 100644
index 9ba10ae..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/**

- * A launch listener is notified of launches as they

- * are added and removed from the launch manager. Also,

- * when a process or debug target is added to a launch,

- * listeners are notified of a change.

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see ILaunch

- */

-public interface ILaunchListener {	

-	/**

-	 * Notifies this listener that the specified

-	 * launch has been removed.

-	 *

-	 * @param launch the removed launch

-	 * @since 2.0

-	 */

-	public void launchRemoved(ILaunch launch);

-	/**

-	 * Notifies this listener that the specified launch

-	 * has been added.

-	 * 

-	 * @param launch the newly added launch

-	 * @since 2.0

-	 */

-	public void launchAdded(ILaunch launch);	

-	/**

-	 * Notifies this listener that the specified launch

-	 * has changed. For example, a process or debug target

-	 * has been added to the launch.

-	 * 

-	 * @param launch the changed launch

-	 * @since 2.0

-	 */

-	public void launchChanged(ILaunch launch);	

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
deleted file mode 100644
index 54df22b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.debug.core.model.IDebugTarget;

-import org.eclipse.debug.core.model.IPersistableSourceLocator;

-import org.eclipse.debug.core.model.IProcess;

-

-/**

- * The launch manager manages the set of registered launches, maintaining

- * a collection of active processes and debug targets. Clients interested

- * in launch notification may register with the launch manager.

- * <p>

- * Clients are not intended to implement this interface.

- * </p>

- * @see ILaunch

- * @see ILaunchListener

- */

-public interface ILaunchManager {

-	/**

-	 * A launch in a normal, non-debug mode(value <code>"run"</code>).

-	 */

-	public static final String RUN_MODE= "run"; //$NON-NLS-1$

-	/**

-	 * A launch in a special debug mode (value <code>"debug"</code>).

-	 */

-	public static final String DEBUG_MODE= "debug"; //$NON-NLS-1$

-	

-	/**

-	 * Adds the given listener to the collection of registered launch listeners.

-	 * Has no effect if an identical listener is already registerd.

-	 *

-	 * @param listener the listener to register

-	 */

-	public void addLaunchListener(ILaunchListener listener);

-	/**

-	 * Removes the specified launch and notifies listeners.

-	 * Has no effect if an identical launch is not already

-	 * registered.

-	 *

-	 * @param launch the launch to remove

-	 * @since 2.0

-	 */

-	public void removeLaunch(ILaunch launch);	

-	/**

-	 * Returns the collection of debug targets currently registered with this

-	 * launch manager.

-	 *

-	 * @return an array of debug targets

-	 */

-	public IDebugTarget[] getDebugTargets();

-	/**

-	 * Returns the collection of launches currently registered

-	 * with this launch manager.

-	 * 

-	 * @return an array of launches

-	 */

-	public ILaunch[] getLaunches();

-	/**

-	 * Returns the collection of processes currently registered with this

-	 * launch manager.

-	 *

-	 * @return an array of processes

-	 */

-	public IProcess[] getProcesses();

-	/**

-	 * Adds the specified launch and notifies listeners. Has no

-	 * effect if an identical launch is already registered.

-	 * 

-	 * @param launch the launch to add

-	 * @since 2.0

-	 */

-	public void addLaunch(ILaunch launch);	

-	/**

-	 * Removes the given listener from the collection of registered launch listeners.

-	 * Has no effect if an identical listener is not already registerd.

-	 *

-	 * @param listener the listener to deregister

-	 */

-	public void removeLaunchListener(ILaunchListener listener);

-	/**

-	 * Returns all launch configurations defined in the workspace.

-	 * 

-	 * @return all launch configurations defined in the workspace

-	 * @exception CoreException if an exception occurs retrieving configurations

-	 * @since 2.0

-	 */

-	public ILaunchConfiguration[] getLaunchConfigurations() throws CoreException;

-	

-	/**

-	 * Returns all launch configurations of the specified type defined in the workspace

-	 * 

-	 * @param type a launch configuration type

-	 * @return all launch configurations of the specified type defined in the workspace

-	 * @exception CoreException if an error occurs while retreiving

-	 *  a launch configuration

-	 * @since 2.0

-	 */

-	public ILaunchConfiguration[] getLaunchConfigurations(ILaunchConfigurationType type) throws CoreException;

-	

-	/**

-	 * Returns a handle to the launch configuration contained

-	 * in the specified file. The file is not verified to exist

-	 * or contain a launch configuration.

-	 * 

-	 * @param file launch configuration file

-	 * @return a handle to the launch configuration contained

-	 *  in the specified file

-	 * @since 2.0

-	 */

-	public ILaunchConfiguration getLaunchConfiguration(IFile file);

-	

-	/**

-	 * Returns a handle to the launch configuration specified by

-	 * the given memento. The configuration may not exist.

-	 * 

-	 * @return a handle to the launch configuration specified by

-	 *  the given memento

-	 * @exception CoreException if the given memento is invalid or

-	 *  an exception occurs parsing the memento

-	 * @see ILaunchConfiguration#getMemento()

-	 * @since 2.0

-	 */

-	public ILaunchConfiguration getLaunchConfiguration(String memento) throws CoreException;

-	

-	/**

-	 * Returns all defined launch configuration type extensions

-	 * 

-	 * @return all defined launch configuration type extensions

-	 * @since 2.0

-	 */

-	public ILaunchConfigurationType[] getLaunchConfigurationTypes();

-	

-	/**

-	 * Returns the launch configuration type extension with the specified

-	 * id, or <code>null</code> if it does not exist.

-	 * 

-	 * @param id unique identifier for a launch configuration type extension

-	 * @return the launch configuration type extension with the specified

-	 * id, or <code>null</code> if it does not exist

-	 * @since 2.0

-	 */

-	public ILaunchConfigurationType getLaunchConfigurationType(String id);

-	

-	/**

-	 * Adds the given launch configuration listener to the list

-	 * of listeners notified when a launch configuration is

-	 * added, removed, or changed. Has no effect if the given listener

-	 * is already registered.

-	 * 

-	 * @param listener launch configuration listener

-	 * @since 2.0

-	 */

-	public void addLaunchConfigurationListener(ILaunchConfigurationListener listener);

-	

-	/**

-	 * Removes the given launch configuration listener from the list

-	 * of listeners notified when a launch configuration is

-	 * added, removed, or changed. Has no effect if the given listener

-	 * is not already registered.

-	 * 

-	 * @param listener launch configuration listener

-	 * @since 2.0

-	 */

-	public void removeLaunchConfigurationListener(ILaunchConfigurationListener listener);	

-	

-	/**

-	 * Return <code>true</code> if there is a launch configuration with the specified name, 

-	 * <code>false</code> otherwise.

-	 * 

-	 * @param name the name of the launch configuration whose existence is being checked

-	 * @exception CoreException if unable to retrieve existing launch configuration names

-	 * @since 2.0

-	 */

-	public boolean isExistingLaunchConfigurationName(String name) throws CoreException;

-

-	/**

-	 * Return a String that can be used as the name of a launch configuration.  The name

-	 * is guaranteed to be unique (no existing launch configurations will have this name).

-	 * The name that is returned uses the <code>namePrefix</code> as a starting point.  If 

-	 * there is no existing launch configuration with this name, then <code>namePrefix</code>

-	 * is returned.  Otherwise, the value returned consists of the specified prefix plus

-	 * some suffix that guarantees uniqueness.

-	 * 

-	 * @param namePrefix the String that the returned name must begin with

-	 * @since 2.0

-	 */

-	public String generateUniqueLaunchConfigurationNameFrom(String namePrefix);

-

-	/**

-	 * Creates and returns a new source locator of the specified

-	 * type.

-	 * 

-	 * @param identifier the identifier associated with a 

-	 *  persistable source locator extension

-	 * @return a source locator

-	 * @exception CoreException if an exception occurs creating

-	 *  the source locator

-	 * @since 2.0

-	 */

-	public IPersistableSourceLocator newSourceLocator(String identifier) throws CoreException;

-}

-

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
deleted file mode 100644
index d8b45f8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.debug.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * A status handler registers to handle a specific status - error
- * or otherwise. Provides a mechanism for separating core (headless)
- * function from UI interaction. The debug plug-in provides a
- * status handlers extension point, against which handlers can
- * register for specific status codes - identified by plug-in
- * identifier and plug-in specific status code. The interaction between
- * an object requiring a status handler (source), and the status handler
- * is defined by the source and handler.
- * <p>
- * For example, a launch configuration delegate might encounter a timeout
- * while launching an application. In this case the delegate could abort
- * or, via the use of a status handler, prompt the user to continue. This
- * allows the launcher to be implemented in a plug-in that does not require
- * UI support, and allows another (UI) plug-in to register a handler.
- * </p>
- * <p>
- * A status handler extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a status handler extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.statusHandlers"&gt;
- *   &lt;statusHandler 
- *      id="com.example.ExampleIdentifier"
- *      class="com.example.ExampleStatusHandler"
- *      plugin="com.example.ExamplePluginId"
- *      code="123"&gt;
- *   &lt;/statusHandler&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this status handler.</li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements <code>IStatusHandler</code>.</li>
- * <li><code>plugin</code> plug-in identifier that corresponds to the
- *   plug-in of the status this handler is registered for (i.e.
- *   <code>IStatus.getPlugin()</code>).</li>
- * <li><code>code</code> specifies the status code this handler
- *   is registered for.</li>
- * </ul>
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see DebugPlugin#getStatusHandler(IStatus)
- * @since 2.0
- */
-
-public interface IStatusHandler {
-
-	/**
-	 * Notifies this status handler that the given status has been
-	 * generated by the specified source object and requires resolution.
-	 * 
-	 * @param status the status to handle
-	 * @param source the object delegating to this status handler
-	 *   the given status
-	 * @return an object representing the resolution of the status
-	 * @exception CoreException if unable to resolve the status
-	 */
-	public Object handleStatus(IStatus status, Object source) throws CoreException;
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
deleted file mode 100644
index 50be60d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.model.IStreamMonitor;

-

-/**

- * A stream listener is notified of changes

- * to a stream monitor.

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see IStreamMonitor

- */

-public interface IStreamListener {

-	/**

-	 * Notifies this listener that text has been appended to

-	 * the given stream monitor.

-	 *

-	 * @param text the appended text

-	 * @param monitor the stream monitor to which text was appended

-	 */

-	public void streamAppended(String text, IStreamMonitor monitor);

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
deleted file mode 100644
index 3aa4d56..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
+++ /dev/null
@@ -1,388 +0,0 @@
-package org.eclipse.debug.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.ArrayList;

-import java.util.HashMap;

-import java.util.Iterator;

-import java.util.List;

-

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.MultiStatus;

-import org.eclipse.core.runtime.PlatformObject;

-import org.eclipse.debug.core.model.IDebugTarget;

-import org.eclipse.debug.core.model.IProcess;

-import org.eclipse.debug.core.model.ISourceLocator;

-import org.eclipse.debug.internal.core.DebugCoreMessages;

-import org.eclipse.debug.internal.core.LaunchManager;

-

-/**

- * A launch is the result of launching a debug session

- * and/or one or more system processes. This class provides

- * a public implementation of <code>ILaunch</code> for client

- * use.

- * <p>

- * Clients may instantiate this class. Clients may subclass this class.

- * Many of the methods in this class that are part of the <code>ILaunch</code> interface 

- * are final. Clients that subclass this class are not intended to change the behavior

- * or implementation of the provided methods. Subclassing is only intended

- * to add additional information to a specific launch. For example, a client that

- * implements a launch object representing a Java launch might store a classpath

- * with the launch.

- * </p>

- * @see ILaunch

- * @see ILaunchManager

- */

-

-public class Launch extends PlatformObject implements ILaunch {

-	

-	/**

-	 * The debug targets associated with this

-	 * launch (the primary target is the first one

-	 * in this collection), or empty if

-	 * there are no debug targets.

-	 */

-	private List fTargets= new ArrayList();

-

-	/**

-	 * The configuration that was launched, or null.

-	 */

-	private ILaunchConfiguration fConfiguration= null;

-

-	/**

-	 * The system processes associated with

-	 * this launch, or empty if none.

-	 */

-	private List fProcesses= new ArrayList();

-

-	/**

-	 * The source locator to use in the debug session

-	 * or <code>null</code> if not supported.

-	 */

-	private ISourceLocator fLocator= null;

-

-	/**

-	 * The mode this launch was launched in.

-	 */

-	private String fMode;

-	

-	/**

-	 * Table of client defined attributes

-	 */

-	private HashMap fAttributes;	

-	

-	/**

-	 * Flag indiating that change notification should

-	 * be suppressed. <code>true</code> until this

-	 * launch has been initialzied.

-	 */

-	private boolean fSuppressChange = true;

-		

-	/**

-	 * Constructs a launch with the specified attributes.

-	 *

-	 * @param launchConfiguration the configuration that was launched

-	 * @param mode the mode of this launch - run or debug (constants

-	 *  defined by <code>ILaunchManager</code>)

-	 * @param locator the source locator to use for this debug session, or

-	 * 	<code>null</code> if not supported

-	 */

-	public Launch(ILaunchConfiguration launchConfiguration, String mode, ISourceLocator locator) {		

-		setLaunchConfiguration(launchConfiguration);

-		setSourceLocator(locator);

-		setLaunchMode(mode);

-		fSuppressChange = false;

-	}	

-	

-	/**

-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()

-	 */

-	public final boolean canTerminate() {

-		return !isTerminated();

-	}

-

-	/**

-	 * @see ILaunch#getChildren()

-	 */

-	public final Object[] getChildren() {

-		ArrayList children = new ArrayList(getDebugTargets0());

-		children.addAll(getProcesses0());

-		return children.toArray();

-	}

-

-	/**

-	 * @see ILaunch#getDebugTarget()

-	 */

-	public final IDebugTarget getDebugTarget() {

-		if (!getDebugTargets0().isEmpty()) {

-			return (IDebugTarget)getDebugTargets0().get(0);

-		}

-		return null;

-	}

-		

-	/**

-	 * Sets the configuration that was launched

-	 * 

-	 * @param configuration the configuration that was launched

-	 */

-	private void setLaunchConfiguration(ILaunchConfiguration configuration) {

-		fConfiguration = configuration;

-	}	

-

-	/**

-	 * @see ILaunch#getProcesses()

-	 */

-	public final IProcess[] getProcesses() {

-		return (IProcess[])getProcesses0().toArray(new IProcess[getProcesses0().size()]);

-	}

-	

-	/**

-	 * Returns the processes associated with this

-	 * launch, in its internal form - a list.

-	 * 

-	 * @return list of processes

-	 */

-	protected List getProcesses0() {

-		return fProcesses;

-	}	

-	

-	/**

-	 * @see ILaunch#getSourceLocator()

-	 */

-	public final ISourceLocator getSourceLocator() {

-		return fLocator;

-	}

-	

-	/**

-	 * @see ILaunch#setSourceLocator(ISourceLocator)

-	 */

-	public final void setSourceLocator(ISourceLocator sourceLocator) {

-		fLocator = sourceLocator;

-	}	

-

-	/**

-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()

-	 */

-	public final boolean isTerminated() {

-		if (getProcesses0().isEmpty() && getDebugTargets0().isEmpty()) {

-			return false;

-		}

-

-		Iterator processes = getProcesses0().iterator();

-		while (processes.hasNext()) {

-			IProcess process = (IProcess)processes.next();

-			if (!process.isTerminated()) {

-				return false;

-			}

-		}

-		

-		Iterator targets = getDebugTargets0().iterator();

-		while (targets.hasNext()) {

-			IDebugTarget target = (IDebugTarget)targets.next();

-			if (!(target.isTerminated() || target.isDisconnected())) {

-				return false;

-			}

-		}

-		

-		return true;

-	}

-

-	/**

-	 * @see org.eclipse.debug.core.model.ITerminate#terminate()

-	 */

-	public final void terminate() throws DebugException {

-		MultiStatus status= 

-			new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, DebugCoreMessages.getString("Launch.terminate_failed"), null); //$NON-NLS-1$

-		

-		// terminate the system processes

-		Iterator processes = getProcesses0().iterator();

-		while (processes.hasNext()) {

-			IProcess process = (IProcess)processes.next();

-			if (process.canTerminate()) {

-				try {

-					process.terminate();

-				} catch (DebugException e) {

-					status.merge(e.getStatus());

-				}

-			}

-		}

-		

-		// terminate or disconnect debug target if it is still alive

-		Iterator targets = getDebugTargets0().iterator();

-		while (targets.hasNext()) {

-			IDebugTarget target= (IDebugTarget)targets.next();

-			if (target != null) {

-				if (target.canTerminate()) {

-					try {

-						target.terminate();

-					} catch (DebugException e) {

-						status.merge(e.getStatus());

-					}

-				} else {

-					if (target.canDisconnect()) {

-						try {

-							target.disconnect();

-						} catch (DebugException de) {

-							status.merge(de.getStatus());

-						}

-					}

-				}

-			}

-		}

-		if (status.isOK())

-			return;

-		IStatus[] children= status.getChildren();

-		if (children.length == 1) {

-			throw new DebugException(children[0]);

-		} else {

-			throw new DebugException(status);

-		}

-	}

-

-	/**

-	 * @see ILaunch#getLaunchMode()

-	 */

-	public final String getLaunchMode() {

-		return fMode;

-	}

-	

-	/**

-	 * Sets the mode in which this launch was 

-	 * launched.

-	 * 

-	 * @param mode the mode in which this launch

-	 *  was launched - one of the constants defined

-	 *  by <code>ILaunchManager</code>.

-	 */

-	private void setLaunchMode(String mode) {

-		fMode = mode;

-	}

-	

-	/**

-	 * @see ILaunch#getLaunchConfiguration()

-	 */

-	public ILaunchConfiguration getLaunchConfiguration() {

-		return fConfiguration;

-	}

-

-	/**

-	 * @see ILaunch#setAttribute(String, String)

-	 */

-	public void setAttribute(String key, String value) {

-		if (fAttributes == null) {

-			fAttributes = new HashMap(5);

-		}

-		fAttributes.put(key, value);		

-	}

-

-	/**

-	 * @see ILaunch#getAttribute(String)

-	 */

-	public String getAttribute(String key) {

-		if (fAttributes == null) {

-			return null;

-		}

-		return (String)fAttributes.get(key);

-	}

-

-	/**

-	 * @see ILaunch#getDebugTargets()

-	 */

-	public IDebugTarget[] getDebugTargets() {

-		return (IDebugTarget[])fTargets.toArray(new IDebugTarget[fTargets.size()]);

-	}

-	

-	/**

-	 * Returns the debug targets associated with this

-	 * launch, in its internal form - a list

-	 * 

-	 * @return list of debug targets

-	 */

-	protected List getDebugTargets0() {

-		return fTargets;

-	}	

-

-	/**

-	 * @see ILaunch#addDebugTarget(IDebugTarget)

-	 */

-	public final void addDebugTarget(IDebugTarget target) {

-		if (target != null) {

-			if (!getDebugTargets0().contains(target)) {

-				getDebugTargets0().add(target);

-				fireChanged();

-			}

-		}

-	}

-	

-	/**

-	 * @see ILaunch#removeDebugTarget(IDebugTarget)

-	 */

-	public final void removeDebugTarget(IDebugTarget target) {

-		if (target != null) {

-			if (getDebugTargets0().remove(target)) {

-				fireChanged();

-			}

-		}

-	}	

-	

-	/**

-	 * @see ILaunch#addProcess(IProcess)

-	 */

-	public final void addProcess(IProcess process) {

-		if (process != null) {

-			if (!getProcesses0().contains(process)) {

-				getProcesses0().add(process);

-				fireChanged();

-			}

-		}

-	}

-	

-	/**

-	 * @see ILaunch#removeProcess(IProcess)

-	 */

-	public final void removeProcess(IProcess process) {

-		if (process != null) {

-			if (getProcesses0().remove(process)) {

-				fireChanged();

-			}

-		}

-	}	

-	

-	/**

-	 * Adds the given processes to this launch.

-	 * 

-	 * @param processes processes to add

-	 */

-	protected void addProcesses(IProcess[] processes) {

-		if (processes != null) {

-			for (int i = 0; i < processes.length; i++) {

-				addProcess(processes[i]);

-				fireChanged();

-			}

-		}

-	}

-	

-	/**

-	 * Notifies listeners that this launch has changed.

-	 * Has no effect of this launch has not yet been

-	 * properly created/initialized.

-	 */

-	protected void fireChanged() {

-		if (!fSuppressChange) {

-			((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).fireUpdate(this, LaunchManager.CHANGED);

-		}

-	}

-

-	/**

-	 * @see ILaunch#hasChildren()

-	 */

-	public boolean hasChildren() {

-		return getProcesses0().size() > 0 || (getDebugTargets0().size() > 0);

-	}

-

-}

-

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
deleted file mode 100644
index fec3697..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
+++ /dev/null
@@ -1,257 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.util.Map;

-

-import org.eclipse.core.resources.IMarker;

-import org.eclipse.core.resources.IWorkspace;

-import org.eclipse.core.resources.IWorkspaceRunnable;

-import org.eclipse.core.resources.ResourcesPlugin;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.PlatformObject;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.IBreakpointManager;

-import org.eclipse.debug.internal.core.DebugCoreMessages;

-

-/**

- * Abstract implementation of a breakpoint. This class is

- * intended to be subclassed by implementations

- * of breakpoints.

- * 

- * @see IBreakpoint

- * @since 2.0

- */

-

-public abstract class Breakpoint extends PlatformObject implements IBreakpoint {

-				

-	/**

-	 * Underlying marker.

-	 */

-	private IMarker fMarker= null;

-	

-	/**

-	 * @see IBreakpoint#setMarker(IMarker)

-	 */

-	public void setMarker(IMarker marker) throws CoreException {

-		fMarker= marker;

-	}

-	

-	/**

-	 * @see Object#equals(Object)

-	 */

-	public boolean equals(Object item) {

-		if (item instanceof IBreakpoint) {

-			return getMarker().equals(((IBreakpoint)item).getMarker());

-		}

-		return false;

-	}

-	

-	/**

-	 * @see Object#hashCode()

-	 */

-	public int hashCode() {

-		return getMarker().hashCode();

-	}

-		

-	/**

-	 * @see IBreakpoint#setEnabled(boolean)

-	 */

-	public void setEnabled(boolean enabled) throws CoreException {

-		if (enabled != isEnabled()) {

-			setAttribute(ENABLED, enabled);

-		}

-	}

-	

-	/**

-	 * @see IBreakpoint#isEnabled()

-	 */

-	public boolean isEnabled() throws CoreException {

-		return getMarker().getAttribute(ENABLED, false);

-	}

-	

-	/**

-	 * @see IBreakpoint#isRegistered()

-	 */

-	public boolean isRegistered() throws CoreException {

-		return getMarker().getAttribute(REGISTERED, true);

-	}	

-	

-	/**

-	 * @see IBreakpoint#setRegistered(boolean)

-	 */

-	public void setRegistered(boolean registered) throws CoreException {

-		if (isRegistered() != registered) {

-			setAttribute(REGISTERED, registered);

-			IBreakpointManager mgr = DebugPlugin.getDefault().getBreakpointManager();

-			if (registered) {

-				mgr.addBreakpoint(this);

-			} else {

-				mgr.removeBreakpoint(this, false);

-			}

-		}

-	}	

-

-	/**

-	 * @see IBreakpoint#delete()

-	 */

-	public void delete() throws CoreException {

-		getMarker().delete();

-	}

-

-	/**

-	 * @see IBreakpoint#getMarker()

-	 */

-	public IMarker getMarker() {

-		return fMarker;

-	}

-

-	/**

-	 * @see IBreakpoint#isPersisted()

-	 */

-	public boolean isPersisted() throws CoreException {

-		return getMarker().getAttribute(PERSISTED, true);

-	}

-

-	/**

-	 * @see IBreakpoint#setPersisted(boolean)

-	 */

-	public void setPersisted(boolean persisted) throws CoreException {

-		if (isPersisted() != persisted) {

-			setAttribute(PERSISTED, persisted);

-		}

-	}

-	

-	/**

-	 * Convenience method to set the given boolean attribute of

-	 * this breakpoint's underlying marker in a workspace

-	 * runnable. Setting marker attributes in a workspace runnable

-	 * prevents deadlock.

-	 * 

-	 * @param attributeName attribute name

-	 * @param value attribute value

-	 * @exception CoreException is setting the attribute fails

-	 * @see IMarker#setAttribute(java.lang.String, boolean)

-	 */

-	protected void setAttribute(final String attributeName, final boolean value) throws CoreException {

-		IWorkspace workspace= ResourcesPlugin.getWorkspace();

-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {

-				public void run(IProgressMonitor monitor) throws CoreException {

-					ensureMarker().setAttribute(attributeName, value);

-				}

-			};

-			

-		workspace.run(runnable, null);

-	}

-	

-	/**

-	 * Convenience method to set the given integer attribute of

-	 * this breakpoint's underlying marker in a workspace

-	 * runnable. Setting marker attributes in a workspace runnable

-	 * prevents deadlock.

-	 * 

-	 * @param attributeName attribute name

-	 * @param value attribute value

-	 * @exception CoreException is setting the attribute fails

-	 * @see IMarker#setAttribute(java.lang.String, int)

-	 */

-	protected void setAttribute(final String attributeName, final int value) throws CoreException {

-		IWorkspace workspace= ResourcesPlugin.getWorkspace();

-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {

-				public void run(IProgressMonitor monitor) throws CoreException {

-					ensureMarker().setAttribute(attributeName, value);

-				}

-			};

-			

-		workspace.run(runnable, null);

-	}

-

-	/**

-	 * Convenience method to set the given attribute of

-	 * this breakpoint's underlying marker in a workspace

-	 * runnable. Setting marker attributes in a workspace runnable

-	 * prevents deadlock.

-	 * 

-	 * @param attributeName attribute name

-	 * @param value attribute value

-	 * @exception CoreException is setting the attribute fails

-	 * @see IMarker#setAttribute(java.lang.String, java.lang.Object)

-	 */

-	protected void setAttribute(final String attributeName, final Object value) throws CoreException {

-		IWorkspace workspace= ResourcesPlugin.getWorkspace();

-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {

-				public void run(IProgressMonitor monitor) throws CoreException {

-					ensureMarker().setAttribute(attributeName, value);

-				}

-			};

-			

-		workspace.run(runnable, null);

-	}

-

-	/**

-	 * Convenience method to set the given attributes of

-	 * this breakpoint's underlying marker in a workspace

-	 * runnable. Setting marker attributes in a workspace runnable

-	 * prevents deadlock.

-	 * 

-	 * @param attributeNames attribute names

-	 * @param values attribute values

-	 * @exception CoreException is setting the attributes fails

-	 * @see IMarker#setAttributes(java.lang.String[], java.lang.Object[])

-	 */

-	protected void setAttributes(final String[] attributeNames, final Object[] values) throws CoreException {

-		IWorkspace workspace= ResourcesPlugin.getWorkspace();

-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {

-				public void run(IProgressMonitor monitor) throws CoreException {

-					ensureMarker().setAttributes(attributeNames, values);

-				}

-			};

-			

-		workspace.run(runnable, null);

-	}

-

-	/**

-	 * Convenience method to set the attributes of

-	 * this breakpoint's underlying marker in a workspace

-	 * runnable. Setting marker attributes in a workspace runnable

-	 * prevents deadlock.

-	 * 

-	 * @param attributes attribute map

-	 * @exception CoreException is setting the attributes fails

-	 * @see IMarker#setAttributes(java.util.Map)

-	 */

-	protected void setAttributes(final Map attributes) throws CoreException{

-		IWorkspace workspace= ResourcesPlugin.getWorkspace();

-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {

-				public void run(IProgressMonitor monitor) throws CoreException {

-					ensureMarker().setAttributes(attributes);

-				}

-			};

-			

-		workspace.run(runnable, null);

-	}

-

-	/**

-	 * Returns the marker associated with this breakpoint.

-	 * 

-	 * @return breakpoint marker

-	 * @exception DebugException if no marker is associated with 

-	 *  this breakpoint or the associated marker does not exist

-	 */

-	protected IMarker ensureMarker() throws DebugException {

-		IMarker m = getMarker();

-		if (m == null || !m.exists()) {

-			throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED,

-				DebugCoreMessages.getString("Breakpoint.no_associated_marker"), null)); //$NON-NLS-1$

-		}

-		return m;

-	}

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
deleted file mode 100644
index aeac73c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
+++ /dev/null
@@ -1,215 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.resources.IMarker;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IAdaptable;

-import org.eclipse.debug.core.DebugPlugin;

-

-/**

- * A breakpoint is capable of suspending the execution of a

- * program at a specific location when a program is running

- * in debug mode. Each breakpoint has an associated marker which

- * stores and persists all attributes associated with a breakpoint.

- * <p>

- * A breakpoint is defined in two parts:

- * <ol>

- * <li>By an extension of kind <code>"org.eclipse.debug.core.breakpoints"</code></li>

- * <li>By a marker definition that corresponds to the above breakpoint extension</li>

- * </ol>

- * <p>

- * For example, following is a definition of corresponding breakpoint

- * and breakpoint marker definitions. Note that the <code>markerType</code>

- * attribute defined by the breakpoint extension corresponds to the 

- * type of the marker definition.

- * <pre>

- * &lt;extension point="org.eclipse.debug.core.breakpoints"&gt;

- *   &lt;breakpoint 

- *      id="com.example.Breakpoint"

- *      class="com.example.Breakpoint"

- *      markerType="com.example.BreakpointMarker"&gt;

- *   &lt;/breakpoint&gt;

- * &lt;/extension&gt;

- * &lt;extension point="org.eclipse.core.resources.markers"&gt;

- *   &lt;marker 

- *      id="com.example.BreakpointMarker"

- *      super type="org.eclipse.debug.core.breakpointMarker"

- *      attribute name ="exampleAttribute"&gt;

- *   &lt;/marker&gt;

- * &lt;/extension&gt;

- * </pre>

- * <p>

- * The breakpoint manager instantiates persisted breakpoints by

- * traversing all markers that are a subtype of

- * <code>"org.eclipse.debug.core.breakpointMarker"</code>, and 

- * instantiating the class defined by the <code>class</code> attribute

- * on the associated breakpoint extension. The method <code>setMarker</code>

- * is then called to associate a marker with the breakpoint.

- * </p>

- * <p>

- * Breakpoints may or may not be registered with the breakpoint manager, and

- * are persisted and restored as such. Since marker definitions only allow

- * all or none of a specific marker type to be persisted, breakpoints define

- * a <code>PERSISTED</code> attribute for selective persistence of breakpoints

- * of the same type.

- * </p>

- * 

- * @since 2.0

- */

-

-public interface IBreakpoint extends IAdaptable {

-	

-	/**

-	 * Root breakpoint marker type	

-	 * (value <code>"org.eclipse.debug.core.breakpoint"</code>).

-	 */

-	public static final String BREAKPOINT_MARKER = DebugPlugin.getUniqueIdentifier() + ".breakpointMarker"; //$NON-NLS-1$

-	

-	/**

-	 * Line breakpoint marker type

-	 * (value <code>"org.eclipse.debug.core.lineBreakpoint"</code>).

-	 */

-	public static final String LINE_BREAKPOINT_MARKER = DebugPlugin.getUniqueIdentifier() + ".lineBreakpointMarker"; //$NON-NLS-1$

-			

-	/**

-	 * Enabled breakpoint marker attribute (value <code>"org.eclipse.debug.core.enabled"</code>).

-	 * The attribute is a <code>boolean</code> corresponding to the

-	 * enabled state of a breakpoint.

-	 *

-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)

-	 */

-	public static final String ENABLED= "org.eclipse.debug.core.enabled"; //$NON-NLS-1$

-	

-	/**

-	 * Debug model identifier breakpoint marker attribute (value <code>"org.eclipse.debug.core.id"</code>).

-	 * The attribute is a <code>String</code> corresponding to the

-	 * identifier of the debug model a breakpoint is associated with.

-	 */

-	public static final String ID= "org.eclipse.debug.core.id"; //$NON-NLS-1$

-	

-	/**

-	 * Registered breakpoint marker attribute (value <code>"org.eclipse.debug.core.registered"</code>).

-	 * The attribute is a <code>boolean</code> corresponding to

-	 * whether a breakpoint has been registered with the breakpoint manager.

-	 *

-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)

-	 */

-	public static final String REGISTERED= "org.eclipse.debug.core.registered"; //$NON-NLS-1$	

-	

-	/**

-	 * Persisted breakpoint marker attribute (value <code>"org.eclipse.debug.core.persisted"</code>).

-	 * The attribute is a <code>boolean</code> corresponding to

-	 * whether a breakpoint is to be persisted accross workspace

-	 * invocations.

-	 *

-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)

-	 */

-	public static final String PERSISTED= "org.eclipse.debug.core.persisted"; //$NON-NLS-1$		

-	

-	/**

-	 * Deletes this breakpoint's underlying marker, and removes

-	 * this breakpoint from the breakpoint manager.

-	 *

-	 * @exception CoreException if unable to delete this breakpoint's

-	 *  underlying marker

-	 */

-	public void delete() throws CoreException;

-	

-	/**

-	 * Returns the marker associated with this breakpoint, or

-	 * <code>null</code> if no marker is associated with this breakpoint.

-	 * 

-	 * @return associated marker, or <code>null</code> if there is

-	 * 	no associated marker.

-	 */

-	public IMarker getMarker();

-	/**

-	 * Sets the marker associated with this breakpoint. This method is

-	 * called once at breakpoint creation.

-	 * 

-	 * @param marker the marker to associate with this breakpoint

-	 * @exception CoreException if an error occurs accessing the marker

-	 */

-	public void setMarker(IMarker marker) throws CoreException;

-	/**

-	 * Returns the identifier of the debug model this breakpoint is

-	 * associated with.

-	 * 

-	 * @return the identifier of the debug model this breakpoint is

-	 * 	associated with

-	 */

-	public String getModelIdentifier();

-	/**

-	 * Returns whether this breakpoint is enabled

-	 * 

-	 * @return whether this breakpoint is enabled

-	 * @exception CoreException if unable to access the associated

-	 *  attribute from this breakpoint's underlying marker

-	 */

-	public boolean isEnabled() throws CoreException;

-	/**

-	 * Sets the enabled state of this breakpoint. This has no effect

-	 * if the current enabled state is the same as specified by the

-	 * enabled parameter.

-	 * 

-	 * @param enabled  whether this breakpoint should be enabled

-	 * @exception CoreException if unable to set the associated attribute on

-	 *  this breakpoint's underlying marker.

-	 */

-	public void setEnabled(boolean enabled) throws CoreException;

-	

-	/**

-	 * Returns whether this breakpoint is currently registered with

-	 * the breakpoint manager.

-	 * 

-	 * @return whether this breakpoint is currently registered with

-	 *  the breakpoint manager

-	 * @exception CoreException if unable to access the associated 

-	 *  attribute on this breakpoint's underlying marker

-	 */

-	public boolean isRegistered() throws CoreException;

-	

-	/**

-	 * Sets whether this breakpoint is currently registered with the

-	 * breakpoint manager. 

-	 * 

-	 * @param registered whether this breakpoint is registered with the

-	 *   breakpoint manager

-	 * @exception CoreException if unable to set the associated attribute

-	 *  on this breakpoint's underlying marker.

-	 */

-	public void setRegistered(boolean registered) throws CoreException;

-	

-	/**

-	 * Returns whether this breakpoint is to be persisted across

-	 * workspace invocations, or when a project is closed and re-opened.

-	 * Since marker definitions only allow all/none of a specific type

-	 * of marker to be persisted (rather than selected markers of a

-	 * specific type), breakpoints define this functionality.

-	 * 

-	 * @return whether this breakpoint is to be persisted

-	 * @exception CoreException if unable to access the associated attribute

-	 *  on this breakpoint's underlying marker

-	 */

-	public boolean isPersisted() throws CoreException;

-	

-	/**

-	 * Sets whether this breakpoint is to be persisted across

-	 * workspace invocations, or when a project is closed and re-opened.

-	 * Since marker definitions only allow all/none of a specific type of

-	 * marker to be persisted (rather than selected markers of a specific

-	 * type), breakpoints define this functionality. Has no effect if this

-	 * breakpoint's marker definition is defined as not persisted.

-	 * 

-	 * @param persist whether this breakpoint is to be persisted

-	 * @exception CoreException if unable to set the associated attribute on

-	 *  this breakpoint's underlying marker.

-	 */

-	public void setPersisted(boolean registered) throws CoreException;	

-}

-

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
deleted file mode 100644
index 7c65af8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.IAdaptable;

-import org.eclipse.debug.core.ILaunch;

-

-/**

- * A debug element represents an artifact in a program being

- * debugged.

- * <p>

- * Some methods on debug elements require communication

- * with the target program. Such methods may throw a <code>DebugException</code>

- * with a status code of <code>TARGET_REQUEST_FAILED</code>

- * when unable to complete a request due to a failure on the target.

- * Methods that require communication with the target program or require

- * the target to be in a specific state (for example, suspended), are declared

- * as such.

- * </p>

- * <p>

- * Debug elements are language independent. However, language specific

- * features can be made available via the adapter mechanism provided by

- * <code>IAdaptable</code>, or by extending the debug element interfaces.

- * A debug model is responsible for declaring any special adapters 

- * its debug elements implement.

- * </p>

- * <p>

- * Clients may implement this interface.

- * </p>

- */

-public interface IDebugElement extends IAdaptable {

-	

-	/**

-	 * Returns the unique identifier of the plug-in

-	 * this debug element originated from.

-	 *

-	 * @return the plug-in identifier

-	 */

-	public String getModelIdentifier();

-	/**

-	 * Returns the debug target this element is contained in.

-	 * 

-	 * @return the debug target this element is contained in

-	 */

-	public IDebugTarget getDebugTarget();

-	/**

-	 * Returns the launch this element is contained in.

-	 * 

-	 * @return the launch this element is contained in

-	 */

-	public ILaunch getLaunch();

-}

-

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
deleted file mode 100644
index d338953..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.IBreakpointListener;

-

-/**

- * A debug target is a debuggable execution context. For example, a debug target

- * may represent a debuggable process or a virtual machine. A debug target is the root

- * of the debug element hierarchy. A debug target contains threads. Minimally, a debug

- * target supports the following:

- * <ul>

- * <li>terminate

- * <li>suspend/resume

- * <li>breakpoints

- * <li>disconnect

- * </ul>

- * <p>

- * Generally, launching a debug session results in the creation of a

- * debug target. Launching is a client responsibility, as is debug target

- * creation.

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see ITerminate

- * @see ISuspendResume

- * @see IBreakpointListener

- * @see IDisconnect

- * @see IMemoryBlockRetrieval

- * @see org.eclipse.debug.core.ILaunch

- */

-public interface IDebugTarget extends IDebugElement, ITerminate, ISuspendResume, IBreakpointListener, IDisconnect, IMemoryBlockRetrieval {

-	/**

-	 * Returns the system process associated with this debug target.

-	 * 

-	 * @return the system process associated with this debug target

-	 */

-	public IProcess getProcess();

-	/**

-	 * Returns the threads contained in this debug target. An

-	 * empty collection is returned if this debug target contains

-	 * no threads.

-	 * 

-	 * @return a collection of threads

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li></ul>

-	 * @since 2.0

-	 */

-	public IThread[] getThreads() throws DebugException;

-	

-	/**

-	 * Returns whether this debug target currently contains any threads.

-	 * 

-	 * @return whether this debug target currently contains any threads

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li></ul>

-	 * @since 2.0

-	 */

-	public boolean hasThreads() throws DebugException;

-	

-	/**

-	 * Returns the name of this debug target. Name format is debug model

-	 * specific, and should be specified by a debug model.

-	 *

-	 * @return this target's name

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li></ul>

-	 */

-	public String getName() throws DebugException;

-	

-	/**

-	 * Returns whether the given breakpoint is supported by this

-	 * target - i.e. whether the given breakpoint could be installed

-	 * in this target. 

-	 * 

-	 * @return whether the given breakpoint is supported by this

-	 * target

-	 */

-	public boolean supportsBreakpoint(IBreakpoint breakpoint);

-}

-

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
deleted file mode 100644
index 7e06b6c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-

-/**

- * The ability to end a debug session with a target program

- * and allow the target to continue running.

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see IDebugTarget

- */

-public interface IDisconnect {

-	/**

-	 * Returns whether this element can currently disconnect.

-	 * 

-	 * @return whether this element can currently disconnect

-	 */

-	public boolean canDisconnect();

-	/**

-	 * Disconnects this element from its target. Generally, disconnecting

-	 * ends a debug session with a debug target, but allows the target

-	 * program to continue running.

-	 *

-	 * @exception DebugException on failure. Reasons include:<ul>

-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target

-	 * <li>NOT_SUPPORTED - The capability is not supported by the target

-	 * </ul>

-	 */

-	public void disconnect() throws DebugException;

-	/**

-	 * Returns whether this element is disconnected.

-	 *

-	 * @return whether this element is disconnected

-	 */

-	public boolean isDisconnected();

-}

-

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
deleted file mode 100644
index ee92662..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-/**

- * An expression is a snippet of code that can be evaluated

- * to produce a value. When and how an experssion is evaluated

- * is implementation specific. The context/binding required to

- * evaluate an expression varies by debug model, and by

- * user intent. Furthermore, an expression may need to be evaluated

- * at a specific location in a program (for example, at a

- * breakpoint/line where certain variables referenced in the

- * expression are visible/allocated). A user may want to

- * evaluate an expression once to produce a value that can

- * be inspected iteratively, or they may wish to evaluate an

- * expression iteratively producing new values each time

- * (i.e. as in a watch list). 

- * <p>

- * Clients are intended to implement this interface.

- * </p>

- * @since 2.0

- */

-public interface IExpression extends IDebugElement {

-	

-	/**

-	 * Returns this expression's snippet of code.

-	 * 

-	 * @return the expression

-	 */

-	public abstract String getExpressionText();

-

-	/**

-	 * Returns the current value of this expression or

-	 * <code>null</code> if this expression does not

-	 * currently have a value.

-	 * 

-	 * @return value or <code>null</code>

-	 */

-	public abstract IValue getValue();

-	

-	/**

-	 * Returns the debug target this expression is associated

-	 * with, or <code>null</code> if this expression is not

-	 * associated with a debug target.

-	 * 

-	 * @return debug target or <code>null</code>

-	 * @see IDebugElement#getDebugTarget()

-	 */

-	public abstract IDebugTarget getDebugTarget();

-	

-	/**

-	 * Notifies this expression that it has been removed

-	 * from the expression manager. Any required clean up

-	 * is be performed such that this expression can be

-	 * garbage collected.

-	 */

-	public abstract void dispose();

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
deleted file mode 100644
index 61aa6ac..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.ILaunchConfiguration;

-

-/**

- * A launch configuration delegate performs launching for a

- * specific type of launch configuration. A launch configuration

- * delegate is defined by the <code>delegate</code> attribute

- * of a <code>launchConfigurationType</code> extension.

- * <p>

- * This interface is intended to be implemented by clients.

- * </p>

- * @see org.eclipse.debug.core.ILaunchConfigurationType

- * @see ILaunchConfiguration

- * @since 2.0

- */

-public interface ILaunchConfigurationDelegate {

-	

-	/**

-	 * Launches the given configuration in the specified mode, contributing

-	 * debug targets and/or processes to the given launch object. The

-	 * launch object has already been registered with the launch manager.

-	 * 

-	 * @param configuration the configuration to launch

-	 * @param mode the mode in which to launch, one of the mode constants

-	 *  defined by <code>ILaunchManager</code> -

-	 *  <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.

-	 * @param monitor progress monitor, or <code>null</code>

-	 * @param launch the launch object to contribute processes and debug

-	 *  targets to

-	 * @exception CoreException if launching fails 

-	 */

-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException;

-	

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
deleted file mode 100644
index e5173f7..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.core.runtime.CoreException;

-

-/**

- * A breakpoint that can be located at a specific line of source code.

- */

-public interface ILineBreakpoint extends IBreakpoint {

-

-/**

- * Returns the line number in the original source that corresponds

- * to the location of this breakpoint, or -1 if the attribute is not

- * present.

- *

- * @return this breakpoint's line number, or -1 if unknown

- * @exception CoreException if a <code>CoreException</code> is thrown

- * 	while accessing the underlying <code>IMarker.LINE_NUMBER</code> marker attribute

- */

-public int getLineNumber() throws CoreException;

-/**

- * Returns starting source index in the original source that corresponds

- * to the location of this breakpoint, or -1 if the attribute is not present.

- *

- * @return this breakpoint's char start value, or -1 if unknown

- * @exception CoreException if a <code>CoreException</code> is thrown

- * 	while accessing the underlying <code>IMarker.CHAR_START</code> marker attribute

- */

-public int getCharStart() throws CoreException;

-/**

- * Returns ending source index in the original source that corresponds

- * to the location of this breakpoint, or -1 if the attribute is not present.

- *

- * @return this breakpoint's char end value, or -1 if unknown

- * @exception CoreException if a <code>CoreException</code> is thrown

- * 	while accessing the underlying <code>IMarker.CHAR_END</code> marker attribute

- */

-public int getCharEnd() throws CoreException;

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
deleted file mode 100644
index ec2bfca..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

- 

-/**

- * A contiguous segment of memory in an execution context.

- * A memory block is represented by a starting memory address

- * and a length. Not all debug architectures support the retrieval

- * of memory blocks.

- * 

- * @see IMemoryBlockRetrieval

- * @since 2.0

- */

-public interface IMemoryBlock extends IDebugElement {

-	

-	/**

-	 * Returns the start address of this memory block.

-	 * 

-	 * @return the start address of this memory block

-	 */

-	public long getStartAddress();

-	

-	/**

-	 * Returns the length of this memory block in bytes.

-	 * 

-	 * @return the length of this memory block in bytes

-	 */	

-	public long getLength();

-	

-	/**

-	 * Returns the values of the bytes currently contained

-	 * in this this memory block.

-	 * 

-	 * @return the values of the bytes currently contained

-	 *  in this this memory block

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 */	

-	public byte[] getBytes() throws DebugException;

-	

-	/**

-	 * Returns whether this memory block supports value modification

-	 * 

-	 * @return whether this memory block supports value modification

-	 */

-	public boolean supportsValueModification();

-	

-	/**

-	 * Sets the value of the bytes in this memory block at the specified

-	 * offset within this memory block to the spcified bytes.

-	 * The offset is zero based.

-	 * 

-	 * @param offset the offset at which to set the new values

-	 * @param bytes the new values

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * <li>This memory block does not support value modification</li>

-	 * <li>The specified offset is greater than or equal to the length

-	 *   of this memory block, or the number of bytes specified goes

-	 *   beyond the end of this memory block (index of out of range)</li>

-	 * </ul>

-	 */

-	public void setValue(long offset, byte[] bytes) throws DebugException;

-	

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
deleted file mode 100644
index d9ab94b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

- 

-/**

- * Supports the retrieval of arbitrary blocks of memory.

- * 

- * @see IMemoryBlock

- * @since 2.0

- */

-public interface IMemoryBlockRetrieval {

-	

-	/**

-	 * Returns whether this debug target supports the retrieval

-	 * of memory blocks.

-	 * 

-	 * @return whether this debug target supports the retrieval

-	 *  of memory blocks

-	 */

-	public boolean supportsStorageRetrieval();

-	

-	/**

-	 * Returns a memory block that starts at the specified

-	 * memory address, with the specified length.

-	 * 

-	 * @param startAddress starting address

-	 * @param length length of the memory block in bytes

-	 * @return a memory block that starts at the specified

-	 *  memory address, with the specified length

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * <li>This debug target does not support memory block retrieval</li>

-	 * <li>The specified address and length are not within valid

-	 *  ranges</li>

-	 * </ul>

-	 */

-	public IMemoryBlock getMemoryBlock(long startAddress, long length) throws DebugException;

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
deleted file mode 100644
index d17a1a6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.debug.core.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A source locator that can be persisted and restored,
- * to be used with a specfic launch configuration.
- * The debug plug-in defines a source locator extension
- * point for persistable source locators.
- * <p>
- * A source locator extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a source locator extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.sourceLocators"&gt;
- *   &lt;sourceLocator 
- *      id="com.example.ExampleIdentifier"
- *      class="com.example.ExampleSourceLocator"
- *      name="Example Source Locator"&gt;
- *   &lt;/sourceLocator&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this source locator.</li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements <code>IPersistableSourceLocator</code>.</li>
- * <li><code>name</code> a human readable name, describing the type of
- *   this source locator.</li>
- * </ul>
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.ILaunch
- * @see IStackFrame 
- * @see org.eclipse.debug.ui.IDebugModelPresentation
- * @since 2.0
- */
-public interface IPersistableSourceLocator extends ISourceLocator {
-	
-	/**
-	 * Returns a memento that can be used to reconstruct
-	 * this source locator
-	 * 
-	 * @return a memento that can be used to reconstruct
-	 *  this source locator
-	 * @exception CoreException if unable to construct a memento
-	 */
-	public String getMemento() throws CoreException;
-	
-	/**
-	 * Initializes this source locator based on the given
-	 * memento.
-	 * 
-	 * @param memento a memento to initialize this source locator
-	 * @exception CoreException on failure to initialize 
-	 */
-	public void initializeFromMemento(String memento) throws CoreException;
-	
-	/**
-	 * Initializes this source locator to perform default
-	 * source lookup for the given launch configuration.
-	 * 
-	 * @param configuration launch configuration this source locator
-	 *  will be performing souce lookup for
-	 * @exception CoreException on failure to initialize
-	 */
-	public void initializeDefaults(ILaunchConfiguration configuration) throws CoreException;
-
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
deleted file mode 100644
index ed623bd..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.IAdaptable;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.ILaunch;

-

-/**

- * A process represents a program running in normal (non-debug) mode.

- * Processes support setting and getting of client defined attributes.

- * This way, clients can annotate a process with any extra information

- * important to them. For example, classpath annotations, or command

- * line arguments used to launch the process may be important to a client.

- * <p>

- * Clients may implement this interface, however, the debug plug-in

- * provides an implementation of this interface for a

- * <code>java.lang.Process</code>. 

- * </p>

- * @see org.eclipse.debug.core.DebugPlugin#newProcess(ILaunch, Process, String)

- */

-public interface IProcess extends IAdaptable, ITerminate {

-

-	/**

-	 * Returns a human-readable label for this process.

-	 *

-	 * @return a label for this process

-	 */

-	public String getLabel();

-	/**

-	 * Returns the launch this element originated from.

-	 *

-	 * @return the launch this process is contained in

-	 */

-	public ILaunch getLaunch();

-	/**

-	 * Returns a proxy to the standard input, output, and error streams 

-	 * for this process, or <code>null</code> if not supported.

-	 *

-	 * @return a streams proxy, or <code>null</code> if not supported

-	 */

-	public IStreamsProxy getStreamsProxy();

-	

-	/**

-	 * Sets the value of a client defined attribute.

-	 *

-	 * @param key the attribute key

-	 * @param value the attribute value

-	 */

-	public void setAttribute(String key, String value);

-	

-	/**

-	 * Returns the value of a client defined attribute.

-	 *

-	 * @param key the attribute key

-	 * @return value the String attribute value, or <code>null</code> if undefined

-	 */

-	public String getAttribute(String key);

-	

-	/**

-	 * Returns the exit value of this process. Conventionally, 0 indicates

-	 * normal termination.

-	 * 

-	 * @return the exit value of this process

-	 * @exception DebugException if this process has not yet terminated

-	 */

-	public int getExitValue() throws DebugException;

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
deleted file mode 100644
index 6fecca6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

- 

-/**

- * A register is a special kind of variable that is contained

- * in a register group. Each register has a name and a value.

- * Not all debug architectures provide access to registers.

- * 

- * @since 2.0

- */

-public interface IRegister extends IVariable {

-	

-	/**

-	 * Returns the register group this register is contained in.

-	 * 

-	 * @return the register group this register is contained in

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public IRegisterGroup getRegisterGroup() throws DebugException; 

-

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
deleted file mode 100644
index 4a330f1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.debug.core.DebugException;

- 

-/**

- * A register group is a group of registers that are

- * assigned to a stack frame. Some debug architectures

- * provide access to registers, and registers are often

- * grouped logically. For example, a floating point

- * register group. 

- * 

- * @since 2.0

- */

-public interface IRegisterGroup extends IDebugElement {

-	

-

-	/**

-	 * Returns the name of this register group.

-	 * 

-	 * @return this register group's name

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public String getName() throws DebugException;

-	

-	/**

-	 * Returns the registers in this register group.

-	 * 

-	 * @return the registers in this register group

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public IRegister[] getRegisters() throws DebugException;

-	

-	/**

-	 * Returns whether this register group currently contains any registers.

-	 * 

-	 * @return whether this register group currently contains any registers

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public boolean hasRegisters() throws DebugException;	

-

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
deleted file mode 100644
index 181b83d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.model.IStackFrame;

-

-/**

- * A source locator locates source elements for stack frames. A launch (optionally)

- * specifies a source locator which is

- * used to locate source for that debug session. If a launch does not

- * provide a source locator, source cannot be displayed.

- * Abstraction of source lookup allows clients to hide implementation

- * details of source location and representation.

- * <p>

- * Generally, an implementor of a debug model will also implement launch configuration types,

- * delegates, and source locators that work together as a whole. That is, the implementation

- * of a source locator will have knowledge of how to locate a source element

- * for a stack frame. For example, a Java stack frame could define API which

- * specifies a source file name. A Java source locator would use this information

- * to locate the associated file in the workspace.

- * </p>

- * <p>

- * Source is displayed by the debug UI plug-in. The debug UI uses a source locator

- * to resolve an object representing the source for a stack frame, and then uses

- * a debug model presentation to determine the editor and editor input to use to

- * display the actual source in an editor.

- * </p>

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see org.eclipse.debug.core.ILaunch

- * @see org.eclipse.debug.core.model.IStackFrame 

- * @see org.eclipse.debug.ui.IDebugModelPresentation

- * @see org.eclipse.debug.core.model.IPersistableSourceLocator

- */

-public interface ISourceLocator {

-	

-	/**

-	 * Returns a source element that corresponds to the given stack frame, or

-	 * <code>null</code> if a source element could not be located. The object returned

-	 * by this method will be used by the debug UI plug-in to display source.

-	 * The debug UI uses the debug model presentation associated

-	 * with the given stack frame's debug model to translate a source object into an

-	 * {editor input, editor id} pair in which to display source.

-	 * <p>

-	 * For example, a java source locator could return an object representing a

-	 * compilation unit or class file. The java debug model presentation would

-	 * then be responsible for providing an editor input and editor id for each

-	 * compilation unit and class file such that the debug UI could display source.

-	 * </p>

-	 *

-	 * @param stackFrame the stack frame for which to locate source

-	 * @return an object representing a source element. 

-	 */

-	 public Object getSourceElement(IStackFrame stackFrame);

-

-}

-

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
deleted file mode 100644
index bf9d787..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-

-/**

- * A stack frame represents an execution context in a suspended thread.

- * A stack frame contains variables representing visible locals and arguments at

- * the current execution location. Minimally, a stack frame supports

- * the following:

- * <ul>

- * <li>suspend/resume (convenience to resume this stack frame's thread)

- * <li>stepping

- * <li>termination (convenience to terminate this stack frame's thread or debug target)

- * </ul>

- * <p>

- * A debug model implementation may choose to re-use or discard

- * stack frames on iterative thread suspensions. Clients

- * cannot assume that stack frames are identical or equal across

- * iterative thread suspensions and must check for equality on iterative

- * suspensions if they wish to re-use the objects.

- * </p>

- * <p>

- * A debug model implementation that preserves equality

- * across iterative suspensions may display more desirable behavior in

- * some clients. For example, if stack frames are preserved

- * while stepping, a UI client would be able to update the UI incrementally,

- * rather than collapse and redraw the entire list. 

- * </p>

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see IStep

- * @see ISuspendResume

- * @see ITerminate

- */

-public interface IStackFrame extends IDebugElement, IStep, ISuspendResume, ITerminate {

-	/**

-	 * Returns the thread this stack frame is contained in.

-	 * 

-	 * @return thread

-	 * @since 2.0

-	 */

-	public IThread getThread();

-	/**

-	 * Returns the visible variables in this stack frame. An empty

-	 * collection is returned if there are no visible variables.

-	 * 

-	 * @return collection of visible variables

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 * @since 2.0

-	 */

-	public IVariable[] getVariables() throws DebugException;

-	

-	/**

-	 * Returns whether this stack frame currently contains any visible variables.

-	 * 

-	 * @return whether this stack frame currently contains any visible variables

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 * @since 2.0

-	 */

-	public boolean hasVariables() throws DebugException;

-		

-	/**

-	 * Returns the line number of the instruction pointer in 

-	 * this stack frame that corresponds to a line in an associated source

-	 * element, or <code>-1</code> if line number information

-	 * is unavailable.

-	 *

-	 * @return line number of instruction pointer in this stack frame, or 

-	 * <code>-1</code> if line number information is unavailable

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 */

-	public int getLineNumber() throws DebugException;

-	

-	/**

-	 * Returns the index of the first character in the associated source

-	 * element that corresponds to the current location of the instruction pointer

-	 * in this stack frame, or <code>-1</code> if the information is unavailable.

-	 * <p>

-	 * If a debug model supports expression level stepping, the start/end

-	 * character ranges are used to highlight the expression within a line

-	 * that is being executed.

-	 * </p>

-	 * @return index of the first character in the associated source

-	 * element that corresponds to the current location of the instruction pointer

-	 * in this stack frame, or <code>-1</code> if the information is unavailable

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 * @since 2.0

-	 */

-	public int getCharStart() throws DebugException;

-	

-	/**

-	 * Returns the index of the last character in the associated source

-	 * element that corresponds to the current location of the instruction pointer

-	 * in this stack frame, or <code>-1</code> if the information is unavailable.

-	 * <p>

-	 * If a debug model supports expression level stepping, the start/end

-	 * character ranges are used to highlight the expression within a line

-	 * that is being executed.

-	 * </p>

-	 * @return index of the last character in the associated source

-	 * element that corresponds to the current location of the instruction pointer

-	 * in this stack frame, or <code>-1</code> if the information is unavailable

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 * @since 2.0

-	 */

-	public int getCharEnd() throws DebugException;	

-		

-	/**

-	 * Returns the name of this stack frame. Name format is debug model

-	 * specific, and should be specified by a debug model.

-	 *

-	 * @return this frame's name

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 */

-	public String getName() throws DebugException;

-	

-	/**

-	 * Returns the register groups assigned to this stack frame,

-	 * or an empty collection if no register groups are assigned

-	 * to this stack frame.

-	 * 

-	 * @return the register groups assigned to this stack frame

-	 *  or an empty collection if no register groups are assigned

-	 *  to this stack frame

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 * @since 2.0

-	 */

-	public IRegisterGroup[] getRegisterGroups() throws DebugException;

-	

-	/**

-	 * Returns whether this stack frame contains any register groups.

-	 * 

-	 * @return whether this stack frame contains any visible register groups

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 * @since 2.0

-	 */

-	public boolean hasRegisterGroups() throws DebugException;	

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
deleted file mode 100644
index b27ce94..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-

-/**

- * Provides the ability to step into, over, and return

- * from the current execution location.  Implementations

- * must be non-blocking.

- * <p>

- * Clients may implement this interface.

- * </p>

- */

-public interface IStep {

-	/**

-	 * Returns whether this element can currently perform a step into.

-	 *

-	 * @return whether this element can currently perform a step into

-	 */

-	public boolean canStepInto();

-	/**

-	 * Returns whether this element can currently perform a step over.

-	 *

-	 * @return whether this element can currently perform a step over

-	 */

-	public boolean canStepOver();

-	/**

-	 * Returns whether this element can currently perform a step return.

-	 *

-	 * @return whether this element can currently perform a step return

-	 */

-	public boolean canStepReturn();

-	/**

-	 * Returns whether this element is currently stepping.

-	 * <p>

-	 * For example, a thread is considered to be stepping

-	 * after the <code>stepOver</code> call until the step over is completed,

-	 * a breakpoint is reached, an exception is thrown, or the thread or debug target is

-	 * terminated.

-	 * </p>

-	 *

-	 * @return whether this element is currently stepping

-	 */

-	public boolean isStepping();

-	/**

-	 * Steps into the current statement, generating <code>RESUME</code>

-	 * and <code>SUSPEND</code> events for the associated thread. Can only be called

-	 * when the associated thread is suspended. Implementations must implement

-	 * stepping as non-blocking.

-	 *

-	 * @exception DebugException on failure. Reasons include:<ul>

-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>

-	 * <li>NOT_SUPPORTED - The capability is not supported by the target</li>

-	 * </ul>

-	 */

-	public void stepInto() throws DebugException;

-	/**

-	 * Steps over the current statement, generating <code>RESUME</code>

-	 * and <code>SUSPEND</code> events for the associated thread. Can only be called

-	 * when the associated thread is suspended. Implementations must implement

-	 * stepping as non-blocking.

-	 *

-	 * @exception DebugException on failure. Reasons include:<ul>

-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>

-	 * <li>NOT_SUPPORTED - The capability is not supported by the target</li>

-	 * </ul>

-	 */

-	public void stepOver() throws DebugException;

-	/**

-	 * Steps to the next return statement in the current scope,

-	 * generating <code>RESUME</code> and <code>SUSPEND</code> events for

-	 * the associated thread. Can only be called when the associated thread is suspended.

-	 * Implementations must implement stepping as non-blocking.

-	 *

-	 * @exception DebugException on failure. Reasons include:<ul>

-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>

-	 * <li>NOT_SUPPORTED - The capability is not supported by the target</li>

-	 * </ul>

-	 */

-	public void stepReturn() throws DebugException;

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
deleted file mode 100644
index 0c8e4a8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.IStreamListener;

-

-/**

- * A stream monitor manages the contents of the stream a process

- * is writing to, and notifies registered listeners of changes in

- * the stream.

- * <p>

- * Clients may implement this interface. Generally, a client that

- * provides an implementation of the <code>IStreamsProxy</code>

- * interface must also provide an implementation of this interface.

- * </p>

- * @see IStreamsProxy

- */

-public interface IStreamMonitor {

-	/**

-	 * Adds the given listener to this stream monitor's registered listeners.

-	 * Has no effect if an identical listener is already registered.

-	 *

-	 * @param listener the listener to add

-	 */

-	public void addListener(IStreamListener listener);

-	/**

-	 * Returns the entire current contents of the stream. An empty

-	 * String is returned if the stream is empty.

-	 *

-	 * @return the stream contents as a <code>String</code>

-	 */

-	public String getContents();

-	/**

-	 * Removes the given listener from this stream monitor's registered listeners.

-	 * Has no effect if the listener is not already registered.

-	 *

-	 * @param listener the listener to remove

-	 */

-	public void removeListener(IStreamListener listener);

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
deleted file mode 100644
index 01c9741..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.io.IOException;

-

-/**

- * A streams proxy acts as proxy between the streams of a

- * process and interested clients. This abstraction allows

- * implementations of <code>IProcess</code> to handle I/O related

- * to the standard input, output, and error streams associated

- * with a process.

- * <p>

- * Clients implementing the <code>IProcess</code> interface must also

- * provide an implementation of this interface.

- * </p>

- * @see IProcess

- */

-public interface IStreamsProxy {

-	/**

-	 * Returns a monitor for the error stream of this proxy's process,

-	 * or <code>null</code> if not supported.

-	 * The monitor is connected to the error stream of the

-	 * associated process.

-	 *

-	 * @return an error stream monitor, or <code>null</code> if none

-	 */

-	public IStreamMonitor getErrorStreamMonitor();

-	/**

-	 * Returns a monitor for the output stream of this proxy's process,

-	 * or <code>null</code> if not supported.

-	 * The monitor is connected to the output stream of the

-	 * associated process.

-	 *

-	 * @return an output stream monitor, or <code>null</code> if none

-	 */

-	public IStreamMonitor getOutputStreamMonitor();

-	/**

-	 * Writes the given text to the output stream connected to the

-	 * standard input stream of this proxy's process.

-	 *

-	 * @param input the text to be written

-	 * @exception IOException when an error occurs writing to the 

-	 *		underlying <code>OutputStream</code>.

-	 *

-	 */

-	public void write(String input) throws IOException;

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
deleted file mode 100644
index d1d08f1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.debug.core.DebugException;

-

-/**

- * Provides the ability to suspend and resume a thread

- * or debug target.

- * <p>

- * Clients may implement this interface.

- * </p>

- */

-public interface ISuspendResume {

-	/**

-	 * Returns whether this element can currently be resumed.

-	 *

-	 * @return whether this element can currently be resumed

-	 */

-	public boolean canResume();

-	/**

-	 * Returns whether this element can currently be suspended.

-	 *

-	 * @return whether this element can currently be suspended

-	 */

-	public boolean canSuspend();

-	/**

-	 * Returns whether this element is currently suspended.

-	 *

-	 * @return whether this element is currently suspended

-	 */

-	public boolean isSuspended();

-	/**

-	 * Causes this element to resume its execution, generating a <code>RESUME</code> event. 

-	 * Has no effect on an element that is not suspended. This call is non-blocking.

-	 *

-	 * @exception DebugException on failure. Reasons include:<ul>

-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target

-	 * <li>NOT_SUPPORTED - The capability is not supported by the target

-	 * </ul>

-	 */

-	public void resume() throws DebugException;

-	/**

-	 * Causes this element to suspend its execution, generating a <code>SUSPEND</code> event.

-	 * Has no effect on an already suspended element.

-	 * Implementations may be blocking or non-blocking.

-	 *

-	 * @exception DebugException on failure. Reasons include:<ul>

-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target

-	 * <li>NOT_SUPPORTED - The capability is not supported by the target

-	 * </ul>

-	 */

-	public void suspend() throws DebugException;

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
deleted file mode 100644
index 3848ffa..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.debug.core.DebugException;

-

-/**

- * Provides the ability to terminate an execution

- * context - for example, a thread, debug target or process.

- * <p>

- * Clients may implement this interface.

- * </p>

- */

-public interface ITerminate {

-	/**

-	 * Returns whether this element can be terminated.

-	 *

-	 * @return whether this element can be terminated

-	 */

-	public boolean canTerminate();

-	/**

-	 * Returns whether this element is terminated.

-	 *

-	 * @return whether this element is terminated

-	 */

-	public boolean isTerminated();

-	/**

-	 * Causes this element to terminate, generating a <code>TERMINATE</code> event.  

-	 * Implementations may be blocking or non-blocking.

-	 *

-	 * @exception DebugException on failure. Reasons include:<ul>

-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target

-	 * <li>NOT_SUPPORTED - The capability is not supported by the target

-	 * </ul>

-	 */

-	public void terminate() throws DebugException;

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
deleted file mode 100644
index 615156e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-

-/**

- * A thread is a sequential flow of execution in a debug target.

- * A thread contains stack frames.  Stack frames are only available when the

- * thread is suspended, and are returned in top-down order.

- * Minimally, a thread supports the following:

- * <ul>

- * <li>suspend/resume

- * <li>stepping

- * <li>terminate

- * </ul>

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see ISuspendResume

- * @see IStep

- * @see ITerminate

- * @see IStackFrame

- */

-

-public interface IThread extends IDebugElement, ISuspendResume, IStep, ITerminate {

-	/**

-	 * Returns the stack frames contained in this thread. An

-	 * empty collection is returned if this thread contains

-	 * no stack frames, or is not currently suspended. Stack frames

-	 * are returned in top down order.

-	 * 

-	 * @return a collection of stack frames

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the VM.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 * @since 2.0

-	 */

-	public IStackFrame[] getStackFrames() throws DebugException;

-	

-	/**

-	 * Returns whether this thread currently contains any stack

-	 * frames.

-	 * 

-	 * @return whether this thread currently contains any stack frames

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 * @since 2.0

-	 */

-	public boolean hasStackFrames() throws DebugException;

-	

-	/**

-	 * Returns the priority of this thread. The meaning of this

-	 * number is operating-system dependent.

-	 *

-	 * @return thread priority

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the VM.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public int getPriority() throws DebugException;

-	/** 

-	 * Returns the top stack frame or <code>null</code> if there is

-	 * currently no top stack frame.

-	 *

-	 * @return the top stack frame, or <code>null</code> if none

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the VM.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public IStackFrame getTopStackFrame() throws DebugException;

-	/**

-	 * Returns the name of this thread. Name format is debug model

-	 * specific, and should be specified by a debug model.

-	 *

-	 * @return this thread's name

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the VM.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public String getName() throws DebugException;

-

-	/**

-	 * Returns the breakpoints that caused this thread to suspend,

-	 * or an empty collection if this thread is not suspended or

-	 * was not suspended by a breakpoint. Usually a single breakpoint

-	 * will be returned, but this collection can contain more than

-	 * one breakpoint if two breakpoints are at the same location in

-	 * a program.

-	 *

-	 * @return the collection of breakpoints that caused this thread to suspend

-	 */

-	public IBreakpoint[] getBreakpoints();	

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
deleted file mode 100644
index a78a48b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.debug.core.DebugException;

-

-/**

- * A value represents the value of a variable.

- * A value representing a complex data structure contains variables.

- * <p>

- * An implementation may choose to re-use or discard

- * values on iterative thread suspensions. Clients

- * cannot assume that values are identical or equal across

- * iterative thread suspensions and must check for equality on iterative

- * suspensions if they wish to re-use the objects.

- * </p>

- * <p>

- * An implementation that preserves equality

- * across iterative suspensions may display more desirable behavior in

- * some clients. For example, if variables are preserved

- * while stepping, a UI client would be able to update the UI incrementally,

- * rather than collapse and redraw the entire list or tree.

- * </p>

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see IVariable

- */

-

-

-public interface IValue extends IDebugElement {

-	

-	/**

-	 * Returns a description of the type of data this value contains

-	 * or references.

-	 * 

-	 * @return the name of this value's reference type

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the VM.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public String getReferenceTypeName() throws DebugException;

-	

-	/**

-	 * Returns this value as a <code>String</code>.

-	 *

-	 * @return a String representation of this value

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the VM.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public String getValueString() throws DebugException;

-		

-	/**

-	 * Returns whether this value is currently allocated.

-	 * <p>

-	 * For example, if this value represents

-	 * an object that has been garbage collected, <code>false</code> is returned.

-	 * </p>

-	 * @return whether this value is currently allocated

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the VM.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public boolean isAllocated() throws DebugException;

-	/**

-	 * Returns the visible variables in this value. An empty

-	 * collection is returned if there are no visible variables.

-	 * 

-	 * @return an array of visible variables

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the VM.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 * @since 2.0

-	 */

-	public IVariable[] getVariables() throws DebugException;

-	

-	/**

-	 * Returns whether this value currently contains any visible variables.

-	 * 

-	 * @return whether this value currently contains any visible variables

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the debug target.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 * </ul>

-	 * @since 2.0

-	 */

-	public boolean hasVariables() throws DebugException;	

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
deleted file mode 100644
index bd08b4e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-

-/**

- * Provides the ability to modify the value of a variable in

- * a target.

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see IVariable

- */

-public interface IValueModification {

-

-	/**

-	 * Attempts to set the value of this variable to the

-	 * value of the given expression.

-	 *

-	 * @param expression an expression to generate a new value

-	 * @exception DebugException on failure. Reasons include:<ul>

-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target

-	 * <li>NOT_SUPPORTED - The capability is not supported by the target

-	 * </ul>

-	 */

-	public void setValue(String expression) throws DebugException;

-	

-	/**

-	 * Sets the value of this variable to the given value.

-	 *

-	 * @param value a new value

-	 * @exception DebugException on failure. Reasons include:<ul>

-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target

-	 * <li>NOT_SUPPORTED - The capability is not supported by the target

-	 * </ul>

-	 * @since 2.0

-	 */

-	public void setValue(IValue value) throws DebugException;	

-	

-	/**

-	 * Returns whether this variable supports value modification.

-	 *

-	 * @return whether this variable supports value modification

-	 */

-	public boolean supportsValueModification();

-	

-	/**

-	 * Returns whether the given expression is valid to be used in

-	 * setting a new value for this variable.

-	 *

-	 * @param expression an expression to generate a new value

-	 * @return whether the expression is valid

-	 * @exception DebugException on failure. Reasons include:<ul>

-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target

-	 * <li>NOT_SUPPORTED - The capability is not supported by the target

-	 * </ul>

-	 */

-	public boolean verifyValue(String expression) throws DebugException;

-	

-	/**

-	 * Returns whether the given value can be used as

-	 * a new value for this variable.

-	 *

-	 * @param value a new value

-	 * @return whether the value is valid

-	 * @exception DebugException on failure. Reasons include:<ul>

-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target

-	 * <li>NOT_SUPPORTED - The capability is not supported by the target

-	 * </ul>

-	 * @since 2.0

-	 */

-	public boolean verifyValue(IValue value) throws DebugException;

-}

-

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
deleted file mode 100644
index 59a3dd6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.debug.core.model;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.debug.core.DebugException;

-

-/**

- * A variable represents a visible data structure in a stack frame

- * or value.

- * Each variable has a value which may in turn contain more variables.

- * A variable may support value modification.

- * <p>

- * An implementation may choose to re-use or discard

- * variables on iterative thread suspensions. Clients

- * cannot assume that variables are identical or equal across

- * iterative thread suspensions and must check for equality on iterative

- * suspensions if they wish to re-use the objects.

- * </p>

- * <p>

- * An implementation that preserves equality

- * across iterative suspensions may display more desirable behavior in

- * some clients. For example, if variables are preserved

- * while stepping, a UI client would be able to update the UI incrementally,

- * rather than collapse and redraw the entire list or tree.

- * </p>

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see IValue

- * @see IStackFrame

- * @see IValueModification

- */

-public interface IVariable extends IDebugElement, IValueModification {

-	/**

-	 * Returns the value of this variable.

-	 * 

-	 * @return this variable's value

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the VM.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public IValue getValue() throws DebugException;

-	/**

-	 * Returns the name of this variable. Name format is debug model

-	 * specific, and should be specified by a debug model.

-	 *

-	 * @return this variable's name

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the VM.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public String getName() throws DebugException;	

-	/**

-	 * Returns a description of the type of data this variable is

-	 * declared to reference. Note that the declared type of a

-	 * variable and the concrete type of its value are not neccessarily

-	 * the same.

-	 *

-	 * @return the declared type of this variable

-	 * @exception DebugException if this method fails.  Reasons include:

-	 * <ul><li>Failure communicating with the VM.  The DebugException's

-	 * status code contains the underlying exception responsible for

-	 * the failure.</li>

-	 */

-	public String getReferenceTypeName() throws DebugException;

-	

-	/** 

-	 * Returns whether this variable's value has changed since the last suspend event. 

-	 * Implementations may choose whether the last suspend event is the last suspend 

-	 * event in this variable's debug target, or within the thread(s) in which this variable 

-	 * is visible. 

-	 * <p>

-	 * Implementations that choose not to implement this function should always

-	 * return <code>false</code>.

-	 * </p>

-	 * 

-	 * @return whether this variable's value has changed since the last suspend event 

-	 * @exception DebugException if an exception occurs determining if this variable's 

-	 *   value has changed since the last suspend event 

-	 */ 

-	public boolean hasValueChanged() throws DebugException; 

-

-	

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
deleted file mode 100644
index 88122c0..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
deleted file mode 100644
index 9bd3a0a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>Eclipse Debug Platform [org.eclipse.debug.core.model]</title>

-</head>

-

-<body bgcolor="#FFFFFF">

-

-<p>Defines interfaces for a debug model elements, source lookup, and launching.</p>

-

-<h2>Package Specification</h2>

-

-<p>This package defines classes and interfaces known as the &quot;debug model&quot; which support

-an extensible set of debug architectures and languages. The debug model is a set of interfaces

-representing common artifacts in debuggable programs. The debug plug-in itself does not provide

-any implementations of a debug model. It is intended that third parties providing an integrated

-set of development tools for a specific language will also implement a debug model for that language,

-using an underlying debug architecture of their choice. For example, Java Tooling provides an

-implementation of a debug model based on the standard Java Platform Debug Architecture (JPDA).</p>

-

-<h4>The Debug Model</h4>

-

-<p>A client implements a debug model by

-providing an implementation of the interfaces defined in this package. (There is no explicit

-extension point that represents a debug model). Each debug model provides one or more

-launch configuration types capable of initiating a debug session.</p>

-

-<p>The common elements defined by the debug model are: 

-

-<ul>

-  <li>Debug Target - A debug target represents a debuggable program - for example, a virtual

-    machine or a process.</li>

-  <li>Thread - A debug target may contain one or more threads.</li>

-  <li>Stack Frame - A suspended thread may contain one or more stack frames.</li>

-  <li>Variable - A stack frame may contain variables.</li>

-  <li>Value - Each variable has an associated value, and a value may contain more variables (to

-  	represent complex data structures and objects).</li>

-  <li>Register Group - A stack frame may (optionally) be associated with one or more register

-    groups.</li>

-  <li>Register - A register group contains one or more registers.</li>

-  <li>Memory Blocks - A debug target may (optionally) support the retrieval of

-    arbitrary contiguous segments of memory.</li>

-  <li>Breakpoint - Breakpoints suspend the execution of a program.</li>

-  <li>Expression -  An expression is a snippet of code that can be evaluated to

-  	produce a value.</li>

-</ul>

-

-<p>A debug model implementation is responsible for firing debug events. A debug event

-corresponds to an event in a program being debugged - for example the creation or

-termination of a thread.</p>

-

-<h4>Breakpoints</h4>

-

-<p>Breakpoints are used to suspend the execution of a program being debugged. There are

-many kinds of breakpoints - line breakpoints, conditional line breakpoints, hit count

-breakpoints, exception breakpoints, etc. The kinds of breakpoints supported by each debug

-architecture, and the information required to create those breakpoints

-is dictated by each debug architecture. The debug platform supports an extensible

-set of breakpoint via the breakpoints extension point.</p>

-

-<p>The debug platform provides a breakpoint manager that maintains the collection of all

-registered breakpoints. Clients add and remove breakpoints via this manager. Breakpoints are

-implemented by instances of IBreakpoint. Each breakpoint object has an associated marker,

-which provides persistence and presentation in editors. The debug platform defines a generic

-breakpoint and line breakpoint, as well as their corresponding marker definitions. Breakpoint

-creation is a client responsibility - that is, defining the attributes of a breakpoint and

-the resource to associate a breakpoint marker with.</p>

-

-<p>Also, the location in which a breakpoint may

-be placed, and the attributes that a debug target requires to install a breakpoint are

-specific to each debug architecture, and thus a client responsibility.</p>

-

-<h5>Persistence</h5>

-

-<p>Breakpoints are persisted via their underlying marker. Breakpoint markers defined

-with the <b>persisted</b> attribute as <b>false</b> will not be persisted. Breakpoints

-are restored at workspace startup time by the breakpoint manager - that is, breakpoint objects

-are created for all persisted markers which are a subtype of the root breakpoint marker

-and are added to the breakpoint manager. To allow for selective persistence

-of breakpoints (of the same kind), the IBreakpoint interface and root breakpoint

-implementation define a &quot;persisted&quot; attribute. If this value is set to false,

-the breakpoint will not be persisted across workspace invocations.</p>

-

-<h5>Change Notification</h5>

-

-<p>As breakpoint markers are modified (created, removed, and changed), resource deltas

-are created by the platform. The breakpoint manager translates pertinent resource deltas

-into breakpoint change notifications (breakpoint added/removed/changed messages). Interested

-listeners may register with the breakpoint manager. The breakpoint manager only fires change

-notifications for registered breakpoints. This simplifies breakpoint processing for clients,

-as resource delta traversal and analysis is not required. Debug targets that support breakpoints

-should register for breakpoint change notifications.</p>

-

-</body>

-</html>

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
deleted file mode 100644
index c8e7d76..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>Eclipse Debug Platform</title>

-</head>

-

-<body bgcolor="#FFFFFF">

-

-<p>Provides support for launching programs, breakpoint management, expression management,

-and debug events.</p>

-

-<h2>Package Specification</h2>

-

-<p>This package provides classes and interfaces to support facilities common

-among many debug architectures: launching programs, breakpoint management,

-expression management, and debug events. An extensible

-set of debug architectures and languages are supported by the definition of a &quot;debug

-model&quot; - a set of interfaces representing common artifacts in debuggable programs, which

-are defined in <b>org.eclipse.debug.core.model</b>.

-The debug plug-in itself does not provide any implementations of a debug model. It is

-intended that third parties providing an integrated set of development tools for a

-specific language will also implement a debug model for that language, using an underlying

-debug architecture of their choice. For example, Java Tooling provides an implementation

-of a debug model based on the standard Java Platform Debug Architecture (JPDA).</p>

-

-<h4>The Managers</h4>

-

-<p>The debug platform defines and provides an implementation of the following managers:

-<ul>

- <li>Launch Manager - The launch manager maintains the set of registered launches - that is,

- 	a collection of programs that have been launched in debuggable or non-debuggable (run) mode.

- 	Each launch maintains its associated debug targets and system processes. A launch that

- 	represents a debuggable program may specify an associated source locator used to locate

- 	source elements associated with stack frames for a particular debug session. Clients must

- 	provide implementations of source locators, which are generally tied to the manner in which

- 	a program is launched.</li>

- <li>Breakpoint Manager - The breakpoint manager maintains, persists, and restores the collection

-    of all registered breakpoints in the workspace. As well, it provides change notification for

-    breakpoints.</li>

- <li>Expression Manager - The expression manager maintains a collection of registered expressions.

-    Expressions are not automatically persisted, but a client could persist its own expressions

-    if required.</li>

-</ul>

-</p>

-

-<h4>Launch Configurations</h4>

-

-<p>A launch configuration is a persistable description of how to launch an application.

- Each launch configuration is an instance of a type of launch configuration - for example,

- a Java Application. The debug plug-in defines a launch configuration type extension point

- such that clients may define launch configurations specific to their debug architecture.

- A launch configuration is simply a set of attributes describing how to launch a program.

- The actual launching of an application is performed

- by an associated implementation of a launch configuration delegate, which is specifed by each launch configuration

- type extension.</p>

-<p>A launch configuration may be stored as a file in the worksapce (and shared in a repository via

- standard team mechanisms), or may be stored locally, essentially making the launch configuration

- private for a single user.</p>

-

-

-</body>

-</html>

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
deleted file mode 100644
index b5b7a4d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
+++ /dev/null
@@ -1,582 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.text.MessageFormat;

-import java.util.ArrayList;

-import java.util.Enumeration;

-import java.util.HashMap;

-import java.util.Iterator;

-import java.util.List;

-import java.util.Vector;

-

-import org.eclipse.core.resources.IMarker;

-import org.eclipse.core.resources.IMarkerDelta;

-import org.eclipse.core.resources.IProject;

-import org.eclipse.core.resources.IResource;

-import org.eclipse.core.resources.IResourceChangeEvent;

-import org.eclipse.core.resources.IResourceChangeListener;

-import org.eclipse.core.resources.IResourceDelta;

-import org.eclipse.core.resources.IResourceDeltaVisitor;

-import org.eclipse.core.resources.IWorkspace;

-import org.eclipse.core.resources.IWorkspaceRunnable;

-import org.eclipse.core.resources.ResourcesPlugin;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.core.runtime.IExtensionPoint;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.IBreakpointListener;

-import org.eclipse.debug.core.IBreakpointManager;

-import org.eclipse.debug.core.model.IBreakpoint;

-

-/**

- * The breakpoint manager manages all registered breakpoints

- * for the debug plugin. It is instantiated by the debug plugin at startup.

- *

- * @see IBreakpointManager

- */

-public class BreakpointManager implements IBreakpointManager, IResourceChangeListener {

-	

-	/**

-	 * Constants for breakpoint add/remove/change updates

-	 */

-	private final static int ADDED = 0;

-	private final static int REMOVED = 1;

-	private final static int CHANGED = 2;

-	

-	/**

-	 * String constants corresponding to XML extension keys

-	 */

-	private final static String CLASS = "class"; //$NON-NLS-1$

-	

-	/**

-	 * Attribute name for the <code>"markerType"</code> attribute of

-	 * a breakpoint extension.

-	 */

-	private static final String MARKER_TYPE= "markerType";	 //$NON-NLS-1$	

-

-	/**

-	 * A collection of breakpoints registered with this manager.

-	 */

-	private Vector fBreakpoints= null;

-	

-	/**

-	 * A table of breakpoint extension points, keyed by

-	 * marker type

-	 * key: a marker type

-	 * value: the breakpoint extension which corresponds to that marker type

-	 */

-	private HashMap fBreakpointExtensions;

-	

-	/**

-	 * Collection of markers that associates markers to breakpoints

-	 * key: a marker

-	 * value: the breakpoint which contains that marker

-	 */	

-	private HashMap fMarkersToBreakpoints;

-

-	/**

-	 * Collection of breakpoint listeners.

-	 */

-	private ListenerList fBreakpointListeners= new ListenerList(6);

-

-	/**

-	 * Singleton resource delta visitor which handles marker

-	 * additions, changes, and removals.

-	 */

-	private static BreakpointManagerVisitor fgVisitor;

-

-	/**

-	 * Constructs a new breakpoint manager.

-	 */

-	public BreakpointManager() {

-		fMarkersToBreakpoints= new HashMap(10);	

-		fBreakpointExtensions = new HashMap(15);	

-	}

-

-	/**

-	 * Registers this manager as a resource change listener and

-	 * initializes the collection of defined breakpoint extensions.

-	 * 

-	 * This method should only be called on initial startup of 

-	 * the debug plugin.

-	 */

-	public void startup() throws CoreException {

-		getWorkspace().addResourceChangeListener(this);

-	}

-	

-	/**

-	 * Loads all the breakpoints on the given resource.

-	 * 

-	 * @param resource the resource which contains the breakpoints

-	 */

-	private void loadBreakpoints(IResource resource) throws CoreException {

-		initBreakpointExtensions();

-		IMarker[] markers= getPersistedMarkers(resource);

-		for (int i = 0; i < markers.length; i++) {

-			IMarker marker= markers[i];

-			try {

-				createBreakpoint(marker);

-			} catch (DebugException e) {

-				DebugPlugin.log(e);

-			}

-		}

-	}

-	

-	/**

-	 * Returns the persisted markers associated with the given resource.

-	 * 

-	 * Delete any non-persisted/invalid breakpoint markers. This is done

-	 * at startup rather than shutdown, since the changes made at

-	 * shutdown are not persisted as the workspace state has already

-	 * been saved. See bug 7683.

-	 */

-	protected IMarker[] getPersistedMarkers(IResource resource) throws CoreException {

-		IMarker[] markers= resource.findMarkers(IBreakpoint.BREAKPOINT_MARKER, true, IResource.DEPTH_INFINITE);

-		final List delete = new ArrayList();

-		List persisted= new ArrayList();

-		for (int i = 0; i < markers.length; i++) {

-			IMarker marker= markers[i];

-			// ensure the marker has a valid model identifier attribute

-			// and delete the breakpoint if not

-			String modelId = marker.getAttribute(IBreakpoint.ID, null);

-			if (modelId == null) {

-				// marker with old/invalid format - delete

-				delete.add(marker);

-			} else if (!marker.getAttribute(IBreakpoint.PERSISTED, true)) {

-				// the breakpoint is marked as not to be persisted,

-				// schedule for deletion

-				delete.add(marker);

-			} else {

-				persisted.add(marker);

-			}

-		}

-		// delete any markers that are not to be restored

-		if (!delete.isEmpty()) {

-			IWorkspaceRunnable wr = new IWorkspaceRunnable() {

-				public void run(IProgressMonitor pm) throws CoreException {

-					ResourcesPlugin.getWorkspace().deleteMarkers((IMarker[])delete.toArray(new IMarker[delete.size()]));

-				}

-			};

-			fork(wr);

-		}

-		return (IMarker[])persisted.toArray(new IMarker[persisted.size()]);

-	}

-	

-	/**

-	 * Removes this manager as a resource change listener

-	 * and removes all breakpoint listeners.

-	 */

-	public void shutdown() {

-		getWorkspace().removeResourceChangeListener(this);

-		fBreakpointListeners.removeAll();

-	}

-

-	/**

-	 * Find the defined breakpoint extensions and cache them for use in recreating

-	 * breakpoints from markers.

-	 */

-	private void initBreakpointExtensions() {

-		IExtensionPoint ep= DebugPlugin.getDefault().getDescriptor().getExtensionPoint(DebugPlugin.EXTENSION_POINT_BREAKPOINTS);

-		IConfigurationElement[] elements = ep.getConfigurationElements();

-		for (int i= 0; i < elements.length; i++) {

-			fBreakpointExtensions.put(elements[i].getAttribute(MARKER_TYPE), elements[i]);

-		}

-		

-	}

-

-	/**

-	 * Convenience method to get the workspace

-	 */

-	private IWorkspace getWorkspace() {

-		return ResourcesPlugin.getWorkspace();

-	}

-

-	/**

-	 * @see IBreakpointManager#getBreakpoint(IMarker)

-	 */

-	public IBreakpoint getBreakpoint(IMarker marker) {

-		// ensure that breakpoints are initialized

-		getBreakpoints0();

-		return (IBreakpoint)fMarkersToBreakpoints.get(marker);

-	}

-

-	/**

-	 * @see IBreakpointManager#getBreakpoints()

-	 */

-	public IBreakpoint[] getBreakpoints() {

-		Vector breakpoints= getBreakpoints0();

-		IBreakpoint[] temp= new IBreakpoint[breakpoints.size()];

-		breakpoints.copyInto(temp);

-		return temp;

-	}

-	

-	/**

-	 * The BreakpointManager waits to load the breakpoints

-	 * of the workspace until a request is made to retrieve the 

-	 * breakpoints.

-	 */

-	private Vector getBreakpoints0() {

-		if (fBreakpoints == null) {

-			initializeBreakpoints();

-		}

-		return fBreakpoints;

-	}	

-	

-	/**

-	 * @see IBreakpointManager#getBreakpoints(String)

-	 */

-	public IBreakpoint[] getBreakpoints(String modelIdentifier) {

-		Vector allBreakpoints= getBreakpoints0();

-		ArrayList temp= new ArrayList(allBreakpoints.size());

-		Iterator breakpoints= allBreakpoints.iterator();

-		while (breakpoints.hasNext()) {

-			IBreakpoint breakpoint= (IBreakpoint) breakpoints.next();

-			String id= breakpoint.getModelIdentifier();

-			if (id != null && id.equals(modelIdentifier)) {

-				temp.add(breakpoint);

-			}

-		}

-		return (IBreakpoint[]) temp.toArray(new IBreakpoint[temp.size()]);

-	}

-

-	/**

-	 * Loads the list of breakpoints from the breakpoint markers in the

-	 * workspace.

-	 */

-	private void initializeBreakpoints() {

-		setBreakpoints(new Vector(10));

-		try {

-			loadBreakpoints(getWorkspace().getRoot());	

-		} catch (CoreException ce) {

-			DebugPlugin.log(ce);

-			setBreakpoints(new Vector(0));

-		} 

-	}

-	

-	/**

-	 * @see IBreakpointManager#isRegistered(IBreakpoint)

-	 */

-	public boolean isRegistered(IBreakpoint breakpoint) {

-		return getBreakpoints0().contains(breakpoint);

-	}

-

-	

-	/**

-	 * @see IBreakpointManager#removeBreakpoint(IBreakpoint, boolean)

-	 */

-	public void removeBreakpoint(IBreakpoint breakpoint, boolean delete) throws CoreException {

-		if (getBreakpoints0().remove(breakpoint)) {

-			fMarkersToBreakpoints.remove(breakpoint.getMarker());

-			fireUpdate(breakpoint, null, REMOVED);

-			if (delete) {

-				breakpoint.delete();

-			} else {

-				// if the breakpoint is being removed from the manager

-				// because the project is closing, the breakpoint should

-				// remain as registered, otherwise, the breakpoint should

-				// be marked as deregistered

-				IMarker marker = breakpoint.getMarker();

-				if (marker.exists()) {

-					IProject project = breakpoint.getMarker().getResource().getProject();

-					if (project == null || project.isOpen()) {

-						breakpoint.setRegistered(false);

-					}

-				}

-			}

-		}

-	}

-	

-	/**

-	 * Create a breakpoint for the given marker. The created breakpoint

-	 * is of the type specified in the breakpoint extension associated

-	 * with the given marker type.

-	 * 

-	 * @return a breakpoint on this marker

-	 * @exception DebugException if breakpoint creation fails. Reasons for 

-	 *  failure include:

-	 * <ol>

-	 * <li>The breakpoint manager cannot determine what kind of breakpoint

-	 *     to instantiate for the given marker type</li>

-	 * <li>A lower level exception occurred while accessing the given marker</li>

-	 * </ol>

-	 */

-	private IBreakpoint createBreakpoint(IMarker marker) throws DebugException {

-		IBreakpoint breakpoint= (IBreakpoint) fMarkersToBreakpoints.get(marker);

-		if (breakpoint != null) {

-			return breakpoint;

-		}

-		try {

-			IConfigurationElement config = (IConfigurationElement)fBreakpointExtensions.get(marker.getType());

-			if (config == null) {

-				throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 

-					DebugException.CONFIGURATION_INVALID, MessageFormat.format(DebugCoreMessages.getString("BreakpointManager.Missing_breakpoint_definition"), new String[] {marker.getType()}), null)); //$NON-NLS-1$

-			}

-			breakpoint = (IBreakpoint)config.createExecutableExtension(CLASS);

-			breakpoint.setMarker(marker);

-			if (breakpoint.isRegistered()) {

-				addBreakpoint(breakpoint);

-			}

-			return breakpoint;		

-		} catch (CoreException e) {

-			throw new DebugException(e.getStatus());

-		}

-	}	

-

-	/**

-	 * @see IBreakpointManager#addBreakpoint(IBreakpoint)

-	 */

-	public void addBreakpoint(IBreakpoint breakpoint) throws CoreException {

-		if (!getBreakpoints0().contains(breakpoint)) {

-			verifyBreakpoint(breakpoint);

-			// set the registered property before adding to the collection

-			// such that a change notification is not fired

-			breakpoint.setRegistered(true);

-			getBreakpoints0().add(breakpoint);

-			fMarkersToBreakpoints.put(breakpoint.getMarker(), breakpoint);

-			fireUpdate(breakpoint, null, ADDED);

-		}			

-	}

-	

-	/**

-	 * @see IBreakpointManager#fireBreakpointChanged(IBreakpoint)

-	 */

-	public void fireBreakpointChanged(IBreakpoint breakpoint) {

-		if (getBreakpoints0().contains(breakpoint)) {

-			fireUpdate(breakpoint, null, CHANGED);

-		}

-	}

-

-	/**

-	 * Verifies that the breakpoint marker has the minimal required attributes,

-	 * and throws a debug exception if not.

-	 */

-	private void verifyBreakpoint(IBreakpoint breakpoint) throws DebugException {

-		try {

-			String id= breakpoint.getModelIdentifier();

-			if (id == null) {

-				throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 

-					DebugException.CONFIGURATION_INVALID, DebugCoreMessages.getString("BreakpointManager.Missing_model_identifier"), null)); //$NON-NLS-1$

-			}

-		} catch (CoreException e) {

-			throw new DebugException(e.getStatus());

-		}

-	}

-

-	/**

-	 * A resource has changed. Traverses the delta for breakpoint changes.

-	 */

-	public void resourceChanged(IResourceChangeEvent event) {

-		if (!isRestored()) {

-			// if breakpoints have not been restored, deltas

-			// should not be processed (we are unable to restore

-			// breakpoints in a resource callback, as that might

-			// cause the resource tree to be modififed, which is

-			// not allowed during notification).

-			// @see bug 9327

-			return;

-		}

-		IResourceDelta delta= event.getDelta();

-		if (delta != null) {

-			try {

-				if (fgVisitor == null) {

-					fgVisitor= new BreakpointManagerVisitor();

-				}

-				delta.accept(fgVisitor);

-			} catch (CoreException ce) {

-				DebugPlugin.log(ce);

-			}

-		}

-	}

-	

-	/**

-	 * Returns whether breakpoints have been restored

-	 * since the workbench was started.

-	 * 

-	 * @return whether breakpoints have been restored

-	 * since the workbench was started

-	 */

-	protected boolean isRestored() {

-		return fBreakpoints != null;

-	}

-

-	/**

-	 * A project has been opened or closed.  Updates the breakpoints for

-	 * that project

-	 */

-	private void handleProjectResourceOpenStateChange(IResource project) {

-		if (!project.isAccessible()) {

-			//closed

-			Enumeration breakpoints= ((Vector)getBreakpoints0().clone()).elements();

-			while (breakpoints.hasMoreElements()) {

-				IBreakpoint breakpoint= (IBreakpoint) breakpoints.nextElement();

-				IResource markerResource= breakpoint.getMarker().getResource();

-				if (project.getFullPath().isPrefixOf(markerResource.getFullPath())) {

-					try {

-						removeBreakpoint(breakpoint, false);

-					} catch (CoreException e) {

-						DebugPlugin.log(e);

-					}

-				}

-			}

-			return;

-		} else {

-			try {

-				loadBreakpoints(project);

-			} catch (CoreException e) {

-				DebugPlugin.log(e);

-			}

-		}

-	}

-

-	/**

-	 * Visitor for handling resource deltas

-	 */

-	class BreakpointManagerVisitor implements IResourceDeltaVisitor {

-		/**

-		 * @see IResourceDeltaVisitor#visit(IResourceDelta)

-		 */

-		public boolean visit(IResourceDelta delta) {

-			if (delta == null) {

-				return false;

-			}

-			if (0 != (delta.getFlags() & IResourceDelta.OPEN)) {

-				handleProjectResourceOpenStateChange(delta.getResource());

-				return false;

-			}

-			IMarkerDelta[] markerDeltas= delta.getMarkerDeltas();

-			for (int i= 0; i < markerDeltas.length; i++) {

-				IMarkerDelta markerDelta= markerDeltas[i];

-				if (markerDelta.isSubtypeOf(IBreakpoint.BREAKPOINT_MARKER)) {

-					switch (markerDelta.getKind()) {

-						case IResourceDelta.ADDED :

-							handleAddBreakpoint(delta, markerDelta.getMarker(), markerDelta);

-							break;

-						case IResourceDelta.REMOVED :

-							handleRemoveBreakpoint(markerDelta.getMarker(), markerDelta);

-							break;

-						case IResourceDelta.CHANGED :

-							handleChangeBreakpoint(markerDelta.getMarker(), markerDelta);

-							break;

-					}

-				}

-			}

-

-			return true;

-		}		

-

-		/**

-		 * Wrapper for handling adds

-		 */

-		protected void handleAddBreakpoint(IResourceDelta rDelta, final IMarker marker, IMarkerDelta mDelta) {

-			if (0 != (rDelta.getFlags() & IResourceDelta.MOVED_FROM)) {

-				// This breakpoint has actually been moved - already removed

-				// from the Breakpoint manager during the remove callback

-				// Delete the marker associated with the new resource

-				IWorkspaceRunnable wRunnable= new IWorkspaceRunnable() {

-					public void run(IProgressMonitor monitor) {

-						try {

-							marker.delete();

-						} catch (CoreException ce) {

-							DebugPlugin.log(ce);

-						}

-					}

-				};

-				fork(wRunnable);

-			} else {

-				// do nothing - we do not add until explicitly added

-			}

-		}

-		

-		/**

-		 * Wrapper for handling removes

-		 */

-		protected void handleRemoveBreakpoint(IMarker marker, IMarkerDelta delta) {

-			IBreakpoint breakpoint= getBreakpoint(marker);

-			if (breakpoint != null) {

-				try {

-					removeBreakpoint(breakpoint, false);

-				} catch (CoreException e) {

-					DebugPlugin.log(e);

-				}

-			}

-		}

-

-		/**

-		 * Wrapper for handling changes

-		 */

-		protected void handleChangeBreakpoint(IMarker marker, IMarkerDelta delta) {

-			final IBreakpoint breakpoint= getBreakpoint(marker);

-			if (breakpoint != null && isRegistered(breakpoint)) {

-				fireUpdate(breakpoint, delta, CHANGED);

-			}

-		}

-	}

-

-	/**

-	 * @see IBreakpointManager#addBreakpointListener(IBreakpointListener)

-	 */

-	public void addBreakpointListener(IBreakpointListener listener) {

-		fBreakpointListeners.add(listener);

-	}

-

-	/**

-	 * @see IBreakpointManager#removeBreakpointListener(IBreakpointListener)

-	 */

-	public void removeBreakpointListener(IBreakpointListener listener) {

-		fBreakpointListeners.remove(listener);

-	}

-	

-	/**

-	 * Notifies listeners of the add/remove/change

-	 */

-	private void fireUpdate(IBreakpoint breakpoint, IMarkerDelta delta, int update) {

-		Object[] copiedListeners= fBreakpointListeners.getListeners();

-		for (int i= 0; i < copiedListeners.length; i++) {

-			IBreakpointListener listener = (IBreakpointListener)copiedListeners[i];

-			switch (update) {

-				case ADDED:

-					listener.breakpointAdded(breakpoint);

-					break;

-				case REMOVED:

-					listener.breakpointRemoved(breakpoint, delta);

-					break;

-				case CHANGED:

-					listener.breakpointChanged(breakpoint, delta);		

-					break;

-			}

-		}

-	}

-

-	protected void setBreakpoints(Vector breakpoints) {

-		fBreakpoints = breakpoints;

-	}

-	

-	protected void fork(final IWorkspaceRunnable wRunnable) {

-		Runnable runnable= new Runnable() {

-			public void run() {

-				try {

-					getWorkspace().run(wRunnable, null);

-				} catch (CoreException ce) {

-					DebugPlugin.log(ce);

-				}

-			}

-		};

-		new Thread(runnable).start();

-	}		

-

-	/**

-	 * @see IBreakpointManager#hasBreakpoints()

-	 */

-	public boolean hasBreakpoints() {

-		return !getBreakpoints0().isEmpty();

-	}

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
deleted file mode 100644
index 4953856..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-package org.eclipse.debug.internal.core;

-

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-public class DebugCoreMessages {

-

-	private static final String RESOURCE_BUNDLE= "org.eclipse.debug.internal.core.DebugCoreMessages";//$NON-NLS-1$

-

-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);

-

-	private DebugCoreMessages() {

-	}

-

-	public static String getString(String key) {

-		try {

-			return fgResourceBundle.getString(key);

-		} catch (MissingResourceException e) {

-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$

-		}

-	}

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
deleted file mode 100644
index 4e8a8d9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
+++ /dev/null
@@ -1,56 +0,0 @@
-######################################################################

-# Copyright (c) 2000, 2002 IBM Corp. and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Common Public License v0.5

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/cpl-v05.html

-#

-# Contributors:

-#    IBM Corporation - Initial implementation

-######################################################################

-

-Breakpoint.no_associated_marker=Breakpoint does not have an associated marker.

-

-BreakpointManager.Missing_breakpoint_definition=Missing breakpoint definition for marker type {0}

-BreakpointManager.Missing_model_identifier=Breakpoint missing debug model identifier

-

-DebugEvent.illegal_detail=detail is not one of the allowed constants, see IDebugEventConstants

-DebugEvent.illegal_kind=kind is not one of the allowed constants, see IDebugEventConstants

-

-DebugPlugin.Invalid_status_handler_extension__{0}_2=Invalid status handler extension: {0}

-

-InputStreamMonitor.label=Input Stream Monitor

-

-Launch.terminate_failed=Terminate failed

-

-LaunchConfiguration.Exception_occurred_creating_launch_configuration_memento_9=Exception occurred creating launch configuration memento

-LaunchConfiguration.Exception_occurred_parsing_memento_5=Exception occurred parsing memento

-LaunchConfiguration.Failed_to_delete_launch_configuration._1=Failed to delete launch configuration.

-LaunchConfiguration.Invalid_launch_configuration_memento__missing_path_attribute_3=Invalid launch configuration memento: missing path attribute

-LaunchConfiguration.Invalid_launch_configuration_memento__missing_local_attribute_4=Invalid launch configuration memento: missing local attribute

-

-LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_boolean._3=Attribute {0} is not of type boolean.

-LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_int._2=Attribute {0} is not of type int.

-LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.lang.String._1=Attribute {0} is not of type java.lang.String.

-LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.util.List._1=Attribute {0} is not of type java.util.List.

-LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.util.Map._1=Attribute {0} is not of type java.util.Map.

-LaunchConfigurationInfo.Invalid_launch_configuration_XML._10=Invalid launch configuration XML.

-LaunchConfigurationInfo.Launch_configuration_type_id___{0}___does_not_exist._nPossible_causes__n_tMissing_specification_of_a_launch_type_(missing_plugin)_n_tIncorrect_launch_configuration_XML_1=Launch configuration type id \"{0}\" does not exist.\nPossible causes:\n\tMissing specification of a launch type (missing plugin)\n\tIncorrect launch configuration XML

-

-LaunchConfigurationWorkingCopy.{0}_occurred_generating_launch_configuration_XML._1={0} occurred generating launch configuration XML.

-LaunchConfigurationWorkingCopy.Specified_container_for_launch_configuration_does_not_exist_2=Specified container for launch configuration does not exist

-

-LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1=Exception occurred while reading launch configuration file: {0}.

-LaunchManager.Invalid_launch_configuration_index._18=Invalid launch configuration index.

-LaunchManager.Invalid_source_locator_extentsion_defined_by_plug-in___{0}______id___not_specified_12=Invalid source locator extension defined by plug-in \"{0}\": \"id\" not specified

-LaunchManager.Launch_configuration_does_not_exist._6=Launch configuration does not exist.

-LaunchManager.Source_locator_does_not_exist__{0}_13=Source locator does not exist: {0}

-LaunchManager.Unable_to_restore_invalid_launch_configuration=Unable to restore invalid launch configuration {0}

-LaunchManager.Invalid_launch_configuration_comparator_extension_defined_by_plug-in_{0}_-_attribute_not_specified_1=Invalid launch configuration comparator extension defined by plug-in {0} - attribute not specified

-

-OutputStreamMonitor.label=Output Stream Monitor

-

-ProcessMonitor.label=Process Monitor

-

-RuntimeProcess.terminate_failed=Terminate failed

-RuntimeProcess.Exit_value_not_available_until_process_terminates._1=Exit value not available until process terminates.
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
deleted file mode 100644
index 3ffadb7..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.util.ArrayList;

-import java.util.Iterator;

-import java.util.Vector;

-

-import org.eclipse.debug.core.DebugEvent;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.IDebugEventSetListener;

-import org.eclipse.debug.core.IExpressionListener;

-import org.eclipse.debug.core.IExpressionManager;

-import org.eclipse.debug.core.model.IExpression;

-

-/**

- * The expression manager manages all registered expressions

- * for the debug plugin. It is instantiated by the debug plugin

- * at startup.

- * 

- * [XXX: expression persistence not yet implemented]

- *

- * @see IExpressionManager

- */

-public class ExpressionManager implements IExpressionManager, IDebugEventSetListener {

-	

-	/**

-	 * Collection of registered expressions.

-	 */

-	private Vector fExpressions = new Vector(10);

-	

-	/**

-	 * List of expression listeners

-	 */

-	private ListenerList fListeners = new ListenerList(2);

-	

-	/**

-	 * @see IExpressionManager#addExpression(IExpression, String)

-	 */

-	public void addExpression(IExpression expression) {

-		if (getExpressions0().indexOf(expression) == -1) {

-			getExpressions0().add(expression);

-			fireExpressionAdded(expression);

-		}

-	}

-

-	/**

-	 * @see IExpressionManager#getExpressions()

-	 */

-	public IExpression[] getExpressions() {

-		Vector expressions = getExpressions0();

-		IExpression[] temp= new IExpression[expressions.size()];

-		expressions.copyInto(temp);

-		return temp;

-	}

-

-	/**

-	 * @see IExpressionManager#getExpressions(String)

-	 */

-	public IExpression[] getExpressions(String modelIdentifier) {

-		Vector expressions = getExpressions0();

-		ArrayList temp= new ArrayList(expressions.size());

-		Iterator iter= expressions.iterator();

-		while (iter.hasNext()) {

-			IExpression expression= (IExpression) iter.next();

-			String id= expression.getModelIdentifier();

-			if (id != null && id.equals(modelIdentifier)) {

-				temp.add(expression);

-			}

-		}

-		return (IExpression[]) temp.toArray(new IExpression[temp.size()]);

-	}

-

-	/**

-	 * @see IExpressionManager#removeExpression(IExpression)

-	 */

-	public void removeExpression(IExpression expression) {

-		if (getExpressions0().indexOf(expression) >= 0) {

-			getExpressions0().remove(expression);

-			expression.dispose();

-			fireExpressionRemoved(expression);

-		}

-	}

-

-	/**

-	 * @see IExpressionManager#addExpressionListener(IExpressionListener)

-	 */

-	public void addExpressionListener(IExpressionListener listener) {

-		fListeners.add(listener);

-	}

-

-	/**

-	 * @see IExpressionManager#removeExpressionListener(IExpressionListener)

-	 */

-	public void removeExpressionListener(IExpressionListener listener) {

-		fListeners.remove(listener);

-	}

-	

-	/**

-	 * Called be the debug plug-in when starting up.

-	 */

-	public void startup() {

-		DebugPlugin.getDefault().addDebugEventListener(this);

-	}

-	

-	/**

-	 * Called by the debug plug-in when shutting down.

-	 */

-	public void shutdown() {

-		DebugPlugin.getDefault().removeDebugEventListener(this);

-	}

-

-	/**

-	 * Returns the list of registered expressions as

-	 * a vector.

-	 * 

-	 * @return vector of registered expressions

-	 */

-	protected Vector getExpressions0() {

-		return fExpressions;

-	}

-	

-	/**

-	 * @see IDebugEventSetListener#handleDebugEvent(DebugEvent)

-	 */

-	public void handleDebugEvents(DebugEvent[] events) {

-		for (int i = 0; i < events.length; i++) {

-			DebugEvent event = events[i];

-			if (event.getSource() instanceof IExpression) {

-				switch (event.getKind()) {

-					case DebugEvent.CHANGE:

-						fireExpressionChanged((IExpression)event.getSource());

-						break;

-					default:

-						break;

-				}

-			} 

-		}

-	}

-	

-	/**

-	 * Notifies listeners that the given expression has been

-	 * added.

-	 * 

-	 * @param expression the newly added expression

-	 */

-	protected void fireExpressionAdded(IExpression expression) {

-		Object[] listeners = fListeners.getListeners();

-		for (int i = 0; i < listeners.length; i++) {

-			((IExpressionListener)listeners[i]).expressionAdded(expression);

-		}

-	}

-	

-	/**

-	 * Notifies listeners that the given expression has been

-	 * removed.

-	 * 

-	 * @param expression the removed expression

-	 */

-	protected void fireExpressionRemoved(IExpression expression) {

-		Object[] listeners = fListeners.getListeners();

-		for (int i = 0; i < listeners.length; i++) {

-			((IExpressionListener)listeners[i]).expressionRemoved(expression);

-		}

-	}	

-	

-	/**

-	 * Notifies listeners that the given expression has changed.

-	 * 

-	 * @param expression the changed expression

-	 */

-	protected void fireExpressionChanged(IExpression expression) {

-		Object[] listeners = fListeners.getListeners();

-		for (int i = 0; i < listeners.length; i++) {

-			((IExpressionListener)listeners[i]).expressionChanged(expression);

-		}

-	}		

-

-	/**

-	 * @see IExpressionManager#hasExpressions()

-	 */

-	public boolean hasExpressions() {

-		return !getExpressions0().isEmpty();

-	}

-

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
deleted file mode 100644
index a3b2be6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.io.IOException;

-import java.io.OutputStream;

-import java.util.Vector;

-

-import org.eclipse.debug.core.DebugPlugin;

-

-/**

- * Writes to the input stream of a system process, 

- * queueing output if the stream is blocked.

- * 

- * The input stream monitor writes to system in via

- * an output stream.

- */

-public class InputStreamMonitor {

-	

-	/**

-	 * The stream which is being written to (connected to system in).

-	 */

-	private OutputStream fStream;

-	/**

-	 * The queue of output.

-	 */

-	private Vector fQueue;

-	/**

-	 * The thread which writes to the stream.

-	 */

-	private Thread fThread;

-	/**

-	 * A lock for ensuring that writes to the queue are contiguous

-	 */

-	private Object fLock;

-	

-	/**

-	 * Creates an input stream monitor which writes

-	 * to system in via the given output stream.

-	 */

-	public InputStreamMonitor(OutputStream stream) {

-		fStream= stream;

-		fQueue= new Vector();

-		fLock= new Object();

-	}

-	

-	/**

-	 * Appends the given text to the stream, or

-	 * queues the text to be written at a later time

-	 * if the stream is blocked.

-	 */

-	public void write(String text) {

-		synchronized(fLock) {

-			fQueue.add(text);

-			fLock.notifyAll();

-		}

-	}

-

-	/**

-	 * Starts a thread which writes the stream.

-	 */

-	public void startMonitoring() {

-		if (fThread == null) {

-			fThread= new Thread(new Runnable() {

-				public void run() {

-					write();

-				}

-			}, DebugCoreMessages.getString("InputStreamMonitor.label")); //$NON-NLS-1$

-			fThread.start();

-		}

-	}

-	

-	/**

-	 * Close all communications between this

-	 * monitor and the underlying stream.

-	 */

-	public void close() {

-		if (fThread != null) {

-			Thread thread= fThread;

-			fThread= null;

-			thread.interrupt(); 

-		}

-	}

-	

-	/**

-	 * Continuously writes to the stream.

-	 */

-	protected void write() {

-		while (fThread != null) {

-			writeNext();

-		}

-		try {

-			fStream.close();

-		} catch (IOException e) {

-			DebugPlugin.log(e);

-		}

-	}

-	

-	/**

-	 * Write the text in the queue to the stream.

-	 */

-	protected void writeNext() {

-		while (!fQueue.isEmpty()) {

-			String text = (String)fQueue.firstElement();

-			fQueue.removeElementAt(0);

-			try {

-				fStream.write(text.getBytes());

-				fStream.flush();

-			} catch (IOException e) {

-				DebugPlugin.log(e);

-			}

-		}

-		try {

-			synchronized(fLock) {

-				fLock.wait();

-			}

-		} catch (InterruptedException e) {

-		}

-	}

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
deleted file mode 100644
index 34df685..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
+++ /dev/null
@@ -1,459 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.io.IOException;

-import java.io.StringReader;

-import java.util.List;

-import java.util.Map;

-

-import javax.xml.parsers.DocumentBuilder;

-import javax.xml.parsers.DocumentBuilderFactory;

-import javax.xml.parsers.ParserConfigurationException;

-import org.apache.xerces.dom.DocumentImpl;

-import org.eclipse.core.resources.IContainer;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.resources.IResource;

-import org.eclipse.core.resources.ResourcesPlugin;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IPath;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.PlatformObject;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.core.ILaunchConfigurationType;

-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.debug.core.Launch;

-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;

-import org.eclipse.debug.core.model.IPersistableSourceLocator;

-import org.w3c.dom.Document;

-import org.w3c.dom.Element;

-import org.xml.sax.InputSource;

-import org.xml.sax.SAXException;

-

-/**

- * Launch configuration handle.

- * 

- * @see ILaunchConfiguration

- */

-public class LaunchConfiguration extends PlatformObject implements ILaunchConfiguration {

-	

-	/**

-	 * Location this configuration is stored in. This 

-	 * is the key for a launch configuration handle.

-	 */

-	private IPath fLocation;

-	

-	/**

-	 * Constructs a launch configuration in the given location.

-	 * 

-	 * @param location path to where this launch configuration's

-	 *  underlying file is located

-	 */

-	protected LaunchConfiguration(IPath location) {

-		setLocation(location);

-	}

-	

-	/**

-	 * Constructs a launch configuration from the given

-	 * memento.

-	 * 

-	 * @param memento launch configuration memento

-	 * @exception CoreException if the memento is invalid or

-	 * 	an exception occurrs reading the memento

-	 */

-	protected LaunchConfiguration(String memento) throws CoreException {

-		Exception ex = null;

-		try {

-			Element root = null;

-			DocumentBuilder parser =

-				DocumentBuilderFactory.newInstance().newDocumentBuilder();

-			StringReader reader = new StringReader(memento);

-			InputSource source = new InputSource(reader);

-			root = parser.parse(source).getDocumentElement();

-			

-			String localString = root.getAttribute("local"); //$NON-NLS-1$

-			String path = root.getAttribute("path"); //$NON-NLS-1$

-

-			String message = null;				

-			if (path == null) {

-				message = DebugCoreMessages.getString("LaunchConfiguration.Invalid_launch_configuration_memento__missing_path_attribute_3"); //$NON-NLS-1$

-			} else if (localString == null) {

-				message = DebugCoreMessages.getString("LaunchConfiguration.Invalid_launch_configuration_memento__missing_local_attribute_4"); //$NON-NLS-1$

-			}

-			if (message != null) {

-				IStatus s = newStatus(message, DebugException.INTERNAL_ERROR, null);

-				throw new CoreException(s);

-			}

-			

-			IPath location = null;

-			boolean local = (Boolean.valueOf(localString)).booleanValue();

-			if (local) {

-				location = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH.append(path);

-			} else {

-				location = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(path);

-			}

-			setLocation(location);

-			return;

-		} catch (ParserConfigurationException e) {

-			ex = e;			

-		} catch (SAXException e) {

-			ex = e;

-		} catch (IOException e) {

-			ex = e;

-		}

-		IStatus s = newStatus(DebugCoreMessages.getString("LaunchConfiguration.Exception_occurred_parsing_memento_5"), DebugException.INTERNAL_ERROR, ex); //$NON-NLS-1$

-		throw new CoreException(s);

-	}

-	

-	/**

-	 * Creates and returns a new error status based on 

-	 * the given mesasge, code, and exception.

-	 * 

-	 * @param message error message

-	 * @param code error code

-	 * @param e exception or <code>null</code>

-	 * @return status

-	 */

-	protected IStatus newStatus(String message, int code, Throwable e) {

-		return new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), code, message, e);

-	}

-	

-	/**

-	 * @see ILaunchConfiguration#launch(String, IProgressMonitor)

-	 */

-	public ILaunch launch(String mode, IProgressMonitor monitor) throws CoreException {

-		ILaunch launch = new Launch(this, mode, null);

-		getLaunchManager().addLaunch(launch);

-		try {

-			getDelegate().launch(this, mode, launch, monitor);

-		} catch (CoreException e) {

-			// if there was an exception, and the launch is empty, remove it

-			if (!launch.hasChildren()) {

-				getLaunchManager().removeLaunch(launch);

-			}

-			throw e;

-		}

-		if (monitor != null && monitor.isCanceled()) {

-			getLaunchManager().removeLaunch(launch);

-		} else {

-			initializeSourceLocator(launch);

-		}

-		return launch;

-	}

-	

-	/**

-	 * Set the source locator to use with the launch, if specified 

-	 * by this configuration.

-	 * 

-	 * @param launch the launch on which to set the source locator

-	 */

-	protected void initializeSourceLocator(ILaunch launch) throws CoreException {

-		if (launch.getSourceLocator() == null) {

-			String type = getAttribute(ATTR_SOURCE_LOCATOR_ID, (String)null);

-			if (type != null) {

-				IPersistableSourceLocator locator = getLaunchManager().newSourceLocator(type);

-				String memento = getAttribute(ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);

-				if (memento == null) {

-					locator.initializeDefaults(this);

-				} else {

-					locator.initializeFromMemento(memento);

-				}

-				launch.setSourceLocator(locator);

-			}

-		}

-	}

-

-	/**

-	 * @see ILaunchConfiguration#supportsMode(String)

-	 */

-	public boolean supportsMode(String mode) throws CoreException {

-		return getType().supportsMode(mode);

-	}

-

-	/**

-	 * A configuration's name is that of the last segment

-	 * in it's location (subtract the ".launch" extension).

-	 * 

-	 * @see ILaunchConfiguration#getName()

-	 */

-	public String getName() {

-		return getLastLocationSegment();

-	}

-	

-	private String getLastLocationSegment() {

-		String name = getLocation().lastSegment();

-		name = name.substring(0, name.length() - (LAUNCH_CONFIGURATION_FILE_EXTENSION.length() + 1));

-		return name;

-	}

-

-	/**

-	 * @see ILaunchConfiguration#getLocation()

-	 */

-	public IPath getLocation() {

-		return fLocation;

-	}

-

-	/**

-	 * Sets the location of this configuration's underlying

-	 * file.

-	 * 

-	 * @param location the location of this configuration's underlying

-	 *  file

-	 */

-	private void setLocation(IPath location) {

-		fLocation = location;

-	}

-

-	/**

-	 * @see ILaunchConfiguration#exists()

-	 */

-	public boolean exists() {

-		IFile file = getFile();

-		if (file == null) {

-			return getLocation().toFile().exists();

-		} else {

-			return file.exists();

-		}

-	}

-

-	/**

-	 * @see ILaunchConfiguration#getAttribute(String, int)

-	 */

-	public int getAttribute(String attributeName, int defaultValue) throws CoreException {

-		return getInfo().getIntAttribute(attributeName, defaultValue);

-	}

-

-	/**

-	 * @see ILaunchConfiguration#getAttribute(String, String)

-	 */

-	public String getAttribute(String attributeName, String defaultValue) throws CoreException {

-		return getInfo().getStringAttribute(attributeName, defaultValue);

-	}

-

-	/**

-	 * @see ILaunchConfiguration#getAttribute(String, boolean)

-	 */

-	public boolean getAttribute(String attributeName, boolean defaultValue) throws CoreException {

-		return getInfo().getBooleanAttribute(attributeName, defaultValue);

-	}

-

-	/**

-	 * @see ILaunchConfiguration#getAttribute(String, List)

-	 */

-	public List getAttribute(String attributeName, List defaultValue) throws CoreException {

-		return getInfo().getListAttribute(attributeName, defaultValue);

-	}

-

-	/**

-	 * @see ILaunchConfiguration#getAttribute(String, Map)

-	 */

-	public Map getAttribute(String attributeName, Map defaultValue) throws CoreException {

-		return getInfo().getMapAttribute(attributeName, defaultValue);

-	}

-

-	/**

-	 * @see ILaunchConfiguration#getType()

-	 */

-	public ILaunchConfigurationType getType() throws CoreException {

-		return getInfo().getType();

-	}

-

-	/**

-	 * @see ILaunchConfiguration#isLocal()

-	 */

-	public boolean isLocal() {

-		return  getFile() == null;

-	}

-

-	/**

-	 * @see ILaunchConfiguration#getWorkingCopy()

-	 */

-	public ILaunchConfigurationWorkingCopy getWorkingCopy() throws CoreException {

-		return new LaunchConfigurationWorkingCopy(this);

-	}

-	

-	/**

-	 * @see ILaunchConfiguration#copy(String name)

-	 */

-	public ILaunchConfigurationWorkingCopy copy(String name) throws CoreException {

-		ILaunchConfigurationWorkingCopy copy = new LaunchConfigurationWorkingCopy(this, name);

-		return copy;

-	}	

-

-	/**

-	 * @see ILaunchConfiguration#isWorkingCopy()

-	 */

-	public boolean isWorkingCopy() {

-		return false;

-	}

-

-	/**

-	 * @see ILaunchConfiguration#delete()

-	 */

-	public void delete() throws CoreException {

-		if (exists()) {

-			if (isLocal()) {

-				if (!(getLocation().toFile().delete())) {

-					throw new DebugException(

-						new Status(Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-						 DebugException.REQUEST_FAILED, DebugCoreMessages.getString("LaunchConfiguration.Failed_to_delete_launch_configuration._1"), null) //$NON-NLS-1$

-					);

-				}

-				// manually update the launch manager cache since there

-				// will be no resource delta

-				getLaunchManager().launchConfigurationDeleted(this);

-			} else {

-				// delete the resource using IFile API such that

-				// resource deltas are fired.

-				IResource file = getFile();

-				if (file != null) {

-					file.delete(true, null);

-				} else {

-					// Error - the exists test passed, but could not locate file 

-				}

-			}

-		}

-	}

-	

-	/**

-	 * Returns the info object containing the attributes

-	 * of this configuration

-	 * 

-	 * @return info for this handle

-	 * @exception CoreException if unable to retrieve the

-	 *  info object

-	 */

-	protected LaunchConfigurationInfo getInfo() throws CoreException {

-		return getLaunchManager().getInfo(this);

-	}

-	

-	/**

-	 * Returns the launch configuration delegate for this

-	 * launch configuration.

-	 * 

-	 * @return launch configuration delegate

-	 * @exception CoreException if the delegate was unable

-	 *  to be created

-	 */

-	protected ILaunchConfigurationDelegate getDelegate() throws CoreException {

-		return ((LaunchConfigurationType)getType()).getDelegate();

-	}

-	

-	/**

-	 * Returns the launch manager

-	 * 

-	 * @return launch manager

-	 */

-	protected LaunchManager getLaunchManager() {

-		return (LaunchManager)DebugPlugin.getDefault().getLaunchManager();

-	}

-

-	/**

-	 * @see ILaunchConfiguration#getMemento()

-	 */

-	public String getMemento() throws CoreException {

-		IPath relativePath = null;

-		if (isLocal()) {

-			IPath rootPath = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;

-			IPath configPath = getLocation();

-			relativePath = configPath.removeFirstSegments(rootPath.segmentCount());

-		} else {

-			relativePath = getFile().getFullPath();

-		}

-		relativePath = relativePath.setDevice(null);

-		

-		Document doc = new DocumentImpl();

-		Element node = doc.createElement("launchConfiguration"); //$NON-NLS-1$

-		doc.appendChild(node);

-		node.setAttribute("local", (new Boolean(isLocal())).toString()); //$NON-NLS-1$

-		node.setAttribute("path", relativePath.toString()); //$NON-NLS-1$

-		

-		try {

-			return LaunchManager.serializeDocument(doc);

-		} catch (IOException e) {

-			IStatus status = newStatus(DebugCoreMessages.getString("LaunchConfiguration.Exception_occurred_creating_launch_configuration_memento_9"), DebugException.INTERNAL_ERROR,  e); //$NON-NLS-1$

-			throw new CoreException(status);

-		}

-	}

-

-	/**

-	 * @see ILaunchConfiguration#getFile()

-	 */	

-	public IFile getFile() {

-		return ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(getLocation());

-	}

-

-	/**

-	 * @see ILaunchConfiguration#contentsEqual(ILaunchConfiguration)

-	 */

-	public boolean contentsEqual(ILaunchConfiguration object) {

-		try {

-			if (object instanceof LaunchConfiguration) {

-				LaunchConfiguration otherConfig = (LaunchConfiguration) object;

-				return getName().equals(otherConfig.getName())

-				 	 && getType().equals(otherConfig.getType())

-				 	 && getLocation().equals(otherConfig.getLocation())

-					 && getInfo().equals(otherConfig.getInfo());

-			}

-			return false;

-		} catch (CoreException ce) {

-			return false;

-		}

-	}

-

-	/**

-	 * Returns whether this configuration is equal to the

-	 * given configuration. Two configurations are equal if

-	 * they are stored in the same location (and neither one

-	 * is a working copy).

-	 * 

-	 * @return whether this configuration is equal to the

-	 *  given configuration

-	 * @see Object#equals(Object)

-	 */

-	public boolean equals(Object object) {

-		if (object instanceof ILaunchConfiguration) {

-			if (isWorkingCopy()) {

-				return this == object;

-			} 

-			ILaunchConfiguration config = (ILaunchConfiguration) object;

-			if (!config.isWorkingCopy()) {

-				return config.getLocation().equals(getLocation());

-			}

-		}

-		return false;

-	}

-	

-	/**

-	 * @see Object#hashCode()

-	 */

-	public int hashCode() {

-		return getLocation().hashCode();

-	}

-	

-	/**

-	 * Returns the container this launch configuration is 

-	 * stored in, or <code>null</code> if this launch configuration

-	 * is stored locally.

-	 * 

-	 * @return the container this launch configuration is 

-	 * stored in, or <code>null</code> if this launch configuration

-	 * is stored locally

-	 */

-	protected IContainer getContainer() {

-		IFile file = getFile();

-		if (file != null) {

-			return file.getParent();

-		}

-		return null;

-	}

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
deleted file mode 100644
index 16dbe73..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.debug.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import java.util.Comparator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Proxy to a runtime classpath entry resolver extension.
- */
-public class LaunchConfigurationComparator implements Comparator {
-
-	private IConfigurationElement fConfigurationElement;
-	
-	private Comparator fDelegate;
-	
-	/**
-	 * Constructs a new resolver on the given configuration element
-	 */
-	public LaunchConfigurationComparator(IConfigurationElement element) {
-		fConfigurationElement = element;
-	}
-		
-	/**
-	 * Returns the resolver delegate (and creates if required) 
-	 */
-	protected Comparator getComparator() {
-		if (fDelegate == null) {
-			try {
-				fDelegate = (Comparator)fConfigurationElement.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		return fDelegate;
-	}
-	
-
-	/**
-	 * @see Comparator#compare(Object, Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		return getComparator().compare(o1, o2);
-	}
-
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		return getComparator().equals(obj);
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
deleted file mode 100644
index db8071f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
+++ /dev/null
@@ -1,521 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.io.IOException;

-import java.text.MessageFormat;

-import java.util.ArrayList;

-import java.util.Comparator;

-import java.util.HashMap;

-import java.util.Iterator;

-import java.util.List;

-import java.util.Map;

-

-import org.apache.xerces.dom.DocumentImpl;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunchConfigurationType;

-import org.w3c.dom.Document;

-import org.w3c.dom.Element;

-import org.w3c.dom.Node;

-import org.w3c.dom.NodeList;

- 

-/**

- * The information associated with a launch configuration

- * handle.

- */

-public class LaunchConfigurationInfo {

-

-	/**

-	 * This configurations attribute table.

-	 * Keys are <code>String</code>s and values

-	 * are one of <code>String</code>, <code>Integer</code>,

-	 * or <code>Boolean</code>.

-	 */

-	private HashMap fAttributes;

-	

-	/**

-	 * This launch configuration's type

-	 */

-	private ILaunchConfigurationType fType;

-	

-	/**

-	 * Constructs a new empty info

-	 */

-	protected LaunchConfigurationInfo() {

-		setAttributeTable(new HashMap(10));

-	}

-	

-	/**

-	 * Returns this configuration's attribute table.

-	 * 

-	 * @return attribute table

-	 */

-	private HashMap getAttributeTable() {

-		return fAttributes;

-	}

-

-	/**

-	 * Sets this configuration's attribute table.

-	 * 

-	 * @param table attribute table

-	 */	

-	private void setAttributeTable(HashMap table) {

-		fAttributes = table;

-	}

-	

-	/**

-	 * Returns the <code>String</code> attribute with the

-	 * given key or the given default value if undefined.

-	 * 

-	 * @return attribute specified by given key or the defaultValue

-	 *  if undefined

-	 * @exception if the attribute with the given key exists

-	 *  but is not a <code>String</code>

-	 */

-	protected String getStringAttribute(String key, String defaultValue) throws CoreException {

-		Object attr = getAttributeTable().get(key);

-		if (attr != null) {

-			if (attr instanceof String) {

-				return (String)attr;

-			} else {

-				throw new DebugException(

-					new Status(

-					 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.lang.String._1"), new String[] {key}), null //$NON-NLS-1$

-					)

-				);

-			}

-		}

-		return defaultValue;

-	}

-	

-	/**

-	 * Returns the <code>int</code> attribute with the

-	 * given key or the given default value if undefined.

-	 * 

-	 * @return attribute specified by given key or the defaultValue

-	 *  if undefined

-	 * @exception if the attribute with the given key exists

-	 *  but is not an <code>int</code>

-	 */

-	protected int getIntAttribute(String key, int defaultValue) throws CoreException {

-		Object attr = getAttributeTable().get(key);

-		if (attr != null) {

-			if (attr instanceof Integer) {

-				return ((Integer)attr).intValue();

-			} else {

-				throw new DebugException(

-					new Status(

-					 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_int._2"), new String[] {key}), null //$NON-NLS-1$

-					)

-				);

-			}

-		}

-		return defaultValue;

-	}

-	

-	/**

-	 * Returns the <code>boolean</code> attribute with the

-	 * given key or the given default value if undefined.

-	 * 

-	 * @return attribute specified by given key or the defaultValue

-	 *  if undefined

-	 * @exception if the attribute with the given key exists

-	 *  but is not a <code>boolean</code>

-	 */

-	protected boolean getBooleanAttribute(String key, boolean defaultValue) throws CoreException {

-		Object attr = getAttributeTable().get(key);

-		if (attr != null) {

-			if (attr instanceof Boolean) {

-				return ((Boolean)attr).booleanValue();

-			} else {

-				throw new DebugException(

-					new Status(

-					 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_boolean._3"), new String[] {key}), null //$NON-NLS-1$

-					)

-				);

-			}

-		}

-		return defaultValue;

-	}

-	

-	/**

-	 * Returns the <code>java.util.List</code> attribute with the

-	 * given key or the given default value if undefined.

-	 * 

-	 * @return attribute specified by given key or the defaultValue

-	 *  if undefined

-	 * @exception if the attribute with the given key exists

-	 *  but is not a <code>java.util.List</code>

-	 */

-	protected List getListAttribute(String key, List defaultValue) throws CoreException {

-		Object attr = getAttributeTable().get(key);

-		if (attr != null) {

-			if (attr instanceof List) {

-				return (List)attr;

-			} else {

-				throw new DebugException(

-					new Status(

-					 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.util.List._1"), new String[] {key}), null //$NON-NLS-1$

-					)

-				);

-			}

-		}

-		return defaultValue;

-	}

-	

-	/**

-	 * Returns the <code>java.util.Map</code> attribute with the

-	 * given key or the given default value if undefined.

-	 * 

-	 * @return attribute specified by given key or the defaultValue

-	 *  if undefined

-	 * @exception if the attribute with the given key exists

-	 *  but is not a <code>java.util.Map</code>

-	 */

-	protected Map getMapAttribute(String key, Map defaultValue) throws CoreException {

-		Object attr = getAttributeTable().get(key);

-		if (attr != null) {

-			if (attr instanceof Map) {

-				return (Map)attr;

-			} else {

-				throw new DebugException(

-					new Status(

-					 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.util.Map._1"), new String[] {key}), null //$NON-NLS-1$

-					)

-				);

-			}

-		}

-		return defaultValue;

-	}

-	

-	/** 

-	 * Sets this configuration's type.

-	 * 

-	 * @param type launch configuration type

-	 */

-	protected void setType(ILaunchConfigurationType type) {

-		fType = type;

-	}

-	

-	/** 

-	 * Returns this configuration's type.

-	 * 

-	 * @return launch configuration type

-	 */

-	protected ILaunchConfigurationType getType() {

-		return fType;

-	}	

-	

-	

-	/**

-	 * Returns a copy of this info object

-	 * 

-	 * @return copy of this info

-	 */

-	protected LaunchConfigurationInfo getCopy() {

-		LaunchConfigurationInfo copy = new LaunchConfigurationInfo();

-		copy.setType(getType());

-		copy.setAttributeTable((HashMap)getAttributeTable().clone());

-		return copy;

-	}

-	

-	/**

-	 * Sets the given attribute to the given value. Only

-	 * working copy's should use this API.

-	 * 

-	 * @param key attribute key

-	 * @param value attribuet value

-	 */

-	protected void setAttribute(String key, Object value) {

-		if (value == null) {

-			getAttributeTable().remove(key);

-		} else {

-			getAttributeTable().put(key, value);

-		}

-	}

-	

-	/**

-	 * Returns the content of this info as XML

-	 * 

-	 * @return the content of this info as XML

-	 * @exception IOException if an exception occurs creating the XML

-	 */

-	protected String getAsXML() throws IOException {

-

-		Document doc = new DocumentImpl();

-		Element configRootElement = doc.createElement("launchConfiguration"); //$NON-NLS-1$

-		doc.appendChild(configRootElement);

-		

-		configRootElement.setAttribute("type", getType().getIdentifier()); //$NON-NLS-1$

-		

-		Iterator keys = getAttributeTable().keySet().iterator();

-		while (keys.hasNext()) {

-			String key = (String)keys.next();

-			Object value = getAttributeTable().get(key);

-			if (value == null) {

-				continue;

-			}

-			Element element = null;

-			String valueString = null;

-			if (value instanceof String) {

-				valueString = (String)value;

-				element = createKeyValueElement(doc, "stringAttribute", key, valueString); //$NON-NLS-1$

-			} else if (value instanceof Integer) {

-				valueString = ((Integer)value).toString();

-				element = createKeyValueElement(doc, "intAttribute", key, valueString); //$NON-NLS-1$

-			} else if (value instanceof Boolean) {

-				valueString = ((Boolean)value).toString();

-				element = createKeyValueElement(doc, "booleanAttribute", key, valueString); //$NON-NLS-1$

-			} else if (value instanceof List) {				

-				element = createListElement(doc, "listAttribute", key, (List)value); //$NON-NLS-1$

-			} else if (value instanceof Map) {				

-				element = createMapElement(doc, "mapAttribute", key, (Map)value); //$NON-NLS-1$

-			}			

-			configRootElement.appendChild(element);

-		}

-

-		return LaunchManager.serializeDocument(doc);

-	}

-	

-	/**

-	 * Helper method that creates a 'key value' element of the specified type with the 

-	 * specified attribute values.

-	 */

-	protected Element createKeyValueElement(Document doc, String elementType, String key, String value) {

-		Element element = doc.createElement(elementType);

-		element.setAttribute("key", key); //$NON-NLS-1$

-		element.setAttribute("value", value); //$NON-NLS-1$

-		return element;

-	}

-	

-	protected Element createListElement(Document doc, String elementType, String listKey, List list) {

-		Element listElement = doc.createElement(elementType);

-		listElement.setAttribute("key", listKey); //$NON-NLS-1$

-		Iterator iterator = list.iterator();

-		while (iterator.hasNext()) {

-			String value = (String) iterator.next();

-			Element element = doc.createElement("listEntry"); //$NON-NLS-1$

-			element.setAttribute("value", value); //$NON-NLS-1$

-			listElement.appendChild(element);

-		}		

-		return listElement;

-	}

-	

-	protected Element createMapElement(Document doc, String elementType, String mapKey, Map map) {

-		Element mapElement = doc.createElement(elementType);

-		mapElement.setAttribute("key", mapKey); //$NON-NLS-1$

-		Iterator iterator = map.keySet().iterator();

-		while (iterator.hasNext()) {

-			String key = (String) iterator.next();

-			String value = (String) map.get(key);

-			Element element = doc.createElement("mapEntry"); //$NON-NLS-1$

-			element.setAttribute("key", key); //$NON-NLS-1$

-			element.setAttribute("value", value); //$NON-NLS-1$

-			mapElement.appendChild(element);

-		}		

-		return mapElement;		

-	}

-	

-	protected void initializeFromXML(Element root) throws CoreException {

-		if (!root.getNodeName().equalsIgnoreCase("launchConfiguration")) { //$NON-NLS-1$

-			throw getInvalidFormatDebugException();

-		}

-		

-		// read type

-		String id = root.getAttribute("type"); //$NON-NLS-1$

-		if (id == null) {

-			throw getInvalidFormatDebugException();

-		} else {

-			ILaunchConfigurationType type = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(id);

-			if (type == null) {

-				String message= MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationInfo.Launch_configuration_type_id___{0}___does_not_exist._nPossible_causes__n_tMissing_specification_of_a_launch_type_(missing_plugin)_n_tIncorrect_launch_configuration_XML_1"), new Object[]{id}); //$NON-NLS-1$

-				throw new DebugException(

-						new Status(

-						 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-						 DebugException.REQUEST_FAILED, message, null)

-					);

-			}

-			setType(type);

-		}

-		

-		NodeList list = root.getChildNodes();

-		int length = list.getLength();

-		for (int i = 0; i < length; ++i) {

-			Node node = list.item(i);

-			short type = node.getNodeType();

-			if (type == Node.ELEMENT_NODE) {

-				Element element = (Element) node;

-				String nodeName = element.getNodeName();

-				

-				if (nodeName.equalsIgnoreCase("stringAttribute")) { //$NON-NLS-1$

-					setStringAttribute(element);

-				} else if (nodeName.equalsIgnoreCase("intAttribute")) { //$NON-NLS-1$

-					setIntegerAttribute(element);

-				} else if (nodeName.equalsIgnoreCase("booleanAttribute"))  { //$NON-NLS-1$

-					setBooleanAttribute(element);

-				} else if (nodeName.equalsIgnoreCase("listAttribute")) {   //$NON-NLS-1$

-					setListAttribute(element);					

-				} else if (nodeName.equalsIgnoreCase("mapAttribute")) {    //$NON-NLS-1$

-					setMapAttribute(element);										

-				}

-			}

-		}

-	}	

-	

-	protected void setStringAttribute(Element element) throws CoreException {

-		String key = getKeyAttribute(element);

-		String value = getValueAttribute(element);

-		setAttribute(key, value);

-	}

-	

-	protected void setIntegerAttribute(Element element) throws CoreException {

-		String key = getKeyAttribute(element);

-		String value = getValueAttribute(element);

-		setAttribute(key, new Integer(value));

-	}

-	

-	protected void setBooleanAttribute(Element element) throws CoreException {

-		String key = getKeyAttribute(element);

-		String value = getValueAttribute(element);

-		setAttribute(key, new Boolean(value));

-	}

-	

-	protected void setListAttribute(Element element) throws CoreException {

-		String listKey = element.getAttribute("key");  //$NON-NLS-1$

-		NodeList nodeList = element.getChildNodes();

-		int entryCount = nodeList.getLength();

-		List list = new ArrayList(entryCount);

-		for (int i = 0; i < entryCount; i++) {

-			Node node = nodeList.item(i);

-			short type = node.getNodeType();

-			if (type == Node.ELEMENT_NODE) {

-				Element subElement = (Element) node;

-				String nodeName = subElement.getNodeName();				

-				if (!nodeName.equalsIgnoreCase("listEntry")) { //$NON-NLS-1$

-					throw getInvalidFormatDebugException();

-				}

-				String value = getValueAttribute(subElement);

-				list.add(value);

-			}

-		}

-		setAttribute(listKey, list);

-	}

-		

-	protected void setMapAttribute(Element element) throws CoreException {

-		String mapKey = element.getAttribute("key");  //$NON-NLS-1$

-		NodeList nodeList = element.getChildNodes();

-		int entryCount = nodeList.getLength();

-		Map map = new HashMap(entryCount);

-		for (int i = 0; i < entryCount; i++) {

-			Node node = nodeList.item(i);

-			short type = node.getNodeType();

-			if (type == Node.ELEMENT_NODE) {

-				Element subElement = (Element) node;

-				String nodeName = subElement.getNodeName();				

-				if (!nodeName.equalsIgnoreCase("mapEntry")) { //$NON-NLS-1$

-					throw getInvalidFormatDebugException();

-				}

-				String key = getKeyAttribute(subElement);

-				String value = getValueAttribute(subElement);

-				map.put(key, value);

-			}

-		}

-		setAttribute(mapKey, map);

-	}

-		

-	protected String getKeyAttribute(Element element) throws CoreException {

-		String key = element.getAttribute("key");   //$NON-NLS-1$

-		if (key == null) {

-			throw getInvalidFormatDebugException();

-		}

-		return key;

-	}

-	

-	protected String getValueAttribute(Element element) throws CoreException {

-		String value = element.getAttribute("value");   //$NON-NLS-1$

-		if (value == null) {

-			throw getInvalidFormatDebugException();

-		}

-		return value;

-	}

-	

-	protected DebugException getInvalidFormatDebugException() {

-		return 

-			new DebugException(

-				new Status(

-				 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-				 DebugException.REQUEST_FAILED, DebugCoreMessages.getString("LaunchConfigurationInfo.Invalid_launch_configuration_XML._10"), null //$NON-NLS-1$

-				)

-			);

-	}

-	

-	/**

-	 * Two <code>LaunchConfigurationInfo</code> objects are equal if and only if they have the

-	 * same type and they have the same set of attributes with the same values.

-	 * 

-	 * @see Object#equals(Object)

-	 */

-	public boolean equals(Object obj) {

-		

-		// Make sure it's a LaunchConfigurationInfo object

-		if (!(obj instanceof LaunchConfigurationInfo)) {

-			return false;

-		}

-		

-		// Make sure the types are the same

-		LaunchConfigurationInfo other = (LaunchConfigurationInfo) obj;

-		if (!fType.getIdentifier().equals(other.getType().getIdentifier())) {

-			return false;

-		}

-		

-		// Make sure the attributes are the same

-		return compareAttributes(fAttributes, other.getAttributeTable());

-	}

-	

-	/**

-	 * Returns whether the two attribute maps are equal, consulting

-	 * registered comparator extensions.

-	 * 

-	 * @param map1 attribute map

-	 * @param map2 attribute map

-	 * @return whether the two attribute maps are equal

-	 */

-	protected boolean compareAttributes(HashMap map1, HashMap map2) {

-		LaunchManager manager = (LaunchManager)DebugPlugin.getDefault().getLaunchManager();

-		if (map1.size() == map2.size()) {

-			Iterator attributes = map1.keySet().iterator();

-			while (attributes.hasNext()) {

-				String key = (String)attributes.next();

-				Object attr1 = map1.get(key);

-				Object attr2 = map2.get(key);

-				if (attr2 == null) {

-					return false;

-				}

-				Comparator comp = manager.getComparator(key);

-				if (comp == null) {

-					if (!attr1.equals(attr2)) {

-						return false;

-					}

-				} else {

-					if (comp.compare(attr1, attr2) != 0) {

-						return false;

-					}

-				}

-			}

-			return true;	

-		}

-		return false;

-	}

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
deleted file mode 100644
index 0fcafde..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.util.HashSet;

-import java.util.Set;

-import java.util.StringTokenizer;

-

-import org.eclipse.core.resources.IContainer;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.debug.core.ILaunchConfigurationType;

-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;

-

-/**

- * A launch configuration type wrappers a configuration

- * element for a <code>launchConfigurationType</code>

- * extension.

- */

-public class LaunchConfigurationType implements ILaunchConfigurationType {

-	

-	/**

-	 * The configuration element of the extension.

-	 */

-	private IConfigurationElement fElement;

-	

-	/**

-	 * Modes this type supports.

-	 */

-	private Set fModes;

-	

-	/**

-	 * The delegate for launch configurations of this type.

-	 * Delegates are instantiated lazily as required.

-	 */

-	private ILaunchConfigurationDelegate fDelegate;

-	

-	/**

-	 * Constructs a new launch configuration type on the

-	 * given configuration element.

-	 * 

-	 * @param element configuration element

-	 */

-	protected LaunchConfigurationType(IConfigurationElement element) {

-		setConfigurationElement(element);

-	}

-	

-	/**

-	 * Sets this type's configuration element.

-	 * 

-	 * @param element this type's configuration element

-	 */

-	private void setConfigurationElement(IConfigurationElement element) {

-		fElement = element;

-	}

-	

-	/**

-	 * Returns this type's configuration element.

-	 * 

-	 * @return this type's configuration element

-	 */

-	protected IConfigurationElement getConfigurationElement() {

-		return fElement;

-	}	

-

-

-	/**

-	 * @see ILaunchConfigurationType#supportsMode(String)

-	 */

-	public boolean supportsMode(String mode) {

-		return getModes().contains(mode);

-	}

-

-	/**

-	 * Returns the set of modes specified in the configuration data.

-	 * 

-	 * @return the set of modes specified in the configuration data

-	 */

-	protected Set getModes() {

-		if (fModes == null) {

-			String modes= getConfigurationElement().getAttribute("modes"); //$NON-NLS-1$

-			if (modes == null) {

-				return new HashSet(0);

-			}

-			StringTokenizer tokenizer= new StringTokenizer(modes, ","); //$NON-NLS-1$

-			fModes = new HashSet(tokenizer.countTokens());

-			while (tokenizer.hasMoreTokens()) {

-				fModes.add(tokenizer.nextToken().trim());

-			}

-		}

-		return fModes;

-	}

-	

-	/**

-	 * @see ILaunchConfigurationType#getName()

-	 */

-	public String getName() {

-		return getConfigurationElement().getAttribute("name"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see ILaunchConfigurationType#getIdentifier()

-	 */

-	public String getIdentifier() {

-		return getConfigurationElement().getAttribute("id"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see ILaunchConfigurationType#isPublic()

-	 */

-	public boolean isPublic() {

-		String publicString = getConfigurationElement().getAttribute("public"); //$NON-NLS-1$

-		if (publicString != null) {

-			if (publicString.equalsIgnoreCase("false")) { //$NON-NLS-1$

-				return false;

-			}

-		} 

-		return true;

-	}

-

-	/**

-	 * @see ILaunchConfigurationType#newInstance(IContainer, String)

-	 */

-	public ILaunchConfigurationWorkingCopy newInstance(

-		IContainer container,

-		String name)

-		throws CoreException {

-			return new LaunchConfigurationWorkingCopy(container, name, this);

-	}

-	

-	/**

-	 * Returns the launch configuration delegate for launch

-	 * configurations of this type. The first time this method

-	 * is called, the delegate is instantiated.

-	 * 

-	 * @return launch configuration delegate

-	 * @exception CoreException if unable to instantiate the

-	 *  delegate

-	 */

-	public ILaunchConfigurationDelegate getDelegate() throws CoreException {

-		if (fDelegate == null) {

-			fDelegate = (ILaunchConfigurationDelegate)getConfigurationElement().createExecutableExtension("delegate"); //$NON-NLS-1$

-		}

-		return fDelegate;

-	}

-

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
deleted file mode 100644
index b2b560b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,489 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.io.ByteArrayInputStream;

-import java.io.File;

-import java.io.FileOutputStream;

-import java.io.IOException;

-import java.text.MessageFormat;

-import java.util.List;

-import java.util.Map;

-

-import org.eclipse.core.resources.IContainer;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.resources.IWorkspaceRunnable;

-import org.eclipse.core.resources.ResourcesPlugin;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IPath;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.core.ILaunchConfigurationType;

-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-

-/**

- * A working copy launch configuration

- */

-public class LaunchConfigurationWorkingCopy extends LaunchConfiguration implements ILaunchConfigurationWorkingCopy {

-	

-	/**

-	 * Handle of original launch configuration this

-	 * working copy is based on

-	 */

-	private LaunchConfiguration fOriginal;

-	

-	/**

-	 * Working copy of attributes.

-	 */

-	private LaunchConfigurationInfo fInfo;

-	

-	/**

-	 * Whether this working copy has been modified since

-	 * it was created

-	 */

-	private boolean fDirty = false;

-	

-	/**

-	 * The name for this configuration.

-	 */

-	private String fName;

-	

-	/**

-	 * Indicates whether this working copy has been explicitly renamed.

-	 */

-	private boolean fRenamed = false;

-	

-	/**

-	 * Suppress change notification until created

-	 */

-	private boolean fSuppressChange = true;

-	

-	/**

-	 * The container this working copy will be

-	 * stored in when saved.

-	 */

-	private IContainer fContainer;

-

-	/**

-	 * Constructs a working copy of the specified launch 

-	 * configuration.

-	 * 

-	 * @param original launch configuration to make

-	 *  a working copy of

-	 * @exception CoreException if unable to initialize this

-	 *  working copy's attributes based on the original configuration

-	 */

-	protected LaunchConfigurationWorkingCopy(LaunchConfiguration original) throws CoreException {

-		super(original.getLocation());

-		setName(original.getName());

-		copyFrom(original);

-		setOriginal(original);

-		fSuppressChange = false;

-	}

-	

-	/**

-	 * Constructs a copy of the specified launch 

-	 * configuration, with the given (new) name.

-	 * 

-	 * @param original launch configuration to make

-	 *  a working copy of

-	 * @param name the new name for the copy of the launch

-	 *  configuration

-	 * @exception CoreException if unable to initialize this

-	 *  working copy's attributes based on the original configuration

-	 */

-	protected LaunchConfigurationWorkingCopy(LaunchConfiguration original, String name) throws CoreException {

-		super(original.getLocation());

-		copyFrom(original);

-		setName(name);

-		fSuppressChange = false;

-	}

-	

-	/**

-	 * Constructs a new working copy to be created in the specified

-	 * location.

-	 * 

-	 * @param container the container that the configuration will be created in

-	 *  or <code>null</code> if to be local

-	 * @param name the name of the new launch configuration

-	 * @param type the type of this working copy

-	 */

-	protected LaunchConfigurationWorkingCopy(IContainer container, String name, ILaunchConfigurationType type) {

-		super((IPath)null);

-		setName(name);

-		setInfo(new LaunchConfigurationInfo());

-		getInfo().setType(type);

-		setContainer(container);

-		fSuppressChange = false;

-	}

-

-	/**

-	 * @see ILaunchConfigurationWorkingCopy#isDirty()

-	 */

-	public boolean isDirty() {

-		return fDirty;

-	}

-

-	/**

-	 * @see ILaunchConfigurationWorkingCopy#doSave()

-	 */

-	public ILaunchConfiguration doSave() throws CoreException {

-		if (isDirty()) {

-			IWorkspaceRunnable wr = new IWorkspaceRunnable() {

-				public void run(IProgressMonitor pm) throws CoreException {

-					// write the new file

-					LaunchConfigurationWorkingCopy.this.writeNewFile();

-					// delete the old file if this is not a new configuration

-					// or the file was renamed/moved

-					if (!LaunchConfigurationWorkingCopy.this.isNew()) {

-						if (LaunchConfigurationWorkingCopy.this.isMoved()) {

-							LaunchConfigurationWorkingCopy.this.getOriginal().delete();

-						}

-					}

-					resetDirty();

-				}

-			};

-			

-			ResourcesPlugin.getWorkspace().run(wr, null);

-		}

-		

-		return new LaunchConfiguration(getLocation());		

-	}

-	

-	/**

-	 * Writes the new configuration information to a file.

-	 * 

-	 * @exception CoreException if writing the file fails

-	 */

-	protected void writeNewFile() throws CoreException {

-		String xml = null;

-		try {

-			xml = getInfo().getAsXML();

-		} catch (IOException e) {

-			throw new DebugException(

-				new Status(

-				 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationWorkingCopy.{0}_occurred_generating_launch_configuration_XML._1"), new String[]{e.toString()}), null //$NON-NLS-1$

-				)

-			);					

-		}

-		

-		if (isLocal()) {

-			// use java.io to update configuration file

-			try {

-				boolean added = false;

-				File file = getLocation().toFile();

-				File dir = getLocation().removeLastSegments(1).toFile();

-				dir.mkdirs();

-				if (!file.exists()) {

-					added = true;

-					file.createNewFile();

-				}

-				FileOutputStream stream = new FileOutputStream(file);

-				stream.write(xml.getBytes("UTF8")); //$NON-NLS-1$

-				stream.close();

-				if (added) {

-					getLaunchManager().launchConfigurationAdded(new LaunchConfiguration(getLocation()));

-				} else {

-					getLaunchManager().launchConfigurationChanged(new LaunchConfiguration(getLocation()));

-				}

-			} catch (IOException e) {

-				throw new DebugException(

-					new Status(

-					 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationWorkingCopy.{0}_occurred_generating_launch_configuration_XML._1"), new String[]{e.toString()}), null //$NON-NLS-1$

-					)

-				);				

-			}

-		} else {

-			// use resource API to update configuration file

-			IFile file = getFile();

-			IContainer dir = file.getParent();

-			if (!dir.exists()) {

-				throw new DebugException(

-					new Status(

-					 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-					 DebugException.REQUEST_FAILED, DebugCoreMessages.getString("LaunchConfigurationWorkingCopy.Specified_container_for_launch_configuration_does_not_exist_2"), null //$NON-NLS-1$

-					)

-				);				

-			}

-			ByteArrayInputStream stream = new ByteArrayInputStream(xml.getBytes());

-			if (!file.exists()) {

-				file.create(stream, false, null);

-				//getLaunchManager().launchConfigurationAdded(new LaunchConfiguration(getLocation()));

-			} else {

-				file.setContents(stream, false, false, null);

-				//getLaunchManager().launchConfigurationChanged(new LaunchConfiguration(getLocation()));

-			}

-		}		

-	}

-

-	/**

-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, int)

-	 */

-	public void setAttribute(String attributeName, int value) {

-		getInfo().setAttribute(attributeName, new Integer(value));

-		setDirty();

-	}

-

-	/**

-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, String)

-	 */

-	public void setAttribute(String attributeName, String value) {

-		getInfo().setAttribute(attributeName, value);

-		setDirty();

-	}

-

-	/**

-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, boolean)

-	 */

-	public void setAttribute(String attributeName, boolean value) {

-		getInfo().setAttribute(attributeName, new Boolean(value));

-		setDirty();	

-	}

-

-	/**

-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, List)

-	 */

-	public void setAttribute(String attributeName, List value) {

-		getInfo().setAttribute(attributeName, value);

-		setDirty();

-	}

-

-	/**

-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, Map)

-	 */

-	public void setAttribute(String attributeName, Map value) {

-		getInfo().setAttribute(attributeName, value);

-		setDirty();

-	}

-

-	/**

-	 * @see ILaunchConfigurationWorkingCopy#getOriginal()

-	 */

-	public ILaunchConfiguration getOriginal() {

-		return fOriginal;

-	}

-	

-	/**

-	 * Sets the launch configuration this working copy

-	 * is based on. Initializes the attributes of this

-	 * working copy to the current values of the given

-	 * configuration.

-	 * 

-	 * @param originl the launch configuration this working

-	 *  copy is based on.

-	 * @exception CoreException if unable to initialize this

-	 *  working copy based on the original's current attribute

-	 *  set

-	 */

-	private void copyFrom(LaunchConfiguration original) throws CoreException {

-		LaunchConfigurationInfo info = original.getInfo();

-		setInfo(info.getCopy());

-		setContainer(original.getContainer());

-		resetDirty();

-	}

-	

-	/**

-	 * Sets the launch configuration this working copy

-	 * is based on.

-	 * 

-	 * @param originl the launch configuration this working

-	 *  copy is based on.

-	 */

-	private void setOriginal(LaunchConfiguration original) {

-		fOriginal = original;

-	}	

-	

-	/**

-	 * Sets the working copy info object for this working copy.

-	 * 

-	 * @param info a copy of attributes from this working copy's

-	 * 	original launch configuration

-	 */

-	protected void setInfo(LaunchConfigurationInfo info) {

-		fInfo = info;

-	}

-

-	/**

-	 * @see ILaunchConfiguration#isWorkingCopy()

-	 */

-	public boolean isWorkingCopy() {

-		return true;

-	}

-	

-	/**

-	 * A working copy keeps a local info object that is not

-	 * cached with the launch manager.

-	 * 

-	 * @see LaunchConfiguration#getInfo()

-	 */

-	protected LaunchConfigurationInfo getInfo() {

-		return fInfo;

-	}

-	

-	/**

-	 * Sets this working copy's state to dirty.

-	 * Notifies listeners that this working copy has

-	 * changed.

-	 */

-	private void setDirty() {

-		fDirty = true;

-		if (!suppressChangeNotification()) {

-			getLaunchManager().notifyChanged(this);

-		}	

-	}

-	

-	/**

-	 * Sets this working copy's state to not dirty.

-	 */

-	private void resetDirty() {

-		fDirty = false;

-	}	

-		

-	/**

-	 * @see ILaunchConfigurationWorkingCopy#rename(String)

-	 */

-	public void rename(String name) {

-		if (!getName().equals(name)) {

-			setName(name);

-			fRenamed = isNew() || !(getOriginal().getName().equals(name));

-		}

-	}

-

-	/**

-	 * Sets the new name for this configuration.

-	 * 

-	 * @param name the new name for this configuration

-	 */

-	private void setName(String name) {

-		fName = name;

-		setDirty();

-	}

-	

-	/**

-	 * @see ILaunchConfiguration#getName()

-	 */

-	public String getName() {

-		return fName;

-	}

-	

-	/**

-	 * @see ILaunchConfiguration#isLocal()

-	 */

-	public boolean isLocal() {

-		return getContainer() == null;

-	}	

-	

-	/**

-	 * Returns the location this launch configuration will reside at

-	 * when saved.

-	 * 

-	 * @see ILaunchConfiguration#getLocation()

-	 */

-	public IPath getLocation() {

-		if (isMoved()) {

-			IPath path = null;

-			if (isLocal()) {

-				path = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;

-			} else {

-				path = getContainer().getLocation();

-			}

-			path = path.append(getName() + "." + LAUNCH_CONFIGURATION_FILE_EXTENSION); //$NON-NLS-1$

-			return path;

-		} else {

-			return getOriginal().getLocation();

-		}

-	}

-	

-	/**

-	 * Returns whether this working copy is new, or is a

-	 * working copy of another launch configuration.

-	 * 

-	 * @return whether this working copy is new, or is a

-	 *  working copy of another launch configuration

-	 */

-	protected boolean isNew() {

-		return getOriginal() == null;

-	}

-	

-	/**

-	 * Returns whether this working copy is new or if its

-	 * location has changed from that of its original.

-	 * 

-	 * @return whether this working copy is new or if its

-	 * location has changed from that of its original

-	 */

-	protected boolean isMoved() {

-		if (isNew() || fRenamed) {

-			return true;

-		}

-		IContainer newContainer = getContainer();

-		IContainer originalContainer = ((LaunchConfiguration)getOriginal()).getContainer();

-		if (newContainer == originalContainer) {

-			return false;

-		}

-		if (newContainer == null) {

-			return !originalContainer.equals(newContainer);

-		} else {

-			return !newContainer.equals(originalContainer);

-		}

-	}		

-	

-	/**

-	 * A working copy cannot generate a memento.

-	 * 

-	 * @see ILaunchConfiguration#getMemento()

-	 */

-	public String getMemento() {

-		return null;

-	}	

-	

-	/**

-	 * Returns whether change notification should be

-	 * suppressed

-	 */

-	protected boolean suppressChangeNotification() {

-		return fSuppressChange;

-	}

-	

-	/**

-	 * @see ILaunchConfigurationWorkingCopy#setContainer(IContainer)

-	 */

-	public void setContainer(IContainer container) {

-		if (container == fContainer) {

-			return;

-		}

-		if (container != null) {

-			if (container.equals(fContainer)) {

-				return;

-			}

-		} else {

-			if (fContainer.equals(container)) {

-				return;

-			}

-		}

-		fContainer = container;

-		setDirty();

-	}

-	

-	/**

-	 * Returns the container this working copy will be

-	 * stored in when saved, or <code>null</code> if

-	 * this working copy is local.

-	 * 

-	 * @return the container this working copy will be

-	 *  stored in when saved, or <code>null</code> if

-	 *  this working copy is local

-	 */

-	protected IContainer getContainer() {

-		return fContainer;

-	}	

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
deleted file mode 100644
index 74ffab9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
+++ /dev/null
@@ -1,1111 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.io.ByteArrayOutputStream;

-import java.io.File;

-import java.io.FileInputStream;

-import java.io.FileNotFoundException;

-import java.io.FilenameFilter;

-import java.io.IOException;

-import java.io.InputStream;

-import java.io.OutputStreamWriter;

-import java.text.MessageFormat;

-import java.util.ArrayList;

-import java.util.Arrays;

-import java.util.Comparator;

-import java.util.HashMap;

-import java.util.Iterator;

-import java.util.List;

-import java.util.Map;

-import java.util.Vector;

-

-import javax.xml.parsers.DocumentBuilder;

-import javax.xml.parsers.DocumentBuilderFactory;

-import javax.xml.parsers.ParserConfigurationException;

-import org.apache.xml.serialize.Method;

-import org.apache.xml.serialize.OutputFormat;

-import org.apache.xml.serialize.Serializer;

-import org.apache.xml.serialize.SerializerFactory;

-import org.eclipse.core.resources.IContainer;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.resources.IProject;

-import org.eclipse.core.resources.IResource;

-import org.eclipse.core.resources.IResourceChangeEvent;

-import org.eclipse.core.resources.IResourceChangeListener;

-import org.eclipse.core.resources.IResourceDelta;

-import org.eclipse.core.resources.IResourceDeltaVisitor;

-import org.eclipse.core.resources.IWorkspace;

-import org.eclipse.core.resources.IWorkspaceRoot;

-import org.eclipse.core.resources.ResourcesPlugin;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.core.runtime.IExtensionPoint;

-import org.eclipse.core.runtime.IPath;

-import org.eclipse.core.runtime.IPluginDescriptor;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.core.ILaunchConfigurationListener;

-import org.eclipse.debug.core.ILaunchConfigurationType;

-import org.eclipse.debug.core.ILaunchListener;

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.core.model.IDebugTarget;

-import org.eclipse.debug.core.model.IPersistableSourceLocator;

-import org.eclipse.debug.core.model.IProcess;

-import org.w3c.dom.Document;

-import org.w3c.dom.Element;

-import org.w3c.dom.Node;

-import org.w3c.dom.NodeList;

-import org.xml.sax.InputSource;

-import org.xml.sax.SAXException;

-

-/**

- * Manages launch configurations, launch configuration types, and registered launches.

- *

- * @see ILaunchManager

- */

-public class LaunchManager implements ILaunchManager, IResourceChangeListener {

-	

-	/**

-	 * Collection of defined launch configuration type

-	 * extensions.

-	 */

-	private List fLaunchConfigurationTypes = null;

-	

-	/**

-	 * Launch configuration cache. Keys are <code>LaunchConfiguration</code>,

-	 * values are <code>LaunchConfigurationInfo</code>.

-	 */

-	private HashMap fLaunchConfigurations = new HashMap(10);

-	

-	/**

-	 * A cache of launch configuration names currently in the workspace.

-	 */

-	private String[] fSortedConfigNames = null;

-	

-	/**

-	 * Collection of all launch configurations in the workspace.

-	 * <code>List</code> of <code>ILaunchConfiguration</code>.

-	 */

-	private List fLaunchConfigurationIndex = null;

-	

-	/**

-	 * Launch configuration comparator extensions,

-	 * keyed by attribute name.

-	 */

-	private HashMap fComparators = null;

-	

-	/**

-	 * Constant for use as local name part of <code>QualifiedName</code>

-	 * for persisting the default launch configuration type.

-	 */

-	private static final String DEFAULT_CONFIG_TYPE = "defaultLaunchConfigurationType"; //$NON-NLS-1$

-	

-	/**

-	 * Types of notifications

-	 */

-	public static final int ADDED = 0;

-	public static final int REMOVED= 1;

-	public static final int CHANGED= 2;

-

-	/**

-	 * Collection of launches

-	 */

-	private Vector fLaunches= new Vector(10);

-

-	/**

-	 * Collection of listeners

-	 */

-	private ListenerList fListeners= new ListenerList(5);

-	

-	/**

-	 * Visitor used to process resource deltas,

-	 * to update launch configuration index.

-	 */

-	private IResourceDeltaVisitor fgVisitor;

-	

-	/**

-	 * Launch configuration listeners

-	 */

-	private ListenerList fLaunchConfigurationListeners = new ListenerList(5);

-	

-	/**

-	 * Table of source locator extensions. Keys

-	 * are identifiers, and values are associated

-	 * configuration elements.

-	 */

-	private Map fSourceLocators = null;

-	

-	/**

-	 * Path to the local directory where local launch configurations

-	 * are stored with the workspace.

-	 */

-	protected static final IPath LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH =

-		DebugPlugin.getDefault().getStateLocation().append(".launches"); //$NON-NLS-1$

-		

-	/**

-	 * Serializes a XML document into a string - encoded in UTF8 format,

-	 * with platform line separators.

-	 * 

-	 * @param doc document to serialize

-	 * @return the document as a string

-	 */

-	public static String serializeDocument(Document doc) throws IOException {

-		ByteArrayOutputStream s= new ByteArrayOutputStream();

-		OutputFormat format = new OutputFormat();

-		format.setIndenting(true);

-		format.setLineSeparator(System.getProperty("line.separator"));  //$NON-NLS-1$

-		

-		Serializer serializer =

-			SerializerFactory.getSerializerFactory(Method.XML).makeSerializer(

-				new OutputStreamWriter(s, "UTF8"), //$NON-NLS-1$

-				format);

-		serializer.asDOMSerializer().serialize(doc);

-		return s.toString("UTF8"); //$NON-NLS-1$		

-	}	

-			

-	/**

-	 * @see ILaunchManager#addLaunchListener(ILaunchListener)

-	 */

-	public void addLaunchListener(ILaunchListener listener) {

-		fListeners.add(listener);

-	}

-

-	/**

-	 * Returns a collection of all launch configuration handles in 

-	 * the workspace. This collection is initialized lazily.

-	 * 

-	 * @return all launch configuration handles

-	 */

-	private List getAllLaunchConfigurations() throws CoreException {

-		if (fLaunchConfigurationIndex == null) {

-			fLaunchConfigurationIndex = new ArrayList(20);

-			List configs = findLocalLaunchConfigurations();

-			verifyConfigurations(configs, fLaunchConfigurationIndex);

-			configs = findLaunchConfigurations(getWorkspaceRoot());

-			verifyConfigurations(configs, fLaunchConfigurationIndex);

-		}

-		return fLaunchConfigurationIndex;

-	}

-	

-	/**

-	 * Verify basic integrity of launch configurations in the given list,

-	 * adding valid configs to the collection of all launch configurations.

-	 * Excpetions are logged for invalid configs.

-	 * 

-	 * @param verify the list of configs to verify

-	 * @param valid the list to place valid configrations in

-	 */

-	protected void verifyConfigurations(List verify, List valid) {

-		Iterator configs = verify.iterator();

-		while (configs.hasNext()) {

-			ILaunchConfiguration config = (ILaunchConfiguration)configs.next();

-			if (isValid(config)) {

-				valid.add(config);

-			}

-		}		

-	}

-	

-	/**

-	 * Returns whether the given launch configuration passes a basic

-	 * integritiy test by retrieving its type.

-	 * 

-	 * @param config the configuration to verify

-	 * @return whether the config meets basic integrity constraints

-	 */

-	protected boolean isValid(ILaunchConfiguration config) {

-		try {

-			config.getType();

-		} catch (CoreException e) {

-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR, 

-				MessageFormat.format(DebugCoreMessages.getString("LaunchManager.Unable_to_restore_invalid_launch_configuration"),new String[] {config.getLocation().toOSString()} ), e); //$NON-NLS-1$

-			DebugPlugin.log(status);

-			return false;

-		}

-		return true;

-	}

-	

-	/**

-	 * Clears all launch configurations (if any have been accessed)

-	 */

-	private void clearAllLaunchConfigurations() {

-		if (fLaunchConfigurationTypes != null) {

-			fLaunchConfigurationTypes.clear();

-		}

-		if (fLaunchConfigurationIndex != null) {

-			fLaunchConfigurationIndex.clear();

-		}

-	}

-		

-	/**

-	 * @see ILaunchManager#removeLaunch(ILaunch)

-	 */

-	public void removeLaunch(ILaunch launch) {

-		if (launch == null) {

-			return;

-		}

-		if (fLaunches.remove(launch)) {

-			fireUpdate(launch, REMOVED);

-		}

-	}	

-

-	/**

-	 * Fires notification to the listeners that a launch has been (de)registered.

-	 */

-	public void fireUpdate(ILaunch launch, int update) {

-		Object[] copiedListeners= fListeners.getListeners();

-		for (int i= 0; i < copiedListeners.length; i++) {

-			ILaunchListener listener = (ILaunchListener)copiedListeners[i];

-			switch (update) {

-				case ADDED:

-					listener.launchAdded(launch);

-					break;

-				case REMOVED:

-					listener.launchRemoved(launch);

-					break;

-				case CHANGED:

-					if (isRegistered(launch)) {

-						listener.launchChanged(launch);

-					}

-					break;

-			}

-		}

-	}

-	

-	/**

-	 * Returns whether the given launch is currently registered.

-	 * 

-	 * @param launch a launch

-	 * @return whether the given launch is currently registered

-	 */

-	protected boolean isRegistered(ILaunch launch) {

-		return fLaunches.contains(launch);

-	}

-

-	/**

-	 * @see ILaunchManager#getDebugTargets()

-	 */

-	public IDebugTarget[] getDebugTargets() {

-		List allTargets= new ArrayList(fLaunches.size());

-		if (fLaunches.size() > 0) {

-			Iterator e= fLaunches.iterator();

-			while (e.hasNext()) {

-				IDebugTarget[] targets= ((ILaunch) e.next()).getDebugTargets();

-				for (int i = 0; i < targets.length; i++) {

-					allTargets.add(targets[i]);

-				}

-			}

-		}

-		return (IDebugTarget[])allTargets.toArray(new IDebugTarget[allTargets.size()]);

-	}

-			

-	/**

-	 * @see ILaunchManager#getLaunches()

-	 */

-	public ILaunch[] getLaunches() {

-		return (ILaunch[])fLaunches.toArray(new ILaunch[fLaunches.size()]);

-	}

-

-	/**

-	 * @see ILaunchManager#getProcesses()

-	 */

-	public IProcess[] getProcesses() {

-		List allProcesses= new ArrayList(fLaunches.size());

-		Iterator e= fLaunches.iterator();

-		while (e.hasNext()) {

-			IProcess[] processes= ((ILaunch) e.next()).getProcesses();

-			for (int i= 0; i < processes.length; i++) {

-				allProcesses.add(processes[i]);

-			}

-		}

-		return (IProcess[])allProcesses.toArray(new IProcess[allProcesses.size()]);

-	}

-	

-	/**

-	 * @see ILaunchManager#addLaunch(ILaunch)

-	 */

-	public void addLaunch(ILaunch launch) {

-		if (fLaunches.contains(launch)) {

-			return;

-		}

-		

-		fLaunches.add(launch);

-		fireUpdate(launch, ADDED);

-	}	

-	

-	/**

-	 * @see ILaunchManager#removeLaunchListener(ILaunchListener)

-	 */

-	public void removeLaunchListener(ILaunchListener listener) {

-		fListeners.remove(listener);

-	}

-		

-	/**

-	 * Return a LaunchConfigurationInfo object initialized from XML contained in

-	 * the specified stream.  Simply pass out any exceptions encountered so that

-	 * caller can deal with them.  This is important since caller may need access to the

-	 * actual exception.

-	 */

-	protected LaunchConfigurationInfo createInfoFromXML(InputStream stream) throws CoreException,

-																			 ParserConfigurationException,

-																			 IOException,

-																			 SAXException {

-		Element root = null;

-		DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();

-		root = parser.parse(new InputSource(stream)).getDocumentElement();

-		LaunchConfigurationInfo info = new LaunchConfigurationInfo();

-		info.initializeFromXML(root);

-		return info;

-	}

-

-	/**

-	 * Terminates/Disconnects any active debug targets/processes.

-	 * Clears launch configuration types.

-	 */

-	public void shutdown() throws CoreException {

-		fListeners.removeAll();

-		ILaunch[] launches = getLaunches();

-		for (int i= 0; i < launches.length; i++) {

-			ILaunch launch= launches[i];

-			try {

-				launch.terminate();

-			} catch (DebugException e) {

-				DebugPlugin.log(e);

-			}

-		}

-		

-		clearAllLaunchConfigurations();

-

-		getWorkspace().removeResourceChangeListener(this);

-	}

-	

-	/**

-	 * Creates launch configuration types for each defined extension.

-	 * 

-	 * @exception CoreException if an exception occurs processing

-	 *  the extensions

-	 */

-	public void startup() throws CoreException {

-		getWorkspace().addResourceChangeListener(this);

-	}

-							

-	/**

-	 * Returns the info object for the specified launch configuration.

-	 * If the configuration exists, but is not yet in the cache,

-	 * an info object is built and added to the cache.

-	 * 

-	 * @exception CoreException if an exception occurs building

-	 *  the info object

-	 * @exception DebugException if the config does not exist

-	 */

-	protected LaunchConfigurationInfo getInfo(ILaunchConfiguration config) throws CoreException {

-		LaunchConfigurationInfo info = (LaunchConfigurationInfo)fLaunchConfigurations.get(config);

-		if (info == null) {

-			if (config.exists()) {

-				InputStream stream = null;

-				try {

-					if (config.isLocal()) {

-						IPath path = config.getLocation();

-						File file = path.toFile();				

-						stream = new FileInputStream(file);

-					} else {

-						IFile file = ((LaunchConfiguration) config).getFile();

-						stream = file.getContents();

-					}

-					info = createInfoFromXML(stream);

-					fLaunchConfigurations.put(config, info);

-				} catch (FileNotFoundException e) {

-					throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1"), new String[]{e.toString()}), e); //$NON-NLS-1$					

-				} catch (SAXException e) {

-					throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1"), new String[]{e.toString()}), e); //$NON-NLS-1$					

-				} catch (ParserConfigurationException e) {

-					throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1"), new String[]{e.toString()}), e); //$NON-NLS-1$					

-				} catch (IOException e) {

-					throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1"), new String[]{e.toString()}), e); //$NON-NLS-1$					

-				} finally {

-					if (stream != null) {

-						try {

-							stream.close();

-						} catch (IOException e) {

-							throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1"), new String[]{e.toString()}), e); //$NON-NLS-1$					

-						}

-					}

-				}

-		

-			} else {

-				throw createDebugException(DebugCoreMessages.getString("LaunchManager.Launch_configuration_does_not_exist._6"), null); //$NON-NLS-1$

-			}

-		}

-		return info;

-	}	

-	

-	/**

-	 * Return an instance of DebugException containing the specified message and Throwable.

-	 */

-	protected DebugException createDebugException(String message, Throwable throwable) {

-		return new DebugException(

-					new Status(

-					 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-					 DebugException.REQUEST_FAILED, message, throwable 

-					)

-				);

-	}

-	

-	/**

-	 * Removes the given launch configuration from the cache of configurations.

-	 * When a local configuration is deleted, this method is called, as there will

-	 * be no resource delta generated to auto-update the cache.

-	 * 

-	 * @param configuration the configuration to remove

-	 */

-	private void removeInfo(ILaunchConfiguration configuration) {

-		fLaunchConfigurations.remove(configuration);

-	}

-	

-	/**

-	 * @see ILaunchManager#getLaunchConfigurations()

-	 */

-	public ILaunchConfiguration[] getLaunchConfigurations() throws CoreException {

-		List allConfigs = getAllLaunchConfigurations();

-		return (ILaunchConfiguration[])allConfigs.toArray(new ILaunchConfiguration[allConfigs.size()]);

-	}	

-	

-	/**

-	 * @see ILaunchManager#getLaunchConfigurations(ILaunchConfigurationType)

-	 */

-	public ILaunchConfiguration[] getLaunchConfigurations(ILaunchConfigurationType type) throws CoreException {

-		Iterator iter = getAllLaunchConfigurations().iterator();

-		List configs = new ArrayList();

-		while (iter.hasNext()) {

-			ILaunchConfiguration config = (ILaunchConfiguration)iter.next();

-			if (config.getType().equals(type)) {

-				configs.add(config);

-			}

-		}

-		return (ILaunchConfiguration[])configs.toArray(new ILaunchConfiguration[configs.size()]);

-	}

-	

-	/**

-	 * Returns all launch configurations that are stored as resources

-	 * in the given project.

-	 * 

-	 * @param project a project

-	 * @return collection of launch configurations that are stored as resources

-	 *  in the given project

-	 */

-	protected List getLaunchConfigurations(IProject project) throws CoreException {

-		Iterator iter = getAllLaunchConfigurations().iterator();

-		List configs = new ArrayList();

-		while (iter.hasNext()) {

-			ILaunchConfiguration config = (ILaunchConfiguration)iter.next();

-			IFile file = config.getFile();

-			if (file != null && file.getProject().equals(project)) {

-				configs.add(config);

-			}

-		}

-		return configs;

-	}	

-	

-	/**

-	 * Returns all launch configurations that are stored locally.

-	 * 

-	 * @return collection of launch configurations stored lcoally

-	 */

-	protected List getLocalLaunchConfigurations() throws CoreException {

-		Iterator iter = getAllLaunchConfigurations().iterator();

-		List configs = new ArrayList();

-		while (iter.hasNext()) {

-			ILaunchConfiguration config = (ILaunchConfiguration)iter.next();

-			if (config.isLocal()) {

-				configs.add(config);

-			}

-		}

-		return configs;

-	}		

-	

-	/**

-	 * @see ILaunchManager#getLaunchConfiguration(IFile)

-	 */

-	public ILaunchConfiguration getLaunchConfiguration(IFile file) {

-		return new LaunchConfiguration(file.getLocation());

-	}

-	

-	/**

-	 * @see ILaunchManager#getLaunchConfiguration(String)

-	 */

-	public ILaunchConfiguration getLaunchConfiguration(String memento) throws CoreException {

-		return new LaunchConfiguration(memento);

-	}

-	

-	/**

-	 * @see ILaunchManager#getLaunchConfigurationTypes()

-	 */

-	public ILaunchConfigurationType[] getLaunchConfigurationTypes() {

-		List types= getLaunchConfigurationTypeList();

-		return (ILaunchConfigurationType[])types.toArray(new ILaunchConfigurationType[types.size()]);

-	}

-	

-	/**

-	 * @see ILaunchManager#getLaunchConfigurationType(String)

-	 */

-	public ILaunchConfigurationType getLaunchConfigurationType(String id) {

-		Iterator iter = getLaunchConfigurationTypeList().iterator();

-		while (iter.hasNext()) {

-			ILaunchConfigurationType type = (ILaunchConfigurationType)iter.next();

-			if (type.getIdentifier().equals(id)) {

-				return type;

-			}

-		}

-		return null;

-	}

-	

-	private List getLaunchConfigurationTypeList() {

-		if (fLaunchConfigurationTypes == null) {

-			initializeLaunchConfigurationTypes();

-		}

-		return fLaunchConfigurationTypes;

-	}

-	

-	private void initializeLaunchConfigurationTypes() {

-		IPluginDescriptor descriptor= DebugPlugin.getDefault().getDescriptor();

-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES);

-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();

-		fLaunchConfigurationTypes= new ArrayList(infos.length);

-		for (int i= 0; i < infos.length; i++) {

-			IConfigurationElement configurationElement = infos[i];

-			LaunchConfigurationType configType = new LaunchConfigurationType(configurationElement); 			

-			fLaunchConfigurationTypes.add(configType);

-		}		

-	}

-	

-	/**

-	 * Notifies the launch manager that a launch configuration

-	 * has been deleted. The configuration is removed from the

-	 * cache of info's and from the index of configurations by

-	 * project, and listeners are notified.

-	 * 

-	 * @param config the launch configuration that was deleted

-	 */

-	protected void launchConfigurationDeleted(ILaunchConfiguration config) throws CoreException {

-		removeInfo(config);

-		getAllLaunchConfigurations().remove(config);

-		if (fLaunchConfigurationListeners.size() > 0) {

-			Object[] listeners = fLaunchConfigurationListeners.getListeners();

-			for (int i = 0; i < listeners.length; i++) {

-				ILaunchConfigurationListener listener = (ILaunchConfigurationListener)listeners[i];

-				listener.launchConfigurationRemoved(config);

-			}

-		}

-		clearConfigNameCache();			

-	}

-	

-	/**

-	 * Notifies the launch manager that a launch configuration

-	 * has been added. The configuration is added to the index of

-	 * configurations by project, and listeners are notified.

-	 * 

-	 * @param config the launch configuration that was added

-	 */

-	protected void launchConfigurationAdded(ILaunchConfiguration config) throws CoreException {

-		if (isValid(config)) {

-			List allConfigs = getAllLaunchConfigurations();

-			if (!allConfigs.contains(config)) {

-				allConfigs.add(config);

-			}

-			if (fLaunchConfigurationListeners.size() > 0) {

-				Object[] listeners = fLaunchConfigurationListeners.getListeners();

-				for (int i = 0; i < listeners.length; i++) {

-					ILaunchConfigurationListener listener = (ILaunchConfigurationListener)listeners[i];

-					listener.launchConfigurationAdded(config);

-				}

-			}

-			clearConfigNameCache();			

-		} else {

-			launchConfigurationDeleted(config);

-		}

-	}

-	

-	/**

-	 * Notifies the launch manager that a launch configuration

-	 * has been changed. The configuration is removed from the

-	 * cache of info objects such that the new attributes will

-	 * be updated on the next access. Listeners are notified of

-	 * the change.

-	 * 

-	 * @param config the launch configuration that was changed

-	 */

-	protected void launchConfigurationChanged(ILaunchConfiguration config) {

-		removeInfo(config);

-		clearConfigNameCache();

-		if (isValid(config)) {

-			notifyChanged(config);

-		} else {

-			try {

-				launchConfigurationDeleted(config);

-			} catch (CoreException e) {

-				DebugPlugin.log(e);

-			}

-		}								

-	}

-	

-	/**

-	 * Notifies listeners that the given launch configuration

-	 * has changed.

-	 * 

-	 * @param configuration the changed launch configuration

-	 */

-	protected void notifyChanged(ILaunchConfiguration configuration) {

-		if (fLaunchConfigurationListeners.size() > 0) {

-			Object[] listeners = fLaunchConfigurationListeners.getListeners();

-			for (int i = 0; i < listeners.length; i++) {

-				ILaunchConfigurationListener listener = (ILaunchConfigurationListener)listeners[i];

-				listener.launchConfigurationChanged(configuration);

-			}

-		}		

-	}

-	

-	/**

-	 * @see ILaunchManager#isExistingLaunchConfigurationName(String)

-	 */

-	public boolean isExistingLaunchConfigurationName(String name) throws CoreException {

-		String[] sortedConfigNames = getAllSortedConfigNames();

-		int index = Arrays.binarySearch(sortedConfigNames, name);

-		if (index < 0) {

-			return false;

-		} 

-		return true;

-	}

-	

-	/**

-	 * @see org.eclipse.debug.core.ILaunchManager#generateUniqueLaunchConfigurationNameFrom(String)

-	 */

-	public String generateUniqueLaunchConfigurationNameFrom(String baseName) {

-		int index = 1;

-		int length= baseName.length();

-		int copyIndex = baseName.lastIndexOf(" ("); //$NON-NLS-1$

-		if (copyIndex > -1 && length > copyIndex + 2 && baseName.charAt(length - 1) == ')') {

-			String trailer = baseName.substring(copyIndex + 2, length -1);

-			if (isNumber(trailer)) {

-				try {

-					index = Integer.parseInt(trailer);

-					baseName = baseName.substring(0, copyIndex);

-				} catch (NumberFormatException nfe) {

-				}

-			}

-		} 

-		String newName = baseName;

-		try {

-			StringBuffer buffer= null;

-			while (isExistingLaunchConfigurationName(newName)) {

-				buffer = new StringBuffer(baseName);

-				buffer.append(" ("); //$NON-NLS-1$

-				buffer.append(String.valueOf(index));

-				index++;

-				buffer.append(')');

-				newName = buffer.toString();		

-			}		

-		} catch (CoreException e) {

-			DebugPlugin.log(e);

-		}

-		return newName;

-	}

-	

-	/**

-	 * Returns whether the given String is composed solely of digits

-	 */

-	private boolean isNumber(String string) {

-		int numChars= string.length();

-		if (numChars == 0) {

-			return false;

-		}

-		for (int i= 0; i < numChars; i++) {

-			if (!Character.isDigit(string.charAt(i))) {

-				return false;

-			}

-		}

-		return true;

-	}

-	

-	/**

-	 * Return a sorted array of the names of all <code>ILaunchConfiguration</code>s in 

-	 * the workspace.  These are cached, and cache is cleared when a new config is added,

-	 * deleted or changed.

-	 */

-	protected String[] getAllSortedConfigNames() throws CoreException {

-		if (fSortedConfigNames == null) {

-			ILaunchConfiguration[] configs = getLaunchConfigurations();

-			fSortedConfigNames = new String[configs.length];

-			for (int i = 0; i < configs.length; i++) {

-				fSortedConfigNames[i] = configs[i].getName();

-			}

-			Arrays.sort(fSortedConfigNames);

-		}

-		return fSortedConfigNames;

-	}

-	

-	/**

-	 * The launch config name cache is cleared when a config is added, deleted or changed.

-	 */

-	protected void clearConfigNameCache() {

-		fSortedConfigNames = null;

-	}

-		

-	/**

-	 * Finds and returns all local launch configurations.

-	 *

-	 * @return all local launch configurations

-	 * @exception CoreException if there is a lower level

-	 *  IO exception

-	 */

-	protected List findLocalLaunchConfigurations() throws CoreException {

-		IPath containerPath = LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;

-		List configs = new ArrayList(10);

-		final File directory = containerPath.toFile();

-		if (directory.isDirectory()) {

-			FilenameFilter filter = new FilenameFilter() {

-				public boolean accept(File dir, String name) {

-					return dir.equals(directory) &&

-							name.endsWith(ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION);

-				}

-			};

-			String[] files = directory.list(filter);

-			for (int i = 0; i < files.length; i++) {

-				LaunchConfiguration config = new LaunchConfiguration(containerPath.append(files[i]));

-				configs.add(config);

-			}

-		}

-		return configs;

-	}

-	

-	/**

-	 * Finds and returns all launch configurations in the given

-	 * container (and subcontainers)

-	 * 

-	 * @param container the container to search

-	 * @exception CoreException an exception occurs traversing

-	 *  the container.

-	 * @return all launch configurations in the given container

-	 */

-	protected List findLaunchConfigurations(IContainer container) throws CoreException {

-		List list = new ArrayList(10);

-		if (container instanceof IProject && !((IProject)container).isOpen()) {

-			return list;

-		}

-		searchForFiles(container, ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION, list);

-		Iterator iter = list.iterator();

-		List configs = new ArrayList(list.size());

-		while (iter.hasNext()) {

-			IFile file = (IFile)iter.next();

-			configs.add(getLaunchConfiguration(file));

-		}

-		return configs;

-	}

-	

-	/**

-	 * Recursively searches the given container for files with the given

-	 * extension.

-	 * 

-	 * @param container the container to search in

-	 * @param extension the file extension being searched for

-	 * @param list the list to add the matching files to

-	 * @exception CoreException if an exception occurs traversing

-	 *  the container

-	 */

-	protected void searchForFiles(IContainer container, String extension, List list) throws CoreException {

-		IResource[] members = container.members();

-		for (int i = 0; i < members.length; i++) {

-			if (members[i] instanceof IContainer) {

-				if (members[i] instanceof IProject && !((IProject)members[i]) .isOpen()) {

-					continue;

-				}

-				searchForFiles((IContainer)members[i], extension, list);

-			} else if (members[i] instanceof IFile) {

-				IFile file = (IFile)members[i];

-				if (ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION.equalsIgnoreCase(file.getFileExtension())) {

-					list.add(file);

-				}

-			}

-		}

-	}

-	

-	/**

-	 * Traverses the delta looking for added/removed/changed launch

-	 * configuration files.

-	 * 

-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)

-	 */

-	public void resourceChanged(IResourceChangeEvent event) {

-		IResourceDelta delta= event.getDelta();

-		if (delta != null) {

-			try {

-				if (fgVisitor == null) {

-					fgVisitor= new LaunchManagerVisitor();

-				}

-				delta.accept(fgVisitor);

-			} catch (CoreException e) {

-				DebugPlugin.log(e);

-			}

-		}		

-	}

-	

-	/**

-	 * Returns the launch configurations specified by the given

-	 * XML document.

-	 * 

-	 * @param root XML document

-	 * @return list of launch configurations

-	 * @exception IOException if an exception occurs reading the XML

-	 */	

-	protected List getConfigsFromXML(Element root) throws CoreException {

-		DebugException invalidFormat = 

-			new DebugException(

-				new Status(

-				 Status.ERROR, DebugPlugin.getUniqueIdentifier(),

-				 DebugException.REQUEST_FAILED, DebugCoreMessages.getString("LaunchManager.Invalid_launch_configuration_index._18"), null //$NON-NLS-1$

-				)

-			);		

-			

-		if (!root.getNodeName().equalsIgnoreCase("launchConfigurations")) { //$NON-NLS-1$

-			throw invalidFormat;

-		}

-		

-		// read each launch configuration 

-		List configs = new ArrayList(4);	

-		NodeList list = root.getChildNodes();

-		int length = list.getLength();

-		for (int i = 0; i < length; ++i) {

-			Node node = list.item(i);

-			short type = node.getNodeType();

-			if (type == Node.ELEMENT_NODE) {

-				Element entry = (Element) node;

-				String nodeName = entry.getNodeName();

-				if (!nodeName.equals("launchConfiguration")) { //$NON-NLS-1$

-					throw invalidFormat;

-				}

-				String memento = entry.getAttribute("memento"); //$NON-NLS-1$

-				if (memento == null) {

-					throw invalidFormat;

-				}

-				configs.add(getLaunchConfiguration(memento));

-			}

-		}

-		return configs;

-	}		

-	

-	/**

-	 * The specified project has just opened - add all launch

-	 * configs in the project to the index of all configs.

-	 * 

-	 * @param project the project that has been opened

-	 * @exception CoreException if reading the index fails

-	 */

-	protected void projectOpened(IProject project) throws CoreException {

-		List configs = findLaunchConfigurations(project);

-		if (!configs.isEmpty()) {

-			List allList = getAllLaunchConfigurations();

-			Iterator iterator = configs.iterator();

-			while (iterator.hasNext()) {

-				ILaunchConfiguration config = (ILaunchConfiguration) iterator.next();

-				if (!allList.contains(config)) {

-					allList.add(config);

-				}

-			}			

-		}

-	}

-	

-	/**

-	 * The specified project has just closed - remove its

-	 * launch configurations from the cached index.

-	 * 

-	 * @param project the project that has been closed

-	 * @exception CoreException if writing the index fails

-	 */

-	protected void projectClosed(IProject project) throws CoreException {

-		List configs = getLaunchConfigurations(project);

-		if (!configs.isEmpty()) {

-			getAllLaunchConfigurations().removeAll(configs);

-		}

-	}	

-	

-	/**

-	 * Visitor for handling resource deltas.

-	 */

-	class LaunchManagerVisitor implements IResourceDeltaVisitor {

-		/**

-		 * @see IResourceDeltaVisitor#visit(IResourceDelta)

-		 */

-		public boolean visit(IResourceDelta delta) {

-			if (delta == null) {

-				return false;

-			}

-			if (0 != (delta.getFlags() & IResourceDelta.OPEN)) {

-				if (delta.getResource() instanceof IProject) {

-					IProject project = (IProject)delta.getResource();

-					try {

-						if (project.isOpen()) {

-							LaunchManager.this.projectOpened(project);

-						} else { 

-						    LaunchManager.this.projectClosed(project);

-						}

-					} catch (CoreException e) {

-						DebugPlugin.log(e);

-					}

-				}

-				return false;

-			}

-			IResource resource = delta.getResource();

-			if (resource instanceof IFile) {

-				IFile file = (IFile)resource;

-				if (ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION.equals(file.getFileExtension())) {

-					IPath configPath = file.getLocation();

-					// If the file has already been deleted, reconstruct the full

-					// filesystem path

-					if (configPath == null) {

-						IPath workspaceRelativePath = delta.getFullPath();

-						configPath = getWorkspaceRoot().getLocation().append(workspaceRelativePath);

-					}

-					ILaunchConfiguration handle = new LaunchConfiguration(configPath);

-					try {

-						switch (delta.getKind()) {						

-							case IResourceDelta.ADDED :

-								LaunchManager.this.launchConfigurationAdded(handle);

-								break;

-							case IResourceDelta.REMOVED :

-								LaunchManager.this.launchConfigurationDeleted(handle);

-								break;

-							case IResourceDelta.CHANGED :

-								LaunchManager.this.launchConfigurationChanged(handle);

-								break;

-						}					

-					} catch (CoreException e) {

-						DebugPlugin.log(e);

-					}

-				}

-				return false;

-			} else if (resource instanceof IContainer) {

-				return true;

-			}

-			return true;

-		}		

-	}

-	

-	/**

-	 * @see ILaunchManager#addLaunchConfigurationListener(ILaunchConfigurationListener)

-	 */

-	public void addLaunchConfigurationListener(ILaunchConfigurationListener listener) {

-		fLaunchConfigurationListeners.add(listener);

-	}

-

-	/**

-	 * @see ILaunchManager#removeLaunchConfigurationListener(ILaunchConfigurationListener)

-	 */

-	public void removeLaunchConfigurationListener(ILaunchConfigurationListener listener) {

-		fLaunchConfigurationListeners.remove(listener);

-	}

-

-	/**

-	 * Register source locators.

-	 * 

-	 * @exception CoreException if an exception occurrs reading

-	 *  the extensions

-	 */

-	private void initializeSourceLocators() throws CoreException {

-		IPluginDescriptor descriptor= DebugPlugin.getDefault().getDescriptor();

-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(DebugPlugin.EXTENSION_POINT_SOURCE_LOCATORS);

-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();

-		fSourceLocators= new HashMap(infos.length);

-		for (int i= 0; i < infos.length; i++) {

-			IConfigurationElement configurationElement = infos[i];

-			String id = configurationElement.getAttribute("id"); //$NON-NLS-1$			

-			if (id != null) {

-				fSourceLocators.put(id,configurationElement);

-			} else {

-				// invalid status handler

-				IStatus s = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,

-				MessageFormat.format(DebugCoreMessages.getString("LaunchManager.Invalid_source_locator_extentsion_defined_by_plug-in___{0}______id___not_specified_12"), new String[] {configurationElement.getDeclaringExtension().getDeclaringPluginDescriptor().getUniqueIdentifier()} ), null);  //$NON-NLS-1$

-				DebugPlugin.getDefault().log(s);

-			}

-		}			

-	}

-	

-	

-	/**

-	 * Load comparator extensions.

-	 * 

-	 * @exception CoreException if an exception occurrs reading

-	 *  the extensions

-	 */

-	private void initializeComparators() {

-		IPluginDescriptor descriptor= DebugPlugin.getDefault().getDescriptor();

-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_COMPARATORS);

-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();

-		fComparators = new HashMap(infos.length);

-		for (int i= 0; i < infos.length; i++) {

-			IConfigurationElement configurationElement = infos[i];

-			String attr = configurationElement.getAttribute("attribute"); //$NON-NLS-1$			

-			if (attr != null) {

-				fComparators.put(attr, new LaunchConfigurationComparator(configurationElement));

-			} else {

-				// invalid status handler

-				IStatus s = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,

-				MessageFormat.format(DebugCoreMessages.getString("LaunchManager.Invalid_launch_configuration_comparator_extension_defined_by_plug-in_{0}_-_attribute_not_specified_1"), new String[] {configurationElement.getDeclaringExtension().getDeclaringPluginDescriptor().getUniqueIdentifier()}), null); //$NON-NLS-1$

-				DebugPlugin.getDefault().log(s);

-			}

-		}			

-	}

-		

-	/**

-	 * @see ILaunchManager#newSourceLocator(String)

-	 */

-	public IPersistableSourceLocator newSourceLocator(String identifier) throws CoreException {

-		if (fSourceLocators == null) {

-			initializeSourceLocators();

-		}

-		IConfigurationElement config = (IConfigurationElement)fSourceLocators.get(identifier);

-		if (config == null) {

-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,

-				MessageFormat.format(DebugCoreMessages.getString("LaunchManager.Source_locator_does_not_exist__{0}_13"), new String[] {identifier} ), null)); //$NON-NLS-1$

-		} else {

-			return (IPersistableSourceLocator)config.createExecutableExtension("class"); //$NON-NLS-1$

-		}

-		

-	}

-

-	/**

-	 * Returns the comparator registered for the given attribute, or

-	 * <code>null</code> if none.

-	 * 

-	 * @param attributeName attribute for which a comparator is required

-	 * @return comparator, or <code>null</code> if none

-	 */

-	protected Comparator getComparator(String attributeName) {

-		 HashMap map = getComparators();

-		 return (Comparator)map.get(attributeName);

-	}

-	

-	/**

-	 * Returns comparators, loading if required

-	 */

-	protected HashMap getComparators() {

-		if (fComparators == null) {

-			initializeComparators();

-		}

-		return fComparators;

-	}

-	

-	private IWorkspace getWorkspace() {

-		return ResourcesPlugin.getWorkspace();

-	}

-	

-	private IWorkspaceRoot getWorkspaceRoot() {

-		return getWorkspace().getRoot();

-	}

-	

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java
deleted file mode 100644
index f664e02..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/**

- * Local version of org.eclipse.jface.util.ListenerList (modified)s

- */

-public class ListenerList {

-	/**

-	 * The current number of listeners.

-	 * Maintains invariant: 0 <= fSize <= listeners.length.

-	 */

-	private int fSize;

-

-	/**

-	 * The list of listeners.  Initially <code>null</code> but initialized

-	 * to an array of size capacity the first time a listener is added.

-	 * Maintains invariant: listeners != null if and only if fSize != 0

-	 */

-	private Object[] fListeners= null;

-

-	/**

-	 * The empty array singleton instance, returned by getListeners()

-	 * when size == 0.

-	 */

-	private static final Object[] EmptyArray= new Object[0];

-

-	/**

-	 * Creates a listener list with the given initial capacity.

-	 *

-	 * @param capacity the number of listeners which this list can initially accept 

-	 *    without growing its internal representation; must be at least 1

-	 */

-	public ListenerList(int capacity) {

-		if (capacity < 1) {

-			throw new IllegalArgumentException();

-		}

-		fListeners= new Object[capacity];

-		fSize= 0;

-	}

-

-	/**

-	 * Adds a listener to the list.

-	 * Has no effect if an identical listener is already registered.

-	 *

-	 * @param listener a listener

-	 */

-	public synchronized void add(Object listener) {

-		if (listener == null) {

-			throw new IllegalArgumentException();

-		}

-		// check for duplicates using identity

-		for (int i= 0; i < fSize; ++i) {

-			if (fListeners[i] == listener) {

-				return;

-			}

-		}

-		// grow array if necessary

-		if (fSize == fListeners.length) {

-			Object[] temp= new Object[(fSize * 2) + 1];

-			System.arraycopy(fListeners, 0, temp, 0, fSize);

-			fListeners= temp;

-		}

-		fListeners[fSize++]= listener;

-	}

-

-	/**

-	 * Returns an array containing all the registered listeners.

-	 * The resulting array is unaffected by subsequent adds or removes.

-	 * If there are no listeners registered, the result is an empty array

-	 * singleton instance (no garbage is created).

-	 * Use this method when notifying listeners, so that any modifications

-	 * to the listener list during the notification will have no effect on the

-	 * notification itself.

-	 */

-	public synchronized Object[] getListeners() {

-		if (fSize == 0) {

-			return EmptyArray;

-		}

-		Object[] result= new Object[fSize];

-		System.arraycopy(fListeners, 0, result, 0, fSize);

-		return result;

-	}

-

-	/**

-	 * Removes a listener from the list.

-	 * Has no effect if an identical listener was not already registered.

-	 *

-	 * @param listener a listener

-	 */

-	public synchronized void remove(Object listener) {

-		if (listener == null) {

-			throw new IllegalArgumentException();

-		}

-

-		for (int i= 0; i < fSize; ++i) {

-			if (fListeners[i] == listener) {

-				if (--fSize == 0) {

-					fListeners= new Object[1];

-				} else {

-					if (i < fSize) {

-						fListeners[i]= fListeners[fSize];

-					}

-					fListeners[fSize]= null;

-				}

-				return;

-			}

-		}

-	}

-

-	/**

-	 * Removes all the listeners from the list.

-	 */

-	public void removeAll() {

-		fListeners= new Object[0];

-		fSize= 0;

-	}

-

-	/**

-	 * Returns the number of registered listeners

-	 *

-	 * @return the number of registered listeners

-	 */

-	public int size() {

-		return fSize;

-	}

-}

-

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
deleted file mode 100644
index 6e7ebb1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.io.IOException;

-import java.io.InputStream;

-

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.IStreamListener;

-import org.eclipse.debug.core.model.IStreamMonitor;

-

-/**

- * Monitors the output stream of a system process and notifies 

- * listeners of additions to the stream.

- * 

- * The output stream monitor reads system out (or err) via

- * and input stream.

- */

-public class OutputStreamMonitor implements IStreamMonitor {

-	/**

-	 * The stream being monitored (connected system out or err).

-	 */

-	private InputStream fStream;

-

-	/**

-	 * A collection of listeners

-	 */

-	private ListenerList fListeners= new ListenerList(1);

-

-	/**

-	 * The local copy of the stream contents

-	 */

-	private StringBuffer fContents;

-

-	/**

-	 * The thread which reads from the stream

-	 */

-	private Thread fThread;

-

-	/**

-	 * The size of the read buffer

-	 */

-	private static final int BUFFER_SIZE= 8192;

-

-	/**

-	 * Whether or not this monitor has been killed.

-	 * When the monitor is killed, it stops reading

-	 * from the stream immediately.

-	 */

-	private boolean fKilled= false;

-	/**

-	 * Creates an output stream monitor on the

-	 * given stream (connected to system out or err).

-	 */

-	public OutputStreamMonitor(InputStream stream) {

-		fStream= stream;

-		fContents= new StringBuffer();

-	}

-

-	/**

-	 * @see IStreamMonitor#addListener(IStreamListener)

-	 */

-	public void addListener(IStreamListener listener) {

-		fListeners.add(listener);

-	}

-

-	/**

-	 * Causes the monitor to close all

-	 * communications between it and the

-	 * underlying stream by waiting for the thread to terminate.

-	 */

-	protected void close() {

-		if (fThread != null) {

-			Thread thread= fThread;

-			fThread= null;

-			try {

-				thread.join();

-			} catch (InterruptedException ie) {

-			}

-			fListeners.removeAll();

-		}

-	}

-

-	/**

-	 * Notifies the listeners that text has

-	 * been appended to the stream.

-	 */

-	private void fireStreamAppended(String text) {

-		if (text == null)

-			return;

-		Object[] copiedListeners= fListeners.getListeners();

-		for (int i= 0; i < copiedListeners.length; i++) {

-			 ((IStreamListener) copiedListeners[i]).streamAppended(text, this);

-		}

-	}

-

-	/**

-	 * @see IStreamMonitor#getContents()

-	 */

-	public String getContents() {

-		return fContents.toString();

-	}

-

-	/**

-	 * Continually reads from the stream.

-	 * <p>

-	 * This method, along with the <code>startReading</code>

-	 * method is used to allow <code>OutputStreamMonitor</code>

-	 * to implement <code>Runnable</code> without publicly

-	 * exposing a <code>run</code> method.

-	 */

-	private void read() {

-		byte[] bytes= new byte[BUFFER_SIZE];

-		int read = 0;

-		while (read >= 0) {

-			try {

-				if (fKilled) {

-					break;

-				}

-				read= fStream.read(bytes);

-				if (read > 0) {

-					String text= new String(bytes, 0, read);

-					fContents.append(text);

-					fireStreamAppended(text);

-				}

-			} catch (IOException ioe) {

-				DebugPlugin.log(ioe);

-				return;

-			} catch (NullPointerException e) {

-				// killing the stream monitor while reading can cause an NPE

-				// when reading from the stream

-				if (!fKilled || fThread != null) {

-					DebugPlugin.log(e);

-				}

-				return;

-			}

-		}

-		try {

-			fStream.close();

-		} catch (IOException e) {

-			DebugPlugin.log(e);

-		}

-	}

-	

-	protected void kill() {

-		fKilled= true;

-	}

-

-	/**

-	 * @see IStreamMonitor#removeListener(IStreamListener)

-	 */

-	public void removeListener(IStreamListener listener) {

-		fListeners.remove(listener);

-	}

-

-	/**

-	 * Starts a thread which reads from the stream

-	 */

-	protected void startMonitoring() {

-		if (fThread == null) {

-			fThread= new Thread(new Runnable() {

-				public void run() {

-					read();

-				}

-			}, DebugCoreMessages.getString("OutputStreamMonitor.label")); //$NON-NLS-1$

-			fThread.start();

-		}

-	}

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ProcessMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ProcessMonitor.java
deleted file mode 100644
index 81f2f0b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ProcessMonitor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-/**

- * Monitors a system process, wiating for it to terminate, and

- * then notifies the associated runtime process.

- */

-public class ProcessMonitor {

-	/**

-	 * The underlying <code>java.lang.Process</code> being monitored.

-	 */

-	protected Process fOSProcess;	

-	/**

-	 * The <code>IProcess</code> which will be informed when this

-	 * monitor detects that the underlying process has terminated.

-	 */

-	protected RuntimeProcess fProcess;

-

-	/**

-	 * The <code>Thread</code> which is monitoring the underlying process.

-	 */

-	protected Thread fThread;

-	/**

-	 * Creates a new process monitor and starts monitoring the process

-	 * for termination.

-	 */

-	public ProcessMonitor(RuntimeProcess process) {

-		fProcess= process;

-		fOSProcess= process.getSystemProcess();

-		startMonitoring();

-	}

-

-	/**

-	 * Monitors the underlying process for termination. When the underlying

-	 * process terminates (or if the monitoring thread is interrupted),

-	 * inform the <code>IProcess</code> that it has terminated.

-	 */

-	private void monitorProcess() {

-		while (fOSProcess != null) {

-			try {

-				fOSProcess.waitFor();

-			} catch (InterruptedException ie) {

-			} finally {

-				fOSProcess = null;

-				fProcess.terminated();

-			}

-		}

-	}

-

-	/**

-	 * Starts monitoring the underlying process to determine

-	 * if it has terminated.

-	 */

-	private void startMonitoring() {

-		if (fThread == null) {

-			fThread= new Thread(new Runnable() {

-				public void run() {

-					monitorProcess();

-				}

-			}, DebugCoreMessages.getString("ProcessMonitor.label")); //$NON-NLS-1$

-			fThread.start();

-		}

-	}

-	

-	/**

-	 * Kills the monitoring thread.

-	 * 

-	 * This method is to be useful for dealing with the error

-	 * case of an underlying process which has not informed this

-	 * monitor of its termination.

-	 */

-	protected void killMonitoring() {

-		fThread.interrupt();

-	}

-}

diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/RuntimeProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/RuntimeProcess.java
deleted file mode 100644
index 05bb319..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/RuntimeProcess.java
+++ /dev/null
@@ -1,291 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.io.InputStream;

-import java.io.OutputStream;

-import java.util.HashMap;

-

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.PlatformObject;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.debug.core.DebugEvent;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.model.IDebugTarget;

-import org.eclipse.debug.core.model.IProcess;

-import org.eclipse.debug.core.model.IStreamsProxy;

-

-

-/**

- * A runtime process is a wrapper for a non-debuggable

- * system process. The process will appear in the debug UI with

- * console and termination support. The process creates a streams

- * proxy for itself, and a process monitor that monitors the

- * underlying system process for terminataion.

- */

-public class RuntimeProcess extends PlatformObject implements IProcess {

-

-	private static final int MAX_WAIT_FOR_DEATH_ATTEMPTS = 10;

-	private static final int TIME_TO_WAIT_FOR_THREAD_DEATH = 500; // ms

-	

-	/**

-	 * The launch this process is contained in

-	 */

-	private ILaunch fLaunch;

-	

-	/**

-	 * The system process

-	 */

-	private Process fProcess;

-	

-	/**

-	 * The exit value

-	 */

-	private int fExitValue;

-	

-	/**

-	 * The monitor which listens for this runtime process' system process

-	 * to terminate.

-	 */

-	private ProcessMonitor fMonitor;

-	

-	/**

-	 * The streams proxy for this process

-	 */

-	private StreamsProxy fStreamsProxy;

-

-	/**

-	 * The name of the process

-	 */

-	private String fName;

-

-	/**

-	 * Whether this process has been terminated

-	 */

-	private boolean fTerminated;

-	

-	/**

-	 * Table of client defined attributes

-	 */

-	private HashMap fAttributes;

-

-	/**

-	 * Constructs a RuntimeProcess on the given system process

-	 * with the given name, adding this process to the given

-	 * launch.

-	 */

-	public RuntimeProcess(ILaunch launch, Process process, String name) {

-		setLaunch(launch);

-		fProcess= process;

-		fName= name;

-		fTerminated= true;

-		try {

-			process.exitValue();

-		} catch (IllegalThreadStateException e) {

-			fTerminated= false;

-		}

-		fStreamsProxy = new StreamsProxy(this);

-		fMonitor = new ProcessMonitor(this);

-		launch.addProcess(this);

-		fireCreationEvent();

-	}

-

-	/**

-	 * @see ITerminate#canTerminate()

-	 */

-	public boolean canTerminate() {

-		return !fTerminated;

-	}

-

-	/**

-	 * Returns the error stream of the underlying system process (connected

-	 * to the standard error of the process).

-	 */

-	protected InputStream getErrorStream() {

-		return fProcess.getErrorStream();

-	}

-

-	/**

-	 * Returns the input stream of the underlying system process (connected

-	 * to the standard out of the process).

-	 */

-	protected InputStream getInputStream() {

-		return fProcess.getInputStream();

-	}

-

-	/**

-	 * Returns the output stream of the underlying system process (connected

-	 * to the standard in of the process).

-	 */

-	protected OutputStream getOutputStream() {

-		return fProcess.getOutputStream();

-	}

-	

-	/**

-	 * @see IProcess#getLabel()

-	 */

-	public String getLabel() {

-		return fName;

-	}

-	

-	/**

-	 * Sets the launch this process is contained in

-	 * 

-	 * @param launch the launch this process is contained in

-	 */

-	private void setLaunch(ILaunch launch) {

-		fLaunch = launch;

-	}

-

-	/**

-	 * @see IProcess#getLaunch()

-	 */

-	public ILaunch getLaunch() {

-		return fLaunch;

-	}

-

-	/**

-	 * Returns the underlying system process

-	 */

-	protected Process getSystemProcess() {

-		return fProcess;

-	}

-

-	/**

-	 * @see ITerminate#isTerminated()

-	 */

-	public boolean isTerminated() {

-		return fTerminated;

-	}

-

-	/**

-	 * @see ITerminate#terminate()

-	 */

-	public void terminate() throws DebugException {

-		if (!isTerminated()) {

-			fProcess.destroy();

-			fStreamsProxy.kill();

-			int attempts = 0;

-			while (attempts < MAX_WAIT_FOR_DEATH_ATTEMPTS) {

-				try {

-					if (fProcess != null) {

-						fExitValue = fProcess.exitValue(); // throws exception if process not exited

-					}

-					return;

-				} catch (IllegalThreadStateException ie) {

-				}

-				try {

-					Thread.sleep(TIME_TO_WAIT_FOR_THREAD_DEATH);

-				} catch (InterruptedException e) {

-				}

-				attempts++;

-			}

-			// clean-up

-			fMonitor.killMonitoring();

-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.getString("RuntimeProcess.terminate_failed"), null);		 //$NON-NLS-1$

-			throw new DebugException(status);

-		}

-	}

-

-	/**

-	 * Notification that the system process associated with this process

-	 * has terminated.

-	 */

-	protected void terminated() {

-		fStreamsProxy.close();

-		fTerminated= true;

-		try {

-			fExitValue = fProcess.exitValue();

-		} catch (IllegalThreadStateException ie) {

-		}

-		fProcess= null;

-		fireTerminateEvent();

-	}

-		

-	/**

-	 * @see IProcess#getStreamsProxy()

-	 */

-	public IStreamsProxy getStreamsProxy() {

-		return fStreamsProxy;

-	}

-	

-	/**

-	 * Fire a debug event marking the creation of this element.

-	 */

-	private void fireCreationEvent() {

-		fireEvent(new DebugEvent(this, DebugEvent.CREATE));

-	}

-

-	/**

-	 * Fire a debug event

-	 */

-	private void fireEvent(DebugEvent event) {

-		DebugPlugin manager= DebugPlugin.getDefault();

-		if (manager != null) {

-			manager.fireDebugEventSet(new DebugEvent[]{event});

-		}

-	}

-

-	/**

-	 * Fire a debug event marking the termination of this process.

-	 */

-	private void fireTerminateEvent() {

-		fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));

-	}

-

-	/**

-	 * @see IProcess#setAttribute(String, String)

-	 */

-	public void setAttribute(String key, String value) {

-		if (fAttributes == null) {

-			fAttributes = new HashMap(5);

-		}

-		fAttributes.put(key, value);

-	}

-	

-	/**

-	 * @see IProcess#getAttribute(String)

-	 */

-	public String getAttribute(String key) {

-		if (fAttributes == null) {

-			return null;

-		}

-		return (String)fAttributes.get(key);

-	}

-	

-	/**

-	 * @see IAdaptable#getAdapter(Class)

-	 */

-	public Object getAdapter(Class adapter) {

-		if (adapter.equals(IProcess.class)) {

-			return this;

-		}

-		if (adapter.equals(IDebugTarget.class)) {

-			ILaunch launch = getLaunch();

-			IDebugTarget[] targets = launch.getDebugTargets();

-			for (int i = 0; i < targets.length; i++) {

-				if (this.equals(targets[i].getProcess())) {

-					return targets[i];

-				}

-			}

-			return null;

-		}

-		return super.getAdapter(adapter);

-	}

-	/**

-	 * @see IProcess#getExitValue()

-	 */

-	public int getExitValue() throws DebugException {

-		if (isTerminated()) {

-			return fExitValue;

-		} else {

-			throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.getString("RuntimeProcess.Exit_value_not_available_until_process_terminates._1"), null)); //$NON-NLS-1$

-		}

-	}

-

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
deleted file mode 100644
index c9720d5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.debug.internal.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.debug.core.model.IStreamMonitor;

-import org.eclipse.debug.core.model.IStreamsProxy;

-import java.io.IOException;

-

-public class StreamsProxy implements IStreamsProxy {

-	/**

-	 * The monitor for the output stream (connected to standard out of the process)

-	 */

-	private OutputStreamMonitor fOutputMonitor;

-	/**

-	 * The monitor for the error stream (connected to standard error of the process)

-	 */

-	private OutputStreamMonitor fErrorMonitor;

-	/**

-	 * The monitor for the input stream (connected to standard in of the process)

-	 */

-	private InputStreamMonitor fInputMonitor;

-	/**

-	 * Records the open/closed state of communications with

-	 * the underlying streams.

-	 */

-	private boolean fClosed= false;

-	/**

-	 * Creates a <code>StreamsProxy</code> on the streams

-	 * of the given <code>IProcess</code>.

-	 */

-	public StreamsProxy(RuntimeProcess process) {

-		if (process == null) {

-			return;

-		}

-		fOutputMonitor= new OutputStreamMonitor(process.getInputStream());

-		fErrorMonitor= new OutputStreamMonitor(process.getErrorStream());

-		fInputMonitor= new InputStreamMonitor(process.getOutputStream());

-		fOutputMonitor.startMonitoring();

-		fErrorMonitor.startMonitoring();

-		fInputMonitor.startMonitoring();

-	}

-

-	/**

-	 * Causes the proxy to close all

-	 * communications between it and the

-	 * underlying streams after all remaining data

-	 * in the streams is read.

-	 */

-	protected void close() {

-		if (!fClosed) {

-			fClosed= true;

-			fOutputMonitor.close();

-			fErrorMonitor.close();

-			fInputMonitor.close();

-		}

-	}

-

-	/**

-	 * Causes the proxy to close all

-	 * communications between it and the

-	 * underlying streams immediately.

-	 * Data remaining in the streams is lost.

-	 */	

-	protected void kill() {

-		fClosed= true;

-		fOutputMonitor.kill();

-		fErrorMonitor.kill();

-		fInputMonitor.close();

-	}

-

-	/**

-	 * @see IStreamsProxy#getErrorStreamMonitor()

-	 */

-	public IStreamMonitor getErrorStreamMonitor() {

-		return fErrorMonitor;

-	}

-

-	/**

-	 * @see IStreamsProxy#getOutputStreamMonitor()

-	 */

-	public IStreamMonitor getOutputStreamMonitor() {

-		return fOutputMonitor;

-	}

-

-	/**

-	 * @see IStreamsProxy#write(String)

-	 */

-	public void write(String input) throws IOException {

-		if (!fClosed) {

-			fInputMonitor.write(input);

-		} else {

-			throw new IOException();

-		}

-	}

-

-}

diff --git a/org.eclipse.debug.core/doc/hglegal.htm b/org.eclipse.debug.core/doc/hglegal.htm
deleted file mode 100644
index d9e453f..0000000
--- a/org.eclipse.debug.core/doc/hglegal.htm
+++ /dev/null
@@ -1,13 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2001. All Rights Reserved.

-</body>

-</html>

diff --git a/org.eclipse.debug.core/doc/ngibmcpy.gif b/org.eclipse.debug.core/doc/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/org.eclipse.debug.core/doc/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core.html
deleted file mode 100644
index 6ac27a3..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>README Debug User Interface Extension Points</title>

-</head>

-

-<body link="#0000FF" vlink="#800080">

-

-<h1 align="center">Eclipse Debug Platform</h1>

-

-<p>The debug platform plug-in, <b>org.eclipse.debug.core</b>,

-defines a model for language independent debugging. A set of common debug artifacts and

-actions are defined by interfaces, for which specific debug architectures may provide

-implementations. For example, some common artifacts are threads, stack frames, and

-variables; some common actions are terminate, suspend, step, and resume. A debug

-architecture, such as the Java Platform Debug Architecture (JPDA), can provide an implementation of the

-artifacts and actions. The debug plug-in also provides facilities to support

-breakpoint management, expression management, and program launching.<br>

-</p>

-

-<hr>

-

-<h1>Extension Points</h1>

-

-<p>The following extension points are used to support and extend the debug infrastructure:

-

-<ul>

-  <li><a href="org_eclipse_debug_core_breakpoints.html">org.eclipse.debug.core.breakpoints</a></li>

-  <li><a href="org_eclipse_debug_core_launch_configuration_comparators.html">org.eclipse.debug.core.launchConfigurationComparators</a></li>

-  <li><a href="org_eclipse_debug_core_launch_configuration_types.html">org.eclipse.debug.core.launchConfigurationTypes</a></li>

-  <li><a href="org_eclipse_debug_core_source_locators.html">org.eclipse.debug.core.sourceLocators</a></li>

-  <li><a href="org_eclipse_debug_core_status_handlers.html">org.eclipse.debug.core.statusHandlers</a></li>

-</ul>

-

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."

-border="0" width="195" height="12"></a></p>

-</body>

-</html>

diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_breakpoints.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_breakpoints.html
deleted file mode 100644
index 0faf05b..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_breakpoints.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>README Breakpoints Extension Point</title>

-</head>

-

-<body link="#0000FF" vlink="#800080">

-

-<h1 align="center">Breakpoints</h1>

-

-<p><b><i>Identifier: </i></b>org.eclipse.debug.core.breakpoints </p>

-

-<p><b><i>Description: </i></b>This extension point provides a

-mechanism for defining new types of breakpoints.</p>

-

-<p><b><i>Configuration Markup:</i></b> </p>

-

-<pre>

-<tt>&nbsp;&nbsp; &lt;!ATTLIST breakpoint</tt> 

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; markerType&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>&gt;

-</pre>

-

-<ul>

- <li><code>id</code> specifies a unique identifier for this breakpoint type.</li>

- <li><code>markerType</code> specifies the fully qualified identifier (id) of

-  the corresponding marker definition for breakpoints of this type.</li>

- <li><code>class</code> specifies the fully qualified name of the java class

-  that implements <code>IBreakpoint</code>.</li>

-</ul>

-

-<p><b><i>Examples:</i></b> </p>

-

-<p>The following is an example of a breakpoint extension point: </p>

-

-<pre>

-&lt;extension point="org.eclipse.debug.core.breakpoints"&gt;

-   &lt;breakpoint 

-      id="com.example.ExampleBreakpoint"

-      markerType="com.example.ExampleBreakpointMarker"

-      class="com.example.ExampleBreakpointImpl"&gt;

-   &lt;/breakpoint&gt;

-&lt;/extension&gt;

-</pre>

-

-<p>In the example above, the specified type of breakpoint is implemeted by the

-class "com.example.BreakpointImpl". There is an associated

-marker definition for "com.example.ExampleBreakpointMarker", defining

-the attributes of this breakpoint.

-</p>

-

-<p><b><i>API Information: </i></b>Value of the attribute <b>class</b> must be a fully

-qualified name of a Java class that implements the interface <b>

-org.eclipse.debug.core.model.IBreakpoint</b>.

-</p>

-

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."

-border="0" width="195" height="12"></a></p>

-</body>

-</html>

diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launch_configuration_comparators.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_launch_configuration_comparators.html
deleted file mode 100644
index b60ee22..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launch_configuration_comparators.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>README Launch Configuration Types Extension Point</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<h1 align="center">Launch Configuration Comparators</h1>
-
-<p><b><i>Identifier: </i></b>org.eclipse.debug.core.launchConfigurationComparators</p>
-
-<p><b><i>Description: </i></b>This extension point provides a configurable
-mechanism for comparing specific attributes of a launch configuration. In general,
-launch configuration attributes can be compared for equality via the default
-implementation of <code>java.lang.Object.equals(Object)</code>. However, attributes
-that require special handling should implement this extension point. For example,
-when an attribute is stored as XML, it is possible that two strings representing 
-an equivalent attribute have different whitespace formatting.</p>
-
-<p><b><i>Configuration Markup:</i></b> </p>
-
-<pre>
-<tt>&nbsp;&nbsp; &lt;!ELEMENT launchConfigurationComparator</tt>&gt;
-<tt>&nbsp;&nbsp; &lt;!ATTLIST launchConfigurationComparator</tt> 
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attribute&nbsp; CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>
-</pre>
-
-<ul>
- <li><code>id</code> specifies a unique identifier for this extension.</li>
- <li><code>attribute</code> specifies the launch configuration attribute name that this comparator
- 	compares</li>
- <li><code>class</code> specifies a fully qualified name of a class that
- 	implements <code>java.util.Comparator</code></li>
-</ul>
-
-<p><b><i>Examples:</i></b> </p>
-
-<p>The following is an example of a launch configuration comparator extension point: </p>
-
-<pre>
-&lt;extension point="org.eclipse.debug.core.launchConfigurationComparators"&gt;
-   &lt;launchConfigurationComparator 
-      id="com.example.ExampleIdentifier"
-      attribute="com.example.ExampleAttributeName"
-      class="com.example.ComapartorImplementation"&gt;
-   &lt;/launchConfigurationComparator&gt;
-&lt;/extension&gt;
-</pre>
-
-<p>In the example above, the specified type of launch configuration comparator will be
-consulted when comparing the equality of attributes keyed with the name
-<code>com.example.ExampleAttributeName</code>.
-</p>
-
-<p><b><i>API Information: </i></b>Value of the attribute <b>class</b> must be a fully
-qualified name of a Java class that implements the interface <b>
-java.util.Comparator</b>.
-</p>
-
-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."
-border="0" width="195" height="12"></a></p>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launch_configuration_types.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_launch_configuration_types.html
deleted file mode 100644
index 2094e9b..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launch_configuration_types.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>README Launch Configuration Types Extension Point</title>

-</head>

-

-<body link="#0000FF" vlink="#800080">

-

-<h1 align="center">Launch Configuration Types</h1>

-

-<p><b><i>Identifier: </i></b>org.eclipse.debug.core.launchConfigurationTypes </p>

-

-<p><b><i>Description: </i></b>This extension point provides a configurable

-mechanism for launching applications. Each launch configuration type has a name,

-supports one or more modes (run and or debug), and specifies a delegate

-responsible for the implementation of launching an application.</p>

-

-<p><b><i>Configuration Markup:</i></b> </p>

-

-<pre>

-<tt>&nbsp;&nbsp; &lt;!ELEMENT launchConfigurationType (fileExtension?)</tt>&gt;

-<tt>&nbsp;&nbsp; &lt;!ATTLIST launchConfigurationType</tt> 

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delegate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; modes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>&gt;

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA (true | false) #IMPLIED</tt>&gt;

-</pre>

-

-<ul>

- <li><code>id</code> specifies a unique identifier for this launch configuration

-  type.</li>

- <li><code>delegate</code> specifies the fully qualified name of the java class

-  that implements <code>ILaunchConfigurationDelegate</code>. Launch configuration

-  instances of this type will delegate to instances of this class

-  to perform launching.</li>

- <li><code>modes</code> specifies a comma separated list of the modes this

-  type of launch configuration suports - <code>"run"</code> and/or <code>"debug"</code>.</li>

- <li><code>name</code> specifies a human readable name for this type

-  of launch configuration.</li>

- <li><code>public</code> specifies whether this launch configuration type is

-  accessible by users.  Defaults to true if not specified.</li>

-</ul>

-

-<pre>

-<tt>&nbsp;&nbsp; &lt;!ATTLIST fileExtension</tt> 

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; extension CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default&nbsp;&nbsp; CDATA (true | false) #IMPLIED</tt>&gt;

-</pre>

-

-<ul>

- <li><code>extension</code> specifies a file extension that this launch configuration type

-  can be used for.</li>

- <li><code>default</code> specifies whether this launch configuration type should be

-  the default launch configuration type for the specified file extension. Defaults

-  to false if not specified.</li>

-</ul>

-

-<p><b><i>Examples:</i></b> </p>

-

-<p>The following is an example of a launch configuration type extension point: </p>

-

-<pre>

-&lt;extension point="org.eclipse.debug.core.launchConfigurationTypes"&gt;

-   &lt;launchConfigurationType 

-      id="com.example.ExampleIdentifier"

-      delegate="com.example.ExampleLaunchConfigurationDelegate"

-      modes="run, debug"

-      name="Example Application"&gt;

-      &lt;fileExtension

-         extension="txt"

-         default=true&gt;

-      &lt;fileExtension

-         extension="gif"

-         default=false&gt;

-   &lt;/launchConfigurationType&gt;

-&lt;/extension&gt;

-</pre>

-

-<p>In the example above, the specified type of launch configuration supports both run and debug modes.

-The launch configuartion is applicable to txt and gif files, and is the default launch configuration

-for txt files.

-</p>

-

-<p><b><i>API Information: </i></b>Value of the attribute <b>delegate</b> must be a fully

-qualified name of a Java class that implements the interface <b>

-org.eclipse.debug.core.model.ILaunchConfigurationDelegate</b>.

-</p>

-

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."

-border="0" width="195" height="12"></a></p>

-</body>

-</html>

diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_source_locators.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_source_locators.html
deleted file mode 100644
index 8ab3f56..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_source_locators.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>README Source Locators Extension Point</title>

-</head>

-

-<body link="#0000FF" vlink="#800080">

-

-<h1 align="center">Source Locators</h1>

-

-<p><b><i>Identifier: </i></b>org.eclipse.debug.core.sourceLocators</p>

-

-<p><b><i>Description: </i></b>This extension point provides a

- mechanism specifying a source locator to be used with a launch

- configuration.</p>

-

-<p><b><i>Configuration Markup:</i></b> </p>

-

-<pre>

-<tt>&nbsp;&nbsp; &lt;!ELEMENT sourceLocator</tt>&gt;

-<tt>&nbsp;&nbsp; &lt;!ATTLIST sourceLocator</tt> 

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>&gt;

-</pre>

-

-<ul>

- <li><code>id</code> specifies a unique identifier for this source locator.</li>

- <li><code>class</code> specifies the fully qualified name of the Java class

-   that implements <code>IPersistableSourceLocator</code>.</li>

- <li><code>name</code> a human readable name describing this source locator.</li>

-</ul>

-

-<p><b><i>Examples:</i></b> </p>

-

-<p>The following is an example of a source locator extension point: </p>

-

-<pre>

-  &lt;extension point="org.eclipse.debug.core.sourceLocators"&gt;

-    &lt;sourceLocator 

-       id="com.example.ExampleIdentifier"

-       class="com.example.ExampleSourceLocator"

-       name="Example Source Locator"&gt;

-    &lt;/sourceLocator&gt;

-  &lt;/extension&gt;

-</pre>

-

-

-<p><b><i>API Information: </i></b>Value of the attribute <b>class</b> must be a fully

-qualified name of a Java class that implements the interface <b>

-org.eclipse.debug.core.model.IPersistableSourceLocator</b>.

-</p>

-

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."

-border="0" width="195" height="12"></a></p>

-</body>

-</html>

diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_status_handlers.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_status_handlers.html
deleted file mode 100644
index 9a7c892..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_status_handlers.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>README Status Handlers Extension Point</title>

-</head>

-

-<body link="#0000FF" vlink="#800080">

-

-<h1 align="center">Status Handlers</h1>

-

-<p><b><i>Identifier: </i></b>org.eclipse.debug.core.statusHandlers</p>

-

-<p><b><i>Description: </i></b>This extension point provides a generic

- mechanism for separating the generation and resolution of an error.

- The interaction between the source of the error, and the resolution

- is client defined. It is a client reponsibility to lookup and delegate

- to status handlers when an error condition occurrs.</p>

-

-<p><b><i>Configuration Markup:</i></b> </p>

-

-<pre>

-<tt>&nbsp;&nbsp; &lt;!ELEMENT statusHandlers</tt>&gt;

-<tt>&nbsp;&nbsp; &lt;!ATTLIST statusHandlers</tt> 

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; plugin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; code&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>&gt;

-</pre>

-

-<ul>

-  <li><code>id</code> specifies a unique identifier for this status handler.</li>

-  <li><code>class</code> specifies the fully qualified name of the java class

-    that implements <code>IStatusHandler</code>.</li>

-  <li><code>plugin</code> plug-in identifier that corresponds to the

-    plug-in of the status this handler is registered for (i.e.

-    <code>IStatus.getPlugin()</code>).</li>

-  <li><code>code</code> specifies the status code this handler

-    is registered for.</li>

-</ul>

-

-<p><b><i>Examples:</i></b> </p>

-

-<p>The following is an example of a status handler extension point: </p>

-

-<pre>

-  &lt;extension point="org.eclipse.debug.core.statusHandlers"&gt;

-    &lt;statusHandler 

-       id="com.example.ExampleIdentifier"

-       class="com.example.ExampleStatusHandler"

-       plugin="com.example.ExamplePluginId"

-       code="123"&gt;

-    &lt;/statusHandler&gt;

-  &lt;/extension&gt;

-</pre>

-

-<p>In the example above, the specified status handler will be registered

- to handle status objects with a plug-in identifier of <code>com.example.ExamplePluginId</code>

- and a status code of <code>123</code>.

-</p>

-

-<p><b><i>API Information: </i></b>Value of the attribute <b>class</b> must be a fully

-qualified name of a Java class that implements the interface <b>

-org.eclipse.debug.core.IStatusHandler</b>.

-</p>

-

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."

-border="0" width="195" height="12"></a></p>

-</body>

-</html>

diff --git a/org.eclipse.debug.core/plugin.properties b/org.eclipse.debug.core/plugin.properties
deleted file mode 100644
index 450b41c..0000000
--- a/org.eclipse.debug.core/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-######################################################################

-# Copyright (c) 2000, 2002 IBM Corp. and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Common Public License v0.5

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/cpl-v05.html

-#

-# Contributors:

-#    IBM Corporation - Initial implementation

-######################################################################

-

-pluginName=Debug Core

-providerName=Eclipse.org

-launcherExtensionPointName=Launcher

-breakpointExtensionPointName=Breakpoint

-launchConfigurationTypeNameExtensionPointName=Launch Configuration Type

-launchConfigurationComparatorsExtensionPointName=Launch Configuration Comparators

-statusHandlerExtensionPointName=Status Handler

-sourceLocatorsExtensionPointName=Source Locator
\ No newline at end of file
diff --git a/org.eclipse.debug.core/plugin.xml b/org.eclipse.debug.core/plugin.xml
deleted file mode 100644
index dddc4d9..0000000
--- a/org.eclipse.debug.core/plugin.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<plugin

-   id="org.eclipse.debug.core"

-   name="%pluginName"

-   version="2.0.0"

-   provider-name="%providerName"

-   class="org.eclipse.debug.core.DebugPlugin">

-<!-- Required plugins -->

-<requires>

-   <import plugin="org.apache.xerces"/>

-   <import plugin="org.eclipse.core.resources"/>

-</requires>

-

-<!-- Runtime -->

-<runtime>

-   <library name="dtcore.jar">

-      <export name="*"/>

-   </library>

-</runtime>

-

-<!-- Extension points -->

-<extension-point id="launchers" name="%launcherExtensionPointName"/>

-<extension-point id="breakpoints" name="%breakpointExtensionPointName"/>

-<extension-point id="launchConfigurationTypes" name="%launchConfigurationTypeNameExtensionPointName"/>

-<extension-point id="launchConfigurationComparators" name="%launchConfigurationComparatorsExtensionPointName"/>

-<extension-point id="statusHandlers" name="%statusHandlerExtensionPointName"/>

-<extension-point id="sourceLocators" name="%sourceLocatorsExtensionPointName"/>

-

-<!-- Extensions -->

-<extension id="breakpointMarker" point="org.eclipse.core.resources.markers">

-   <super type="org.eclipse.core.resources.marker"/>

-   <persistent value="true"/>

-   <attribute name="org.eclipse.debug.core.modelIdentifier"/>

-   <attribute name="org.eclipse.debug.core.enabled"/>

-   <attribute name="org.eclipse.debug.core.registered"/>

-   <attribute name="org.eclipse.debug.core.persisted"/>

-</extension>

-<extension id="lineBreakpointMarker" point="org.eclipse.core.resources.markers">

-   <super type="org.eclipse.debug.core.breakpointMarker"/>

-   <super type="org.eclipse.core.resources.textmarker"/>

-   <persistent value="true"/>

-</extension>

-

-<extension point="org.eclipse.team.core.fileTypes">

-  <fileTypes extension="launch" type="text"/>

-</extension>

-

-</plugin>

diff --git a/org.eclipse.debug.core/scripts/exportplugin.xml b/org.eclipse.debug.core/scripts/exportplugin.xml
deleted file mode 100644
index 612e0ec..0000000
--- a/org.eclipse.debug.core/scripts/exportplugin.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.debug.core Eclipse plugin

-     along with other important plugin files to the "plugin-export" subdirectory

-     of the target Eclipse installation -->

-<project name="org.eclipse.debug.core" default="export" basedir="..">

-

-	<!-- Set the timestamp and important properties -->

-	<target name="init">

-		<tstamp/>

-		<property name="destdir" value="../../plugin-export" />

-		<property name="dest"  value="${destdir}/org.eclipse.debug.core_2.0.0" />

-	</target>

-

-	<!-- Create the jar of .class files, and copy other important files to export dir -->

-	<target name="export" depends="init">

-		<mkdir dir="${destdir}" />

-		<delete dir="${dest}" />

-		<mkdir dir="${dest}" />

-		<jar 

-			jarfile="${dest}/dtcore.jar"

-			basedir="bin"

-		/>

-		<!-- Create the source zip -->

-		<zip zipfile="${dest}/dtcoresrc.zip">

-			<fileset dir="core"/>

-		</zip>		

-		<copy file="plugin.xml" todir="${dest}"/>

-		<copy file="plugin.properties" todir="${dest}"/>

-		<copy file=".classpath" todir="${dest}"/>

-		<copy file=".options" todir="${dest}"/>

-	</target>

-	

-</project>

diff --git a/org.eclipse.debug.ui/.classpath b/org.eclipse.debug.ui/.classpath
deleted file mode 100644
index eeec725..0000000
--- a/org.eclipse.debug.ui/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="ui"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.apache.xerces"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.ui"/>
-    <classpathentry kind="src" path="/org.eclipse.debug.core"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.debug.ui/.cvsignore b/org.eclipse.debug.ui/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/org.eclipse.debug.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/.options b/org.eclipse.debug.ui/.options
deleted file mode 100644
index 03af25d..0000000
--- a/org.eclipse.debug.ui/.options
+++ /dev/null
@@ -1 +0,0 @@
- org.eclipse.debug.ui/debug=true
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/.project b/org.eclipse.debug.ui/.project
deleted file mode 100644
index e9700f1..0000000
--- a/org.eclipse.debug.ui/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.debug.ui</name>

-	<comment></comment>

-	<projects>

-		<project>org.apache.xerces</project>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.resources</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.debug.core</project>

-		<project>org.eclipse.ui</project>

-	</projects>

-	<buildSpec>

-		<buildCommand>

-			<name>org.eclipse.jdt.core.javabuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

-		<nature>org.eclipse.jdt.core.javanature</nature>

-	</natures>

-</projectDescription>

diff --git a/org.eclipse.debug.ui/about.html b/org.eclipse.debug.ui/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.debug.ui/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/build.properties b/org.eclipse.debug.ui/build.properties
deleted file mode 100644
index f339936..0000000
--- a/org.eclipse.debug.ui/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-bin.includes = icons/,\

-               .options,\

-               plugin.xml,\

-               plugin.properties,\

-               *.jar,\

-               about.html

-

-source.dtui.jar = ui/

-src.includes=about.html

diff --git a/org.eclipse.debug.ui/doc/hglegal.htm b/org.eclipse.debug.ui/doc/hglegal.htm
deleted file mode 100644
index d9e453f..0000000
--- a/org.eclipse.debug.ui/doc/hglegal.htm
+++ /dev/null
@@ -1,13 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2001. All Rights Reserved.

-</body>

-</html>

diff --git a/org.eclipse.debug.ui/doc/ngibmcpy.gif b/org.eclipse.debug.ui/doc/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/org.eclipse.debug.ui/doc/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui.html b/org.eclipse.debug.ui/doc/org_eclipse_debug_ui.html
deleted file mode 100644
index 6085ed2..0000000
--- a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>README Debug User Interface Extension Points</title>

-</head>

-

-<body link="#0000FF" vlink="#800080">

-

-<h1 align="center">Debug Platform User-Interface</h1>

-

-<p>The platform debug UI plug-in, <b>org.eclipse.debug.ui</b>, implements a

-debug user-interface, allowing the user to view and manipulate debug targets, processes,

-threads, stack frames and variables. It provides standard debug actions such as

-stepping, terminating, etc. <br>

-</p>

-

-<hr>

-

-<h1>Extension Points</h1>

-

-<p>The following extension points are used to support and extend the debug UI.: 

-

-<ul>

-  <li><a href="org_eclipse_debug_ui_debugActionGroups.html">org.eclipse.debug.ui.debugActionGroups</a></li>

-  <li><a href="org_eclipse_debug_ui_debugModelPresentations.html">org.eclipse.debug.ui.debugModelPresentations</a></li>

-  <li><a href="org_eclipse_debug_ui_launchConfigurationTabGroups.html">org.eclipse.debug.ui.launchConfigurationTabGroups</a></li>

-  <li><a href="org_eclipse_debug_ui_launchConfigurationTypeImages.html">org.eclipse.debug.ui.launchConfigurationTypeImages</a></li>

-  <li><a href="org_eclipse_debug_ui_launchShortcuts.html">org.eclipse.debug.ui.launchShortcuts</a></li>

-</ul>

-

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."

-border="0" width="195" height="12"></a></p>

-</body>

-</html>

diff --git a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_debugActionGroups.html b/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_debugActionGroups.html
deleted file mode 100644
index 876b429..0000000
--- a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_debugActionGroups.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>README Debug Action Groups</title>

-</head>

-

-<body link="#0000FF" vlink="#800080">

-

-<h1 align="center">Debug Action Groups</h1>

-

-<p><b><i>Identifier: </i></b>org.eclipse.debug.ui.debugActionGroups </p>

-

-<p><b><i>Description: </i></b>This extension point provides a mechanism to specify the visibility of action

-groups.  Any view that returns an instance of IDebugView when queried with #getAdapter(IDebugView.class) will

- have its context menu and toolbar affected by the visibility of the action groups.

-

-<p><b><i>Configuration Markup:</i></b> </p>

-

-<pre>

-<tt>&nbsp;&nbsp; &lt;!ELEMENT debugActionGroup (action)*</tt>&gt;

-<tt>&nbsp;&nbsp; &lt;!ATTLIST debugActionGroup</tt> 

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; visible&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #IMPLIED</tt>&gt;

-</pre>

-

-<ul>

- <li><code>id</code>  - specifies a unique identifier for this debug action group.</li>

- <li><code>name</code>  - a translatable name that will be used for the debug action group label.</li>

- <li><code>visible</code>  - an optional attribute indicating the visibility of the group.  If omitted the group is set to be visible</li>

-</ul>

-

-<pre>

-<tt>&nbsp;&nbsp; &lt;!ELEMENT action</tt>&gt;

-<tt>&nbsp;&nbsp; &lt;!ATTLIST action</tt> 

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>&gt;

-</pre>

-

-<ul>

- <li><code>id</code> - the unique identifier of an action that will be added to the debug action group</li>

-</ul>

-

-<p><b><i>Examples:</i></b> </p>

-

-<p>The following is an example of a debug action group extension point.  In all 

-debug views (views that return an instance of IDebugView when queried with #getAdapter(IDebugView.class)), the actions listed will not be visible in the toolbar or context menu of the view. </p>

-

-<pre>

-&lt;extension point = "org.eclipse.debug.ui.debugActionGroups"&gt;

-	&lt;debugActionGroup

-		id = "org.eclipse.jdt.debug.ui.javaDebugActionGroup"

-	   	visible="false"

-	   	name="Java Debug"&gt;

-	   	&lt;action id="org.eclipse.jdt.ui.actions.RunToLineToolbar"/&gt;

-	   	&lt;action id="org.eclipse.jdt.ui.breakpointViewActions.ShowQualified"/&gt;

-	&lt;/debugActionGroup&gt;

-&lt;/extension&gt;

-</pre>

-

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."

-border="0" width="195" height="12"></a></p>

-</body>

-</html>

diff --git a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_debugModelPresentations.html b/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_debugModelPresentations.html
deleted file mode 100644
index 8690dbd..0000000
--- a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_debugModelPresentations.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>README Viewer Label Provider Extension Points</title>

-</head>

-

-<body link="#0000FF" vlink="#800080">

-

-<h1 align="center">Debug Model Presentation</h1>

-

-<p><b><i>Identifier: </i></b>org.eclipse.debug.ui.debugModelPresentations</p>

-

-<p><b><i>Description: </i></b>This extension point allows tools to handle the presentation

-aspects of a debug model. A debug model presentation is responsible for providing labels,

-images and editors for elements in a specific debug model.</p>

-

-<p><b><i>Configuration Markup:</i></b> </p>

-

-<p><tt>&nbsp;&nbsp; &lt;!ATTLIST debugModelPresentation</tt> <br>

-<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp; &nbsp;&nbsp;CDATA #REQUIRED</tt> <tt>

-<br>

-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id &nbsp; &nbsp; &nbsp;&nbsp; CDATA #REQUIRED</tt> <tt>

-<br>

-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; detailsViewerConfiguration &nbsp; &nbsp; &nbsp;&nbsp; CDATA #IMPLIED</tt>&gt;

-<ul>

-  <li><b>class</b> - fully qualifed name of a Java class that implements the <b>

-  org.eclipse.debug.ui.IDebugModelPresentation</b></li>

-  <li><strong>id</strong> - the identifier of the debug model this presentation is

-    responsible for</li>

-  <li><strong>detailsViewerConfiguration</strong> optionally specifies the fully qualified name of the Java class

-    that is an instance of <b>org.eclipse.jface.text.source.SourceViewerConfiguration</b>.

-    When specified, the source viewer configuration will be used in the "details" area of the

-    variables and expressions view when displaying the details of an element from the

-    debug model associated with this debug model presentation. When unspecified,

-    a default configuration is used.</li>    

-</ul>

-

-<p><b><i>Examples:</i></b> </p>

-

-<p>The following is an example of a view filter extension point: </p>

-

-<pre><tt>&nbsp;&nbsp; &lt;extension</tt> 

-<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; point = &quot;org.eclipse.debug.ui.debugModelPresentations&quot;&gt;</tt> 

-<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;debugModelPresentation</tt> 

-<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class = &quot;com.example.JavaModelPresentation&quot;&gt;</tt> 

-<tt>	     id = &quot;com.example.JavaDebugModel&quot;&gt;

-	&lt;/debugModelPresentation&gt;</tt> 

-<tt>&nbsp;&nbsp; &lt;/extension&gt;</tt></pre>

-

-<p>In the example above, the class <tt>com.example.JavaModelPresentation</tt> will be used

-to render and present debug elements originating from the debug model identified by <b>

-com.example.JavaDebugModel</b>.</p>

-

-<p><b><i>API Information: </i></b>Value of the action attribute <b>class</b> must be a

-fully qualified class name of a Java class that implements <b>

-org.eclipse.debug.ui.IDebugModelPresentation.</b></p>

-

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."

-border="0" width="195" height="12"></a></p>

-</body>

-</html>

diff --git a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchConfigurationTabGroups.html b/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchConfigurationTabGroups.html
deleted file mode 100644
index 720e091..0000000
--- a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchConfigurationTabGroups.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>README Launch Configuration Tab Groups Extension Point</title>

-</head>

-

-<body link="#0000FF" vlink="#800080">

-

-<h1 align="center">Launch Configuration Tab Groups</h1>

-

-<p><b><i>Identifier: </i></b>org.eclipse.debug.ui.launchConfigurationTabGroups</p>

-

-<p><b><i>Description: </i></b>This extension point provides a

-mechanism for contributing a group of tabs to the launch configuration dialog

-for a type of launch configuration.</p>

-

-<p><b><i>Configuration Markup:</i></b> </p>

-

-<pre>

-<tt>&nbsp;&nbsp; &lt;!ELEMENT launchConfigurationTabGroup</tt>&gt;

-<tt>&nbsp;&nbsp; &lt;!ATTLIST launchConfigurationTabGroup</tt> 

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-</pre>

-

-<ul>

-<li><code>id</code> specifies a unique identifier for this launch configuration

- tab group.</li>

-<li><code>type</code> specifies launch configuration type that this tab

- group is applicable to (corresponds to the id of a launch configuration type

- extension).</li>

-<li><code>class</code> specifies a fully qualified name of a Java class

- that implements <code>ILaunchConfigurationTabGroup</code>.</li>

-</ul>

-

-<p><b><i>Examples:</i></b> </p>

-

-<p>The following is an example of a launch configuration tab group extension point: </p>

-

-<pre>

-&lt;extension point="org.eclipse.debug.ui.launchConfigurationTabGroups"&gt;

-  &lt;launchConfigurationTabGroup 

-     id="com.example.ExampleTabGroup"

-     type="com.example.ExampleLaunchConfigurationTypeIdentifier"

-     class="com.example.ExampleLaunchConfigurationTabGroupClass"&gt;

-  &lt;/launchConfigurationTabGroup&gt;

-&lt;/extension&gt;

-</pre>

-<p>In the above example, the contributed tab group will be shown in the launch configuration dialog for the launch configuration type

-with identifier <code>com.example.ExampleLaunchConfigurationTypeIdentifier</code>.

-</p>

-

-<p><b><i>API Information: </i></b>Value of the attribute <b>class</b> must be a fully

-qualified name of a Java class that implements the interface <b>

-org.eclipse.debug.ui.ILaunchConfigurationTabGroup</b>.

-</p>

-

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."

-border="0" width="195" height="12"></a></p>

-</body>

-</html>

diff --git a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchConfigurationTypeImages.html b/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchConfigurationTypeImages.html
deleted file mode 100644
index ef01667..0000000
--- a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchConfigurationTypeImages.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>README Launch Configuration Type Images</title>

-</head>

-

-<body link="#0000FF" vlink="#800080">

-

-<h1 align="center">Launch Configuration Type Images</h1>

-

-<p><b><i>Identifier: </i></b>org.eclipse.debug.ui.launchConfigurationTypeImages </p>

-

-<p><b><i>Description: </i></b>This extension point provides a way to associate an image with

-a launch configuration type.</p>

-

-<p><b><i>Configuration Markup:</i></b> </p>

-

-<pre>

-<tt>&nbsp;&nbsp; &lt;!ELEMENT launchConfigurationTypeImage</tt>&gt;

-<tt>&nbsp;&nbsp; &lt;!ATTLIST launchConfigurationTypeImage</tt> 

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; configTypeID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>&gt;

-</pre>

-

-<ul>

- <li><code>id</code> specifies a unique identifier for this launch configuration type image.</li>

- <li><code>configTypeID</code> specifies the fully qualified ID of a launch configuration type.</li>

- <li><code>icon</code> specifies the plugin-relative path of an image file.</li>

-</ul>

-

-<p><b><i>Examples:</i></b> </p>

-

-<p>The following is an example of a launch configuration type image extension point: </p>

-

-<pre>

-&lt;extension point="org.eclipse.debug.ui.launchConfigurationTypeImages"&gt;

-   &lt;launchConfigurationTypeImage 

-      id="com.example.FirstLaunchConfigurationTypeImage"

-      configTypeID="com.example.FirstLaunchConfigurationType"

-      icon="icons/FirstLaunchConfigurationType.gif"&gt;

-   &lt;/launchConfigurationTypeImage&gt;

-&lt;/extension&gt;

-</pre>

-

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."

-border="0" width="195" height="12"></a></p>

-</body>

-</html>

diff --git a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchShortcuts.html b/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchShortcuts.html
deleted file mode 100644
index 030b977..0000000
--- a/org.eclipse.debug.ui/doc/org_eclipse_debug_ui_launchShortcuts.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>README Launch Shortcuts Extension Point</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<h1 align="center">Launch Shortcuts</h1>
-
-<p><b><i>Identifier: </i></b>org.eclipse.debug.ui.launchShortcuts</p>
-
-<p><b><i>Description: </i></b>This extension point provides
-support for selection sensitive launching. Extensions register a shortcut which appears
-in the run and/or debug cascade menus to launch the current workbench selection or active
-editor.</p>
-
-<p><b><i>Configuration Markup:</i></b> </p>
-
-<pre>
-<tt>&nbsp;&nbsp; &lt;!ELEMENT shortcut (perspective)*</tt>&gt;
-<tt>&nbsp;&nbsp; &lt;!ATTLIST shortcut</tt> 
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; modes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>
-</pre>
-
-<ul>
-<li><code>id</code> specifies a unique identifier for this launch shortcut.</li>
-<li><code>modes</code> specifies a comma separated list of modes this shortcut supports.</li>
-<li><code>class</code> specifies the fully qualified name of a class which implements
- <code>org.eclipse.debug.ui.ILaunchShortcut</code>.</li>
-<li><code>label</code> specifies a translatable label used to render this shortcut.</li> 
-<li><code>icon</code> specifies a plug-in relative path to an image used to render this
- shortcut.</li> 
-</ul>
-
-<pre>
-<tt>&nbsp;&nbsp; &lt;!ELEMENT perspective</tt>&gt;
-<tt>&nbsp;&nbsp; &lt;!ATTLIST perspective</tt> 
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED</tt>&gt;
-</pre>
-
-<ul>
- <li><code>id</code> - the unique identifier of a perspective in which a menu shortcut for the
- this launch shortcut will appear</li>
-</ul>
-
-<p><b><i>Examples:</i></b> </p>
-
-<p>The following is an example of a launch shortcut extension point: </p>
-
-<pre>
-&lt;extension point="org.eclipse.debug.ui.launchShortcuts
-  &lt;shortcut
-     id="com.example.ExampleLaunchShortcutId"
-     modes="run,debug"
-     class="com.example.ExampleLaunchShortcutImpl"
-     label="Example Launch Shortcut"
-     icon="icons\example.gif"&gt;
-     &lt;perspective id="org.eclipse.jdt.ui.JavaPerspective"/&gt;
-     &lt;perspective id="org.eclipse.debug.ui.DebugPerspective"/&gt;     
-  &lt;/shortcut&gt;
-&lt;/extension&gt;
-</pre>
-<p>In the above example, a launch shortcut will be shown in the run and debug cascade menus
-with the label "Example Launch Shortcut", in the
-JavaPerspective and the DebugPerspective.
-</p>
-
-<p><b><i>API Information: </i></b>Value of the attribute <b>class</b> must be a fully
-qualified name of a Java class that implements the interface <b>
-org.eclipse.debug.ui.ILaunchShortcut</b>.
-</p>
-
-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."
-border="0" width="195" height="12"></a></p>
-</body>
-</html>
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/changevariablevalue_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/changevariablevalue_co.gif
deleted file mode 100644
index b6b6077..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/changevariablevalue_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/clear_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/clear_co.gif
deleted file mode 100644
index 2558326..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/copy_edit_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/copy_edit_co.gif
deleted file mode 100644
index 4274b07..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/copy_edit_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/debuglast_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/debuglast_co.gif
deleted file mode 100644
index 8d8943d..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/debuglast_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/disabled_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/disabled_co.gif
deleted file mode 100644
index 9f2c2e6..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/disabled_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/disconnect_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/disconnect_co.gif
deleted file mode 100644
index f1d5fb3..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/disconnect_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/enabled_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/enabled_co.gif
deleted file mode 100644
index a2f2696..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/enabled_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/metharg_obj.gif b/org.eclipse.debug.ui/icons/full/clcl16/metharg_obj.gif
deleted file mode 100644
index f300af6..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/metharg_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/rem_all_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/rem_all_co.gif
deleted file mode 100644
index 2c069ab..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/rem_all_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/rem_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/rem_co.gif
deleted file mode 100644
index 12a9167..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/resume_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/resume_co.gif
deleted file mode 100644
index 2088548..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/resume_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/runlast_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/runlast_co.gif
deleted file mode 100644
index 6b0c23d..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/runlast_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/stepinto_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/stepinto_co.gif
deleted file mode 100644
index cc1378e..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/stepinto_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/stepover_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/stepover_co.gif
deleted file mode 100644
index 5e24fb9..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/stepover_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/stepreturn_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/stepreturn_co.gif
deleted file mode 100644
index 6081cba..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/stepreturn_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/suspend_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/suspend_co.gif
deleted file mode 100644
index 457893c..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/suspend_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/terminate_all_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/terminate_all_co.gif
deleted file mode 100644
index ec56a24..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/terminate_all_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/terminate_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/terminate_co.gif
deleted file mode 100644
index d47876f..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/terminate_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/terminate_rem_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/terminate_rem_co.gif
deleted file mode 100644
index bd53994..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/terminate_rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/tnames_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/tnames_co.gif
deleted file mode 100644
index 1bbbb95..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/tnames_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/clcl16/toggledetailpane_co.gif b/org.eclipse.debug.ui/icons/full/clcl16/toggledetailpane_co.gif
deleted file mode 100644
index 762cede..0000000
--- a/org.eclipse.debug.ui/icons/full/clcl16/toggledetailpane_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/ctool16/debug_exc.gif b/org.eclipse.debug.ui/icons/full/ctool16/debug_exc.gif
deleted file mode 100644
index 3052a80..0000000
--- a/org.eclipse.debug.ui/icons/full/ctool16/debug_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/ctool16/run_exc.gif b/org.eclipse.debug.ui/icons/full/ctool16/run_exc.gif
deleted file mode 100644
index 8174dad..0000000
--- a/org.eclipse.debug.ui/icons/full/ctool16/run_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/cview16/breakpoint_view.gif b/org.eclipse.debug.ui/icons/full/cview16/breakpoint_view.gif
deleted file mode 100644
index a03a7a2..0000000
--- a/org.eclipse.debug.ui/icons/full/cview16/breakpoint_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/cview16/console_view.gif b/org.eclipse.debug.ui/icons/full/cview16/console_view.gif
deleted file mode 100644
index e6d5b13..0000000
--- a/org.eclipse.debug.ui/icons/full/cview16/console_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/cview16/debug_persp.gif b/org.eclipse.debug.ui/icons/full/cview16/debug_persp.gif
deleted file mode 100644
index dcac23e..0000000
--- a/org.eclipse.debug.ui/icons/full/cview16/debug_persp.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/cview16/debug_view.gif b/org.eclipse.debug.ui/icons/full/cview16/debug_view.gif
deleted file mode 100644
index 0a7e30c..0000000
--- a/org.eclipse.debug.ui/icons/full/cview16/debug_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/cview16/process_view.gif b/org.eclipse.debug.ui/icons/full/cview16/process_view.gif
deleted file mode 100644
index e72be97..0000000
--- a/org.eclipse.debug.ui/icons/full/cview16/process_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/cview16/variable_view.gif b/org.eclipse.debug.ui/icons/full/cview16/variable_view.gif
deleted file mode 100644
index e770104..0000000
--- a/org.eclipse.debug.ui/icons/full/cview16/variable_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/cview16/watchlist_view.gif b/org.eclipse.debug.ui/icons/full/cview16/watchlist_view.gif
deleted file mode 100644
index 99783a2..0000000
--- a/org.eclipse.debug.ui/icons/full/cview16/watchlist_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/changevariablevalue_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/changevariablevalue_co.gif
deleted file mode 100644
index 53762f2..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/changevariablevalue_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/clear_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/clear_co.gif
deleted file mode 100644
index d873c49..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/copy_edit_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/copy_edit_co.gif
deleted file mode 100644
index c7a98e8..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/copy_edit_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/debuglast_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/debuglast_co.gif
deleted file mode 100644
index 24fb050..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/debuglast_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/disabled_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/disabled_co.gif
deleted file mode 100644
index 94cca78..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/disabled_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/disconnect_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/disconnect_co.gif
deleted file mode 100644
index 24a6287..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/disconnect_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/enabled_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/enabled_co.gif
deleted file mode 100644
index 3a35082..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/enabled_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/metharg_obj.gif b/org.eclipse.debug.ui/icons/full/dlcl16/metharg_obj.gif
deleted file mode 100644
index b3597e3..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/metharg_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/rem_all_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/rem_all_co.gif
deleted file mode 100644
index e0cfa6d..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/rem_all_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/rem_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/rem_co.gif
deleted file mode 100644
index 7e0ad4a..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/resume_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/resume_co.gif
deleted file mode 100644
index a281bc1..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/resume_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/runlast_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/runlast_co.gif
deleted file mode 100644
index d390fab..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/runlast_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/stepinto_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/stepinto_co.gif
deleted file mode 100644
index 7be2519..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/stepinto_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/stepover_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/stepover_co.gif
deleted file mode 100644
index 02cf5d3..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/stepover_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/stepreturn_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/stepreturn_co.gif
deleted file mode 100644
index 644da8e..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/stepreturn_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/suspend_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/suspend_co.gif
deleted file mode 100644
index 47f3299..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/suspend_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_all_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/terminate_all_co.gif
deleted file mode 100644
index 76202f0..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_all_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/terminate_co.gif
deleted file mode 100644
index bf15460..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_rem_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/terminate_rem_co.gif
deleted file mode 100644
index 0d7c77e..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/tnames_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/tnames_co.gif
deleted file mode 100644
index 764201b..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/tnames_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/toggledetailpane_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/toggledetailpane_co.gif
deleted file mode 100644
index 17a03c1..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/toggledetailpane_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dtool16/debug_exc.gif b/org.eclipse.debug.ui/icons/full/dtool16/debug_exc.gif
deleted file mode 100644
index 23dfce0..0000000
--- a/org.eclipse.debug.ui/icons/full/dtool16/debug_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dtool16/run_exc.gif b/org.eclipse.debug.ui/icons/full/dtool16/run_exc.gif
deleted file mode 100644
index 087dd57..0000000
--- a/org.eclipse.debug.ui/icons/full/dtool16/run_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/changevariablevalue_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/changevariablevalue_co.gif
deleted file mode 100644
index 899ad97..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/changevariablevalue_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/clear_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/clear_co.gif
deleted file mode 100644
index 6faf8d6..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/copy_edit_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/copy_edit_co.gif
deleted file mode 100644
index 41bf445..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/copy_edit_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/debuglast_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/debuglast_co.gif
deleted file mode 100644
index 9cb7322..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/debuglast_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/disabled_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/disabled_co.gif
deleted file mode 100644
index 4d612b4..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/disabled_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/disconnect_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/disconnect_co.gif
deleted file mode 100644
index ef5bfa8..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/disconnect_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/enabled_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/enabled_co.gif
deleted file mode 100644
index 83bed55..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/enabled_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/metharg_obj.gif b/org.eclipse.debug.ui/icons/full/elcl16/metharg_obj.gif
deleted file mode 100644
index e43f9ee..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/metharg_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/rem_all_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/rem_all_co.gif
deleted file mode 100644
index 33908b1..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/rem_all_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/rem_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/rem_co.gif
deleted file mode 100644
index 310510e..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/resume_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/resume_co.gif
deleted file mode 100644
index 053738c..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/resume_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/runlast_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/runlast_co.gif
deleted file mode 100644
index 7a95d09..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/runlast_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/stepinto_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/stepinto_co.gif
deleted file mode 100644
index 951fb90..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/stepinto_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/stepover_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/stepover_co.gif
deleted file mode 100644
index d84e610..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/stepover_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/stepreturn_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/stepreturn_co.gif
deleted file mode 100644
index 7f9a6ac..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/stepreturn_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/suspend_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/suspend_co.gif
deleted file mode 100644
index c570ac0..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/suspend_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/terminate_all_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/terminate_all_co.gif
deleted file mode 100644
index 87a3d38..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/terminate_all_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/terminate_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/terminate_co.gif
deleted file mode 100644
index 8ea6ff7..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/terminate_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/terminate_rem_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/terminate_rem_co.gif
deleted file mode 100644
index 5fa729c..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/terminate_rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/tnames_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/tnames_co.gif
deleted file mode 100644
index c63f59e..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/tnames_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/toggledetailpane_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/toggledetailpane_co.gif
deleted file mode 100644
index b204c78..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/toggledetailpane_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/etool16/debug_exc.gif b/org.eclipse.debug.ui/icons/full/etool16/debug_exc.gif
deleted file mode 100644
index 6ce0532..0000000
--- a/org.eclipse.debug.ui/icons/full/etool16/debug_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/etool16/run_exc.gif b/org.eclipse.debug.ui/icons/full/etool16/run_exc.gif
deleted file mode 100644
index 95f87ea..0000000
--- a/org.eclipse.debug.ui/icons/full/etool16/run_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/breakpoint_view.gif b/org.eclipse.debug.ui/icons/full/eview16/breakpoint_view.gif
deleted file mode 100644
index 51f1b5b..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/breakpoint_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/console_view.gif b/org.eclipse.debug.ui/icons/full/eview16/console_view.gif
deleted file mode 100644
index f60aba1..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/console_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/debug_persp.gif b/org.eclipse.debug.ui/icons/full/eview16/debug_persp.gif
deleted file mode 100644
index 3a087bb..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/debug_persp.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/debug_view.gif b/org.eclipse.debug.ui/icons/full/eview16/debug_view.gif
deleted file mode 100644
index 032a3dc..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/debug_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/process_view.gif b/org.eclipse.debug.ui/icons/full/eview16/process_view.gif
deleted file mode 100644
index df296ed..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/process_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/variable_view.gif b/org.eclipse.debug.ui/icons/full/eview16/variable_view.gif
deleted file mode 100644
index 18df5a9..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/variable_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/watchlist_view.gif b/org.eclipse.debug.ui/icons/full/eview16/watchlist_view.gif
deleted file mode 100644
index c92154e..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/watchlist_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/brkp_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/brkp_obj.gif
deleted file mode 100644
index 06d0079..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/brkp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/brkpd_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/brkpd_obj.gif
deleted file mode 100644
index 8e8cac5..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/brkpd_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/debugt_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/debugt_obj.gif
deleted file mode 100644
index d139cde..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/debugt_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/debugtt_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/debugtt_obj.gif
deleted file mode 100644
index e9b7ece..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/debugtt_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/expression_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/expression_obj.gif
deleted file mode 100644
index 870df5c..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/expression_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/genericvariable_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/genericvariable_obj.gif
deleted file mode 100644
index 35f9a1d..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/genericvariable_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/ldebug_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/ldebug_obj.gif
deleted file mode 100644
index 93105b3..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/ldebug_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/lrun_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/lrun_obj.gif
deleted file mode 100644
index 2123a44..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/lrun_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/osprc_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/osprc_obj.gif
deleted file mode 100644
index 615fb40..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/osprc_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/osprct_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/osprct_obj.gif
deleted file mode 100644
index da227b3..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/osprct_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/stckframe_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/stckframe_obj.gif
deleted file mode 100644
index 567ea42..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/stckframe_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/stckframe_running_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/stckframe_running_obj.gif
deleted file mode 100644
index ef406cf..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/stckframe_running_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/terminatedlaunch_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/terminatedlaunch_obj.gif
deleted file mode 100644
index 7499143..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/terminatedlaunch_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/thread_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/thread_obj.gif
deleted file mode 100644
index fb5175f..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/thread_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/threads_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/threads_obj.gif
deleted file mode 100644
index 7e4a43c..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/threads_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/threadt_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/threadt_obj.gif
deleted file mode 100644
index f2a1639..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/threadt_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/ovr16/error.gif b/org.eclipse.debug.ui/icons/full/ovr16/error.gif
deleted file mode 100644
index 8612eaf..0000000
--- a/org.eclipse.debug.ui/icons/full/ovr16/error.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/ovr16/stcksync_ov.gif b/org.eclipse.debug.ui/icons/full/ovr16/stcksync_ov.gif
deleted file mode 100644
index 9baffae..0000000
--- a/org.eclipse.debug.ui/icons/full/ovr16/stcksync_ov.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/ovr16/transparent.gif b/org.eclipse.debug.ui/icons/full/ovr16/transparent.gif
deleted file mode 100644
index a9a3cdc..0000000
--- a/org.eclipse.debug.ui/icons/full/ovr16/transparent.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/debug_wiz.gif b/org.eclipse.debug.ui/icons/full/wizban/debug_wiz.gif
deleted file mode 100644
index 0205fd1..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/debug_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/run_wiz.gif b/org.eclipse.debug.ui/icons/full/wizban/run_wiz.gif
deleted file mode 100644
index af6a02e..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/run_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/plugin.properties b/org.eclipse.debug.ui/plugin.properties
deleted file mode 100644
index 7381b43..0000000
--- a/org.eclipse.debug.ui/plugin.properties
+++ /dev/null
@@ -1,82 +0,0 @@
-######################################################################

-# Copyright (c) 2000, 2002 IBM Corp. and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Common Public License v0.5

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/cpl-v05.html

-#

-# Contributors:

-#    IBM Corporation - Initial implementation

-######################################################################

-

-pluginName=Debug UI

-

-BreakpointsView.name=Breakpoints

-commonTabName=&Common

-ConsolePreferencePage.name=Console

-ConsoleView.name=Console

-CopyToClipboardAction.label=&Copy Stack

-CopyVariablesToClipboardAction.label=Copy &Variables

-DebugActionGroupsExtensionName= Debug Action Groups

-DebugActionGroupsPreferencePage.name=Debug Action Groups

-DebugActionSet.label=Debug

-DebugConfigurations.label=D&ebug...

-DebugDropDownAction.label=Debug

-DebugHistoryMenuAction.label=Debug &History

-DebugLastAction.label=&Debug Last Launched@F11

-DebugModelPresentationExtensionName=Debug Model Presentation

-DebugPerspective.name=Debug

-DebugPreferencePage.name=Debug

-DebugView.name=Debug

-DebugViewsCategory.name=Debug

-DebugWithConfigurationAction.label=Debug &As

-DisableBreakpointsAction.label=&Disable

-DisconnectAction.label=Disconn&ect

-DisconnectAction.tooltip=Disconnect

-EnableBreakpointsAction.label=&Enable

-ExpressionView.name=Expressions

-LaunchActionSet.label=Launch

-LaunchConfigurationTabGroupExtensionName=Launch Configuration Tab Group

-LaunchShortcutsName=Launch Shortcut

-LaunchConfigurationTypeImageExtensionName=Launch Configuration Type Image 

-LaunchConfigurationTypePropertyPage.name=Launch Configuration Type

-LaunchConfigurationTypesPreferencePage.name=Launch Configuration Types

-LauncherPropertyPage.name=Launcher

-LaunchHistoryPreferencePage.name=Launch History

-OpenDebugConfigurations.label=De&bug...

-OpenRunConfigurations.label=Ru&n...

-ProcessesView.name=Processes

-RelaunchAction.label=Re&launch

-RemoveAction.label=Rem&ove

-RemoveAllAction.label=Remove A&ll

-RemoveAllBreakpointsAction.tooltip=Remove All Breakpoints

-RemoveAllExpressionsAction.tooltip=Remove All Expressions

-RemoveAllTerminatedAction.label=Remove &All Terminated

-RemoveAllTerminatedAction.tooltip=Remove All Terminated Launches

-RemoveBreakpointAction.tooltip=Remove Selected Breakpoints

-RemoveExpressionAction.tooltip=Remove Selected Expressions

-ResumeAction.label=Resu&me@F8

-ResumeAction.tooltip=Resume

-RunDropDownAction.label=&Run

-RunMenu.label=&Run

-RunLastAction.label=&Run Last Launched@Ctrl+F11

-RunConfigurations.label=R&un Configurations...

-RunHistoryMenuAction.label=R&un History

-RunWithConfigurationAction.label=Run A&s

-SelectAll.label=Select &All

-StepIntoAction.label=Step &Into@F5

-StepIntoAction.tooltip=Step Into

-StepOverAction.label=Step &Over@F6

-StepOverAction.tooltip=Step Over

-StepReturnAction.label=Step Ret&urn@F7

-StepReturnAction.tooltip=Step Return

-SuspendAction.label=&Suspend

-SuspendAction.tooltip=Suspend

-TerminateAction.label=&Terminate

-TerminateAction.tooltip=Terminate

-TerminateAllAction.label=Termi&nate All

-TerminateAndRemoveAction.label=Terminate and Remo&ve

-VariablesView.name=Variables

-VariableViewsPreferencePage.name=Variable Views

-

-providerName=Eclipse.org
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/plugin.xml b/org.eclipse.debug.ui/plugin.xml
deleted file mode 100644
index 9bf65bb..0000000
--- a/org.eclipse.debug.ui/plugin.xml
+++ /dev/null
@@ -1,705 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<plugin

-   id="org.eclipse.debug.ui"

-   name="%pluginName"

-   version="2.0.0"

-   provider-name="%providerName"

-   class="org.eclipse.debug.internal.ui.DebugUIPlugin">

-<!-- Required plugins -->

-<requires>

-   <import plugin="org.apache.xerces"/>

-   <import plugin="org.eclipse.core.resources"/>

-   <import plugin="org.eclipse.ui"/>

-   <import plugin="org.eclipse.debug.core"/>

-</requires>

-

-<!-- Runtime -->

-<runtime>

-   <library name="dtui.jar">

-      <export name="*"/>

-   </library>

-</runtime>

-

-<!-- Extension points -->

-<extension-point id="debugModelPresentations" name="%DebugModelPresentationExtensionName"/>

-<extension-point id="launchShortcuts" name="%LaunchShortcutsName"/>

-<extension-point id="launchConfigurationTabGroups" name="%LaunchConfigurationTabGroupExtensionName"/>

-<extension-point id="launchConfigurationTypeImages" name="%LaunchConfigurationTypeImageExtensionName"/>

-<extension-point id="debugActionGroups" name="%DebugActionGroupsExtensionName"/>

-

-<!-- Extensions -->

-<extension

-      point="org.eclipse.ui.perspectives">

-   <perspective

-         name="%DebugPerspective.name"

-         icon="icons/full/cview16/debug_persp.gif"

-         class="org.eclipse.debug.internal.ui.DebugPerspectiveFactory"

-         id="org.eclipse.debug.ui.DebugPerspective">

-   </perspective>

-</extension>

-<extension

-      point="org.eclipse.ui.views">

-   <category

-         name="%DebugViewsCategory.name"

-         id="org.eclipse.debug.ui">

-   </category>

-   <view

-         name="%DebugView.name"

-         icon="icons/full/cview16/debug_view.gif"

-         category="org.eclipse.debug.ui"

-         class="org.eclipse.debug.internal.ui.views.launch.LaunchView"

-         id="org.eclipse.debug.ui.DebugView">

-   </view>

-   <view

-         name="%BreakpointsView.name"

-         icon="icons/full/cview16/breakpoint_view.gif"

-         category="org.eclipse.debug.ui"

-         class="org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView"

-         id="org.eclipse.debug.ui.BreakpointView">

-   </view>

-   <view

-         name="%VariablesView.name"

-         icon="icons/full/cview16/variable_view.gif"

-         category="org.eclipse.debug.ui"

-         class="org.eclipse.debug.internal.ui.views.variables.VariablesView"

-         id="org.eclipse.debug.ui.VariableView">

-   </view>

-   <view

-         name="%ExpressionView.name"

-         icon="icons/full/cview16/watchlist_view.gif"

-         category="org.eclipse.debug.ui"

-         class="org.eclipse.debug.internal.ui.views.expression.ExpressionView"

-         id="org.eclipse.debug.ui.ExpressionView">

-   </view>   

-   <view

-         name="%ConsoleView.name"

-         icon="icons/full/cview16/console_view.gif"

-         category="org.eclipse.debug.ui"

-         class="org.eclipse.debug.internal.ui.views.console.ConsoleView"

-         id="org.eclipse.debug.ui.ConsoleView">

-   </view>

-</extension>

-<extension

-      point="org.eclipse.ui.preferencePages">

-   <page

-         name="%DebugPreferencePage.name"

-         class="org.eclipse.debug.internal.ui.preferences.DebugPreferencePage"

-         id="org.eclipse.debug.ui.DebugPreferencePage">

-   </page>

-   <page

-         name="%ConsolePreferencePage.name"

-         category="org.eclipse.debug.ui.DebugPreferencePage"

-         class="org.eclipse.debug.internal.ui.preferences.ConsolePreferencePage"

-         id="org.eclipse.debug.ui.ConsolePreferencePage">

-   </page>

-   <page

-         name="%VariableViewsPreferencePage.name"

-         category="org.eclipse.debug.ui.DebugPreferencePage"

-         class="org.eclipse.debug.internal.ui.preferences.VariableViewsPreferencePage"

-         id="org.eclipse.debug.ui.VariableViewsPreferencePage">

-   </page>

-   <page

-         name="%LaunchHistoryPreferencePage.name"

-         category="org.eclipse.debug.ui.DebugPreferencePage"

-         class="org.eclipse.debug.internal.ui.preferences.LaunchHistoryPreferencePage"

-         id="org.eclipse.debug.ui.LaunchHistoryPreferencePage">

-   </page>

-    <page

-         name="%DebugActionGroupsPreferencePage.name"

-         category="org.eclipse.debug.ui.DebugPreferencePage"

-         class="org.eclipse.debug.internal.ui.preferences.DebugActionGroupsPreferencePage"

-         id="org.eclipse.debug.ui.DebugActionGroupsPreferencePage">

-   </page>     

-</extension>

-<extension

-      point="org.eclipse.ui.actionSets">

-   <actionSet

-         label="%DebugActionSet.label"

-         visible="false"

-         id="org.eclipse.debug.ui.debugActionSet">

-      <menu

-            label="%RunMenu.label"

-            id="org.eclipse.ui.run"

-			path="additions">

-        <separator name="stepGroup"/>

-		<groupMarker name="stepIntoGroup"/>

-		<groupMarker name="stepOverGroup"/>

-        <groupMarker name="stepReturnGroup"/>

-        <groupMarker name="emptyStepGroup"/>

-      </menu>

-        <action

-            label="%StepReturnAction.label"

-            icon="icons/full/elcl16/stepreturn_co.gif"

-            disabledIcon="icons/full/dlcl16/stepreturn_co.gif"

-            hoverIcon="icons/full/clcl16/stepreturn_co.gif"

-            helpContextId="step_return_action_context"

-            class="org.eclipse.debug.internal.ui.actions.StepReturnActionDelegate"

-            menubarPath="org.eclipse.ui.run/stepReturnGroup"

-            id="org.eclipse.debug.internal.ui.actions.StepReturnActionDelegate">

-      </action>

-      <action

-            label="%StepOverAction.label"

-            icon="icons/full/elcl16/stepover_co.gif"

-            disabledIcon="icons/full/dlcl16/stepover_co.gif"

-            hoverIcon="icons/full/clcl16/stepover_co.gif"

-            helpContextId="step_over_action_context"

-            class="org.eclipse.debug.internal.ui.actions.StepOverActionDelegate"

-            menubarPath="org.eclipse.ui.run/stepOverGroup"

-            id="org.eclipse.debug.internal.ui.actions.StepOverActionDelegate">

-      </action>

-      <action

-            label="%StepIntoAction.label"

-            icon="icons/full/elcl16/stepinto_co.gif"

-            disabledIcon="icons/full/dlcl16/stepinto_co.gif"

-            hoverIcon="icons/full/clcl16/stepinto_co.gif"

-            helpContextId="step_into_action_context"

-            class="org.eclipse.debug.internal.ui.actions.StepIntoActionDelegate"

-            menubarPath="org.eclipse.ui.run/stepIntoGroup"

-            id="org.eclipse.debug.internal.ui.actions.StepIntoActionDelegate">

-      </action>

-      <action

-            label="%TerminateAction.label"

-            icon="icons/full/elcl16/terminate_co.gif"

-            disabledIcon="icons/full/dlcl16/terminate_co.gif"

-            hoverIcon="icons/full/clcl16/terminate_co.gif"

-            helpContextId="terminate_action_context"

-            class="org.eclipse.debug.internal.ui.actions.TerminateActionDelegate"

-            menubarPath="org.eclipse.ui.run/stepGroup"

-            id="org.eclipse.debug.internal.ui.actions.TerminateActionDelegate">

-      </action>

-      <action

-            label="%SuspendAction.label"

-            icon="icons/full/elcl16/suspend_co.gif"

-            disabledIcon="icons/full/dlcl16/suspend_co.gif"

-            hoverIcon="icons/full/clcl16/suspend_co.gif"

-            helpContextId="suspend_action_context"

-            class="org.eclipse.debug.internal.ui.actions.SuspendActionDelegate"

-            menubarPath="org.eclipse.ui.run/stepGroup"

-            id="org.eclipse.debug.internal.ui.actions.SuspendActionDelegate">

-      </action>

-      <action

-            label="%ResumeAction.label"

-            icon="icons/full/elcl16/resume_co.gif"

-            disabledIcon="icons/full/dlcl16/resume_co.gif"

-            hoverIcon="icons/full/clcl16/resume_co.gif"

-            helpContextId="resume_action_context"

-            class="org.eclipse.debug.internal.ui.actions.ResumeActionDelegate"

-            menubarPath="org.eclipse.ui.run/stepGroup"

-            id="org.eclipse.debug.internal.ui.actions.ResumeActionDelegate">

-      </action>

-   </actionSet>

-</extension>

-<extension

-      point="org.eclipse.ui.actionSets">

-   <actionSet

-         label="%LaunchActionSet.label"

-         visible="false"

-         id="org.eclipse.debug.ui.launchActionSet">

-      <menu

-           label="%RunMenu.label"

-           id="org.eclipse.ui.run"

-           path="additions">

-         <separator name="relaunchGroup"/>

-         <separator name="runGroup"/>

-         <separator name="debugGroup"/>

-         <separator name="emptyLaunchGroup"/>

-      </menu>

-      <action

-            label="%OpenRunConfigurations.label"

-            class="org.eclipse.debug.internal.ui.actions.OpenRunConfigurations"

-            menubarPath="org.eclipse.ui.run/runGroup"

-            helpContextId="open_run_configurations_action_context"

-            id="org.eclipse.debug.internal.ui.actions.OpenRunConfigurations">

-      </action>

-      <action

-            label="%RunWithConfigurationAction.label"

-            class="org.eclipse.debug.internal.ui.actions.RunWithConfigurationAction"

-            menubarPath="org.eclipse.ui.run/runGroup"

-            helpContextId="run_with_configuration_action_context"

-            id="org.eclipse.debug.internal.ui.actions.RunWithConfigurationAction">

-      </action>

-      <action

-            label="%RunHistoryMenuAction.label"

-            class="org.eclipse.debug.internal.ui.actions.RunHistoryMenuAction"

-            menubarPath="org.eclipse.ui.run/runGroup"

-            helpContextId="run_history_menu_action_context"

-            id="org.eclipse.debug.internal.ui.actions.RunHistoryMenuAction">

-      </action>

-       <action

-            label="%DebugLastAction.label"

-            icon="icons/full/elcl16/debuglast_co.gif"

-            disabledIcon="icons/full/dlcl16/debuglast_co.gif"

-            hoverIcon="icons/full/clcl16/debuglast_co.gif"

-            class="org.eclipse.debug.internal.ui.actions.DebugLastAction"

-    		menubarPath="org.eclipse.ui.run/relaunchGroup"

-    		helpContextId="debug_last_action_context"

-            id="org.eclipse.debug.internal.ui.actions.DebugLastAction">

-      </action>

-      <action

-            label="%RunLastAction.label"

-            icon="icons/full/elcl16/runlast_co.gif"

-            disabledIcon="icons/full/dlcl16/runlast_co.gif"

-            hoverIcon="icons/full/clcl16/runlast_co.gif"

-            helpContextId="run_last_action_context"

-            class="org.eclipse.debug.internal.ui.actions.RunLastAction"

-            menubarPath="org.eclipse.ui.run/relaunchGroup"

-            id="org.eclipse.debug.internal.ui.actions.RunLastAction">

-      </action>

-      <action

-            label="%RunDropDownAction.label"

-            pulldown="true"

-            icon="icons/full/etool16/run_exc.gif"

-            disabledIcon="icons/full/dtool16/run_exc.gif"

-            hoverIcon="icons/full/ctool16/run_exc.gif"

-            helpContextId="run_action_context"

-            class="org.eclipse.debug.internal.ui.actions.RunDropDownAction"

-            toolbarPath="debug"

-            id="org.eclipse.debug.internal.ui.actions.RunDropDownAction">

-      </action>

-      <action

-            label="%OpenDebugConfigurations.label"

-            class="org.eclipse.debug.internal.ui.actions.OpenDebugConfigurations"

-    		menubarPath="org.eclipse.ui.run/debugGroup"

-    		helpContextId="open_debug_configurations_action_context"

-            id="org.eclipse.debug.internal.ui.actions.OpenDebugConfigurations">

-      </action>

-      <action

-            label="%DebugWithConfigurationAction.label"

-            class="org.eclipse.debug.internal.ui.actions.DebugWithConfigurationAction"

-    		menubarPath="org.eclipse.ui.run/debugGroup"

-    		helpContextId="debug_with_configuration_action_context"

-            id="org.eclipse.debug.internal.ui.actions.DebugWithConfigurationAction">

-      </action>

-      <action

-            label="%DebugHistoryMenuAction.label"

-            class="org.eclipse.debug.internal.ui.actions.DebugHistoryMenuAction"

-    		menubarPath="org.eclipse.ui.run/debugGroup"

-    		helpContextId="debug_history_menu_action_context"

-            id="org.eclipse.debug.internal.ui.actions.DebugHistoryMenuAction">

-      </action>

-      <action

-      		label="%DebugDropDownAction.label"

-            pulldown="true"

-            icon="icons/full/etool16/debug_exc.gif"

-            disabledIcon="icons/full/dtool16/debug_exc.gif"

-            hoverIcon="icons/full/ctool16/debug_exc.gif"

-            helpContextId="debug_action_context"

-            class="org.eclipse.debug.internal.ui.actions.DebugDropDownAction"

-            toolbarPath="debug"

-            id="org.eclipse.debug.internal.ui.actions.DebugDropDownAction">

-      </action>

-      </actionSet>

-</extension>

-

-<extension point = "org.eclipse.ui.viewActions">

-<!-- Contributions to Debug View Toolbar -->

-	<viewContribution

-		id = "org.eclipse.debug.ui.debugview.toolbar"

-		targetID = "org.eclipse.debug.ui.DebugView">

-<!-- Thread Group -->

-		<action

-			id = "org.eclipse.debug.ui.debugview.toolbar.removeAllTerminated"

-			toolbarPath = "threadGroup"

-			icon = "icons/full/elcl16/rem_all_co.gif"

-			disabledIcon="icons/full/dlcl16/rem_all_co.gif"

-            hoverIcon="icons/full/clcl16/rem_all_co.gif"

-			helpContextId = "remove_all_terminated_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.RemoveAllTerminatedAction"

-			tooltip="%RemoveAllTerminatedAction.tooltip"

-			label="%RemoveAllTerminatedAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.toolbar.disconnect"

-			toolbarPath = "threadGroup"

-			icon = "icons/full/elcl16/disconnect_co.gif"

-			disabledIcon="icons/full/dlcl16/disconnect_co.gif"

-            hoverIcon="icons/full/clcl16/disconnect_co.gif"

-			helpContextId = "disconnect_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.DisconnectActionDelegate"

-			tooltip="%DisconnectAction.tooltip"

-			label="%DisconnectAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.toolbar.terminate"

-			toolbarPath = "threadGroup"

-			icon = "icons/full/elcl16/terminate_co.gif"

-			disabledIcon= "icons/full/dlcl16/terminate_co.gif"

-            hoverIcon= "icons/full/clcl16/terminate_co.gif"

-			helpContextId = "terminate_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.TerminateActionDelegate"

-			tooltip="%TerminateAction.tooltip"

-			label="%TerminateAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.toolbar.suspend"

-			toolbarPath = "threadGroup"

-			icon = "icons/full/elcl16/suspend_co.gif"

-			disabledIcon= "icons/full/dlcl16/suspend_co.gif"

-            hoverIcon= "icons/full/clcl16/suspend_co.gif"

-			helpContextId = "suspend_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.SuspendActionDelegate"

-			tooltip="%SuspendAction.tooltip"

-			label="%SuspendAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.toolbar.resume"

-			toolbarPath = "threadGroup"

-			icon = "icons/full/elcl16/resume_co.gif"

-			disabledIcon= "icons/full/dlcl16/resume_co.gif"

-            hoverIcon= "icons/full/clcl16/resume_co.gif"

-			helpContextId = "resume_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.ResumeActionDelegate"

-			tooltip="%ResumeAction.tooltip"

-			label="%ResumeAction.label">

-		</action>

-<!-- Step Group -->

-		<action

-			id = "org.eclipse.debug.ui.debugview.toolbar.stepReturn"

-			toolbarPath = "stepReturnGroup"

-			icon = "icons/full/elcl16/stepreturn_co.gif"

-			disabledIcon= "icons/full/dlcl16/stepreturn_co.gif"

-            hoverIcon= "icons/full/clcl16/stepreturn_co.gif"

-			helpContextId = "step_return_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.StepReturnActionDelegate"

-			tooltip="%StepReturnAction.tooltip"

-			label="%StepReturnAction.label">

-		</action>		

-		<action

-			id = "org.eclipse.debug.ui.debugview.toolbar.stepOver"

-			toolbarPath = "stepOverGroup"

-			icon = "icons/full/elcl16/stepover_co.gif"

-			disabledIcon= "icons/full/dlcl16/stepover_co.gif"

-            hoverIcon= "icons/full/clcl16/stepover_co.gif"

-			helpContextId = "step_over_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.StepOverActionDelegate"

-			tooltip="%StepOverAction.tooltip"

-			label="%StepOverAction.label">

-		</action>			

-		<action

-			id = "org.eclipse.debug.ui.debugview.toolbar.stepInto"

-			toolbarPath = "stepIntoGroup"

-			icon = "icons/full/elcl16/stepinto_co.gif"

-			disabledIcon= "icons/full/dlcl16/stepinto_co.gif"

-            hoverIcon= "icons/full/clcl16/stepinto_co.gif"

-			helpContextId = "step_into_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.StepIntoActionDelegate"

-			tooltip="%StepIntoAction.tooltip"

-			label="%StepIntoAction.label">

-		</action>		

-	</viewContribution>

-<!-- Contributions to Console View Toolbar -->

-	<viewContribution

-		id = "org.eclipse.debug.ui.consoleview.toolbar"

-		targetID = "org.eclipse.debug.ui.ConsoleView">

-		<action

-			id = "org.eclipse.debug.ui.consoleView.toolbar.terminate"

-			icon = "icons/full/elcl16/terminate_co.gif"

-			disabledIcon= "icons/full/dlcl16/terminate_co.gif"

-            hoverIcon= "icons/full/clcl16/terminate_co.gif"

-			helpContextId = "console_terminate_action_context"

-			toolbarPath = "launchGroup"

-			class = "org.eclipse.debug.internal.ui.actions.ConsoleTerminateActionDelegate"

-			tooltip="%TerminateAction.tooltip"

-			label="%TerminateAction.label">

-		</action>

-	</viewContribution>

-<!-- Contributions to Breakpoints View Toolbar -->

-	<viewContribution

-		id = "org.eclipse.debug.ui.breakpointsview.toolbar"

-		targetID = "org.eclipse.debug.ui.BreakpointView">

-		<action

-			id = "org.eclipse.debug.ui.breakpointsView.toolbar.removeAll"

-			icon = "icons/full/elcl16/rem_all_co.gif"

-			disabledIcon= "icons/full/dlcl16/rem_all_co.gif"

-            hoverIcon= "icons/full/clcl16/rem_all_co.gif"

-			helpContextId = "remove_all_breakpoints_action_context"

-			toolbarPath = "breakpointGroup"

-			class = "org.eclipse.debug.internal.ui.actions.RemoveAllBreakpointsAction"

-			tooltip="%RemoveAllBreakpointsAction.tooltip"

-			label="%RemoveAllAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.breakpointsView.toolbar.remove"

-			icon = "icons/full/elcl16/rem_co.gif"

-			disabledIcon= "icons/full/dlcl16/rem_co.gif"

-            hoverIcon=  "icons/full/clcl16/rem_co.gif"

-			helpContextId = "remove_breakpoint_action_context"

-			toolbarPath = "breakpointGroup"

-			class = "org.eclipse.debug.internal.ui.actions.RemoveBreakpointAction"

-			tooltip="%RemoveBreakpointAction.tooltip"

-			label="%RemoveAction.label">

-		</action>

-	</viewContribution>

-<!-- Contributions to Expression View Toolbar -->

-	<viewContribution

-		id = "org.eclipse.debug.ui.expressionsView.toolbar"

-		targetID = "org.eclipse.debug.ui.ExpressionView">

-		<action

-			id = "org.eclipse.debug.ui.expresssionsView.toolbar.removeAll"

-			icon = "icons/full/elcl16/rem_all_co.gif"

-			disabledIcon= "icons/full/dlcl16/rem_all_co.gif"

-            hoverIcon=  "icons/full/clcl16/rem_all_co.gif"

-			helpContextId = "remove_all_expressions_action_context"

-			toolbarPath = "expressionGroup"

-			class = "org.eclipse.debug.internal.ui.actions.RemoveAllExpressionsAction"

-			tooltip="%RemoveAllExpressionsAction.tooltip"

-			label="%RemoveAllAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.expresssionsView.toolbar.remove"

-			icon = "icons/full/elcl16/rem_co.gif"

-			disabledIcon= "icons/full/dlcl16/rem_co.gif"

-            hoverIcon=  "icons/full/clcl16/rem_co.gif"

-			helpContextId = "remove_expression_action_context"

-			toolbarPath = "expressionGroup"

-			class = "org.eclipse.debug.internal.ui.actions.RemoveExpressionAction"

-			tooltip="%RemoveExpressionAction.tooltip"

-			label="%RemoveAction.label">

-		</action>

-	</viewContribution>

-</extension>

-

-<extension point = "org.eclipse.ui.popupMenus">

-<!-- Contributions to Debug View Popup Menu -->

-	<viewerContribution

-		id = "org.eclipse.debug.ui.debugview.popupMenu"

-		targetID = "org.eclipse.debug.ui.DebugView">

-<!-- Edit Group -->

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.copyToClipboard"

-			menubarPath = "editGroup"

-			icon = "icons/full/clcl16/copy_edit_co.gif"

-			helpContextId = "copy_to_clipboard_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.CopyToClipboardActionDelegate"

-			label="%CopyToClipboardAction.label">

-		</action>

-<!-- Launch Group -->

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.terminateAll"

-			menubarPath = "launchGroup"

-			helpContextId = "terminate_all_action_context"

-			icon = "icons/full/clcl16/terminate_all_co.gif"

-			class = "org.eclipse.debug.internal.ui.actions.TerminateAllAction"

-			label="%TerminateAllAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.relaunch"

-			menubarPath = "launchGroup"

-			icon = "icons/full/clcl16/runlast_co.gif"

-			helpContextId = "relaunch_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.RelaunchActionDelegate"

-			label="%RelaunchAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.terminateAndRemove"

-			menubarPath = "launchGroup"

-			helpContextId = "terminate_and_remove_action_context"

-			icon = "icons/full/clcl16/terminate_rem_co.gif"

-			class = "org.eclipse.debug.internal.ui.actions.TerminateAndRemoveActionDelegate"

-			label="%TerminateAndRemoveAction.label">

-		</action>

-<!-- Thread Group -->

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.removeAllTerminated"

-			menubarPath = "launchGroup"

-			icon = "icons/full/clcl16/rem_all_co.gif"

-			helpContextId = "remove_all_terminated_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.RemoveAllTerminatedAction"

-			label="%RemoveAllTerminatedAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.disconnect"

-			menubarPath = "threadGroup"

-			icon = "icons/full/clcl16/disconnect_co.gif"

-			helpContextId = "disconnect_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.DisconnectActionDelegate"

-			label="%DisconnectAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.terminate"

-			menubarPath = "threadGroup"

-			icon = "icons/full/clcl16/terminate_co.gif"

-			helpContextId = "terminate_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.TerminateActionDelegate"

-			label="%TerminateAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.suspend"

-			menubarPath = "threadGroup"

-			icon = "icons/full/clcl16/suspend_co.gif"

-			helpContextId = "suspend_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.SuspendActionDelegate"

-			label="%SuspendAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.resume"

-			menubarPath = "threadGroup"

-			icon = "icons/full/clcl16/resume_co.gif"

-			helpContextId = "resume_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.ResumeActionDelegate"

-			label="%ResumeAction.label">

-		</action>		

-<!-- Step Group -->		

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.stepReturn"

-			menubarPath = "stepReturnGroup"

-			icon = "icons/full/clcl16/stepreturn_co.gif"

-			helpContextId = "step_return_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.StepReturnActionDelegate"

-			label="%StepReturnAction.label">

-		</action>		

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.stepOver"

-			menubarPath = "stepOverGroup"

-			icon = "icons/full/clcl16/stepover_co.gif"

-			helpContextId = "step_over_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.StepOverActionDelegate"

-			label="%StepOverAction.label">

-		</action>			

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.stepInto"

-			menubarPath = "stepIntoGroup"

-			icon = "icons/full/clcl16/stepinto_co.gif"

-			helpContextId = "step_into_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.StepIntoActionDelegate"

-			label="%StepIntoAction.label">

-		</action>		

-	</viewerContribution>

-	<!-- Contributions to Breakpoints View Popup Menu -->

-	<viewerContribution

-		id = "org.eclipse.debug.ui.breakpointview.popupMenu"

-		targetID = "org.eclipse.debug.ui.BreakpointView">

-		<action

-			id="org.eclipse.debug.ui.actions.RemoveAllBreakpoints"

-			icon = "icons/full/clcl16/rem_all_co.gif"

-			label="%RemoveAllAction.label"

-			menubarPath="breakpointGroup"

-			helpContextId = "remove_all_breakpoints_action_context"

-			class="org.eclipse.debug.internal.ui.actions.RemoveAllBreakpointsAction">

-		</action>

-		<action

-			id="org.eclipse.debug.ui.actions.RemoveBreakpoint"

-			label="%RemoveAction.label"

-			icon = "icons/full/clcl16/rem_co.gif"

-			menubarPath="breakpointGroup"

-			helpContextId = "remove_breakpoint_action_context"

-			class="org.eclipse.debug.internal.ui.actions.RemoveBreakpointAction">

-		</action>

-		<action

-			id="org.eclipse.debug.ui.actions.DisableBreakpoint"

-			label="%DisableBreakpointsAction.label"

-			icon="icons/full/clcl16/disabled_co.gif"

-			menubarPath="breakpointGroup"

-			helpContextId = "disable_breakpoint_action_context"

-			class="org.eclipse.debug.internal.ui.actions.DisableBreakpointsAction"

-			enablesFor="2+">

-		</action>

-		<action

-			id="org.eclipse.debug.ui.actions.EnableBreakpoint"

-			label="%EnableBreakpointsAction.label"

-			icon="icons/full/clcl16/enabled_co.gif"

-			menubarPath="breakpointGroup"

-			helpContextId = "enable_breakpoint_action_context"

-			class="org.eclipse.debug.internal.ui.actions.EnableBreakpointsAction"

-			enablesFor="2+">

-		</action>

-		<action

-			id="org.eclipse.debug.ui.actions.SelectAllBreakpointsAction"

-			label="%SelectAll.label"

-			menubarPath="breakpointGroup"

-			helpContextId = "select_all_breakpoints_action_context"

-			class="org.eclipse.debug.internal.ui.actions.SelectAllBreakpointsAction">

-		</action>

-	</viewerContribution>

-<!-- Contributions to Variables View Popup Menu -->	

-	<viewerContribution

-		id = "org.eclipse.debug.ui.variablesView.popupMenu"

-		targetID = "org.eclipse.debug.ui.VariableView">

-		<!-- Variable Group -->

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.copyVariablesToClipboard"

-			menubarPath = "variableGroup"

-			icon = "icons/full/clcl16/copy_edit_co.gif"

-			helpContextId = "copy_variables_to_clipboard_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.CopyVariablesToClipboardActionDelegate"

-			label="%CopyVariablesToClipboardAction.label">

-		</action>

-		<action

-			id="org.eclipse.debug.ui.actions.SelectAllVariablesAction"

-			label="%SelectAll.label"

-			menubarPath="variableGroup"

-			helpContextId = "select_all_variables_action_context"

-			class="org.eclipse.debug.internal.ui.actions.SelectAllVariablesAction">

-		</action>

-	</viewerContribution>

-<!-- Contributions to Expression View Popup Menu -->

-	<viewerContribution

-		id = "org.eclipse.debug.ui.expressionView.popupMenu"

-		targetID = "org.eclipse.debug.ui.ExpressionView">

-		<!-- Expression Group -->

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.removeAllExpressionsAction"

-			menubarPath = "expressionGroup"

-			class = "org.eclipse.debug.internal.ui.actions.RemoveAllExpressionsAction"

-			icon = "icons/full/clcl16/rem_all_co.gif"

-			helpContextId = "remove_all_expressions_action_context"

-			label="%RemoveAllAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.removeExpressionAction"

-			menubarPath = "expressionGroup"

-			class = "org.eclipse.debug.internal.ui.actions.RemoveExpressionAction"

-			icon = "icons/full/clcl16/rem_co.gif"

-			helpContextId = "remove_expression_action_context"

-			label="%RemoveAction.label">

-		</action>

-		<action

-			id = "org.eclipse.debug.ui.debugview.popupMenu.copyVariablesToClipboard"

-			menubarPath = "expressionGroup"

-			icon = "icons/full/clcl16/copy_edit_co.gif"

-			helpContextId = "copy_variables_to_clipboard_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.CopyVariablesToClipboardActionDelegate"

-			label="%CopyVariablesToClipboardAction.label">

-		</action>

-		<action

-			id="org.eclipse.debug.ui.actions.SelectAllExpressionsAction"

-			label="%SelectAll.label"

-			menubarPath="expressionGroup"

-			helpContextId = "select_all_expressions_action_context"

-			class="org.eclipse.debug.internal.ui.actions.SelectAllExpressionsAction">

-		</action>

-	</viewerContribution>

-<!-- Contributions to Console View popup menu -->

-	<viewerContribution

-		id = "org.eclipse.debug.ui.consoleview.popupMenu"

-		targetID = "org.eclipse.debug.ui.ConsoleView">

-		<action

-			id = "org.eclipse.debug.ui.consoleView.popupMenu.terminate"

-			icon = "icons/full/clcl16/terminate_co.gif"

-			menubarPath = "additions"

-			helpContextId = "console_terminate_action_context"

-			class = "org.eclipse.debug.internal.ui.actions.ConsoleTerminateActionDelegate"

-			label="%TerminateAction.label">

-		</action>

-	</viewerContribution>

-</extension>

-

-<extension

-      id="instructionPointer"

-      point="org.eclipse.core.resources.markers">

-   <super

-         type="org.eclipse.core.resources.textmarker">

-   </super>

-   <persistent

-         value="false">

-   </persistent>

-</extension>

-

-<extension point="org.eclipse.ui.actionSetPartAssociations">

-      <actionSetPartAssociation 

-            targetID="org.eclipse.debug.ui.debugActionSet">

-            <part id="org.eclipse.debug.ui.DebugView"/>

-      </actionSetPartAssociation>

-</extension>

-</plugin>

diff --git a/org.eclipse.debug.ui/scripts/exportplugin.xml b/org.eclipse.debug.ui/scripts/exportplugin.xml
deleted file mode 100644
index f25747b..0000000
--- a/org.eclipse.debug.ui/scripts/exportplugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.debug.ui Eclipse plugin

-     along with other important plugin files to the "plugin-export" subdirectory

-     of the target Eclipse installation -->

-<project name="org.eclipse.debug.ui" default="export" basedir="..">

-

-	<!-- Set the timestamp and important properties -->

-	<target name="init">

-		<tstamp/>

-		<property name="destdir" value="../../plugin-export" />

-		<property name="dest"  value="${destdir}/org.eclipse.debug.ui_2.0.0" />

-	</target>

-

-	<!-- Create the jar of .class files, and copy other important files to export dir -->

-	<target name="export" depends="init">

-		<mkdir dir="${destdir}" />

-		<delete dir="${dest}" />

-		<mkdir dir="${dest}" />

-		<jar 

-			jarfile="${dest}/dtui.jar"

-			basedir="bin"

-		/>

-		<!-- Create the source zip -->

-		<zip zipfile="${dest}/dtuisrc.zip">

-			<fileset dir="ui"/>

-		</zip>

-		<copy file="plugin.xml" todir="${dest}"/>

-		<copy file="plugin.properties" todir="${dest}"/>

-		<copy file=".classpath" todir="${dest}"/>

-		<copy file=".options" todir="${dest}"/>

-		<copy todir="${dest}/icons">

-			<fileset dir="icons" />

-		</copy>

-	</target>

-	

-</project>

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
deleted file mode 100644
index 58cd7e3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.debug.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.HashMap;

-import java.util.Iterator;

-import java.util.Map;

-

-import org.eclipse.swt.graphics.Color;

-import org.eclipse.swt.graphics.RGB;

-import org.eclipse.swt.widgets.Display;

-

-/**

- * Generic color manager.

- */

-public class ColorManager {	

-	

-	private static ColorManager fgColorManager;

-	

-	private ColorManager() {

-	}

-	

-	public static ColorManager getDefault() {

-		if (fgColorManager == null) {

-			fgColorManager= new ColorManager();

-		}

-		return fgColorManager;

-	}

-	

-	protected Map fColorTable= new HashMap(10);

-	

-	public Color getColor(RGB rgb) {

-		Color color= (Color) fColorTable.get(rgb);

-		if (color == null) {

-			color= new Color(Display.getCurrent(), rgb);

-			fColorTable.put(rgb, color);

-		}

-		return color;

-	}

-	

-	public void dispose() {

-		Iterator e= fColorTable.values().iterator();

-		while (e.hasNext())

-			((Color) e.next()).dispose();

-	}

-}

-

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java
deleted file mode 100644
index b71e267..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.debug.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.ui.IDebugUIConstants;

-import org.eclipse.ui.IFolderLayout;

-import org.eclipse.ui.IPageLayout;

-import org.eclipse.ui.IPerspectiveFactory;

-

-/**

- * The debug perspective factory.

- */

-public class DebugPerspectiveFactory implements IPerspectiveFactory {

-	

-	/**

-	 * @see IPerspectiveFactory#createInitialLayout(IPageLayout)

-	 */

-	public void createInitialLayout(IPageLayout layout) {

-		

-		IFolderLayout consoleFolder = layout.createFolder(IInternalDebugUIConstants.ID_CONSOLE_FOLDER_VIEW, IPageLayout.BOTTOM, (float)0.75, layout.getEditorArea());

-		consoleFolder.addView(IDebugUIConstants.ID_CONSOLE_VIEW);

-		consoleFolder.addView(IPageLayout.ID_TASK_LIST);

-		consoleFolder.addPlaceholder(IPageLayout.ID_BOOKMARKS);

-		consoleFolder.addPlaceholder(IPageLayout.ID_PROP_SHEET);

-		

-		IFolderLayout navFolder= layout.createFolder(IInternalDebugUIConstants.ID_NAVIGATOR_FOLDER_VIEW, IPageLayout.TOP, (float) 0.5, layout.getEditorArea());

-		navFolder.addView(IDebugUIConstants.ID_DEBUG_VIEW);

-		navFolder.addPlaceholder(IPageLayout.ID_RES_NAV);

-		

-		IFolderLayout toolsFolder= layout.createFolder(IInternalDebugUIConstants.ID_TOOLS_FOLDER_VIEW, IPageLayout.RIGHT, (float) 0.5, IInternalDebugUIConstants.ID_NAVIGATOR_FOLDER_VIEW);

-		toolsFolder.addView(IDebugUIConstants.ID_VARIABLE_VIEW);	

-		toolsFolder.addView(IDebugUIConstants.ID_BREAKPOINT_VIEW);

-		toolsFolder.addView(IDebugUIConstants.ID_EXPRESSION_VIEW);

-		

-		IFolderLayout outlineFolder= layout.createFolder(IInternalDebugUIConstants.ID_OUTLINE_FOLDER_VIEW, IPageLayout.RIGHT, (float) 0.75, layout.getEditorArea());

-		outlineFolder.addView(IPageLayout.ID_OUTLINE);

-		

-		layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET);

-		layout.addActionSet(IDebugUIConstants.DEBUG_ACTION_SET);

-		

-		setContentsOfShowViewMenu(layout);

-	}

-	

-	/** 

-	 * Sets the intial contents of the "Show View" menu.

-	 */

-	protected void setContentsOfShowViewMenu(IPageLayout layout) {

-		layout.addShowViewShortcut(IDebugUIConstants.ID_DEBUG_VIEW);

-		layout.addShowViewShortcut(IDebugUIConstants.ID_VARIABLE_VIEW);

-		layout.addShowViewShortcut(IDebugUIConstants.ID_BREAKPOINT_VIEW);

-		layout.addShowViewShortcut(IDebugUIConstants.ID_EXPRESSION_VIEW);

-		layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);

-		layout.addShowViewShortcut(IDebugUIConstants.ID_CONSOLE_VIEW);

-		layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);

-	}

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java
deleted file mode 100644
index ad2eea3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java
+++ /dev/null
@@ -1,241 +0,0 @@
-package org.eclipse.debug.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.HashMap;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.core.runtime.IExtensionPoint;

-import org.eclipse.core.runtime.IPluginDescriptor;

-import org.eclipse.debug.ui.IDebugUIConstants;

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.jface.resource.ImageRegistry;

-import org.eclipse.swt.graphics.Image;

-

-/**

- * The images provided by the debug plugin.

- */

-public class DebugPluginImages {

-

-	/** 

-	 * The image registry containing <code>Image</code>s.

-	 */

-	private static ImageRegistry imageRegistry;

-	

-	/**

-	 * A table of all the <code>ImageDescriptor</code>s.

-	 */

-	private static HashMap imageDescriptors;

-

-	private static final String ATTR_LAUNCH_CONFIG_TYPE_ICON = "icon"; //$NON-NLS-1$

-	private static final String ATTR_LAUNCH_CONFIG_TYPE_ID = "configTypeID"; //$NON-NLS-1$

-	

-	/* Declare Common paths */

-	private static URL ICON_BASE_URL= null;

-

-	static {

-		String pathSuffix = "icons/full/"; //$NON-NLS-1$

-			

-		try {

-			ICON_BASE_URL= new URL(DebugUIPlugin.getDefault().getDescriptor().getInstallURL(), pathSuffix);

-		} catch (MalformedURLException e) {

-			// do nothing

-		}

-	}

-

-	// Use IPath and toOSString to build the names to ensure they have the slashes correct

-	private final static String CTOOL= "ctool16/"; //basic colors - size 16x16 //$NON-NLS-1$

-	private final static String LOCALTOOL= "clcl16/"; //basic colors - size 16x16 //$NON-NLS-1$

-	private final static String DLCL= "dlcl16/"; //disabled - size 16x16 //$NON-NLS-1$

-	private final static String ELCL= "elcl16/"; //enabled - size 16x16 //$NON-NLS-1$

-	private final static String OBJECT= "obj16/"; //basic colors - size 16x16 //$NON-NLS-1$

-	private final static String WIZBAN= "wizban/"; //basic colors - size 16x16 //$NON-NLS-1$

-	private final static String OVR= "ovr16/"; //basic colors - size 7x8 //$NON-NLS-1$

-	private final static String VIEW= "cview16/"; // views //$NON-NLS-1$

-	

-	/**

-	 * Declare all images

-	 */

-	private static void declareImages() {

-		// Actions

-		declareRegistryImage(IDebugUIConstants.IMG_ACT_DEBUG, CTOOL + "debug_exc.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_ACT_RUN, CTOOL + "run_exc.gif"); //$NON-NLS-1$

-		

-		//menus

-		declareRegistryImage(IDebugUIConstants.IMG_LCL_CHANGE_VARIABLE_VALUE, LOCALTOOL + "changevariablevalue_co.gif"); //$NON-NLS-1$

-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_CHANGE_VARIABLE_VALUE, DLCL + "changevariablevalue_co.gif"); //$NON-NLS-1$

-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_CHANGE_VARIABLE_VALUE, ELCL + "changevariablevalue_co.gif"); //$NON-NLS-1$

-		

-		declareRegistryImage(IDebugUIConstants.IMG_LCL_CONTENT_ASSIST, LOCALTOOL + "metharg_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_DLCL_CONTENT_ASSIST, DLCL + "metharg_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_ELCL_CONTENT_ASSIST, ELCL + "metharg_obj.gif"); //$NON-NLS-1$

-		

-		//Local toolbars

-		declareRegistryImage(IDebugUIConstants.IMG_LCL_DETAIL_PANE, LOCALTOOL + "toggledetailpane_co.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_LCL_CLEAR, LOCALTOOL + "clear_co.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_LCL_TYPE_NAMES, LOCALTOOL + "tnames_co.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_LCL_DISCONNECT, LOCALTOOL + "disconnect_co.gif"); //$NON-NLS-1$

-			

-		// disabled local toolbars

-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE, ELCL + "toggledetailpane_co.gif"); //$NON-NLS-1$

-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_CLEAR, DLCL + "clear_co.gif"); //$NON-NLS-1$

-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_TYPE_NAMES, DLCL + "tnames_co.gif"); //$NON-NLS-1$

-		

-		// enabled local toolbars

-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE, ELCL + "toggledetailpane_co.gif"); //$NON-NLS-1$

-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_CLEAR, ELCL + "clear_co.gif"); //$NON-NLS-1$

-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_TYPE_NAMES, ELCL + "tnames_co.gif"); //$NON-NLS-1$

-		

-		//Object

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_LAUNCH_DEBUG, OBJECT + "ldebug_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_LAUNCH_RUN, OBJECT + "lrun_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_LAUNCH_RUN_TERMINATED, OBJECT + "terminatedlaunch_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_DEBUG_TARGET, OBJECT + "debugt_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_DEBUG_TARGET_TERMINATED, OBJECT + "debugtt_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_THREAD_RUNNING, OBJECT + "thread_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_THREAD_SUSPENDED, OBJECT + "threads_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_THREAD_TERMINATED, OBJECT + "threadt_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_STACKFRAME, OBJECT + "stckframe_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_STACKFRAME_RUNNING, OBJECT + "stckframe_running_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_VARIABLE, OBJECT + "genericvariable_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_BREAKPOINT, OBJECT + "brkp_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED, OBJECT + "brkpd_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_OS_PROCESS, OBJECT + "osprc_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_OS_PROCESS_TERMINATED, OBJECT + "osprct_obj.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_EXPRESSION, OBJECT + "expression_obj.gif"); //$NON-NLS-1$

-		

-		// Views

-		declareRegistryImage(IDebugUIConstants.IMG_VIEW_BREAKPOINTS, VIEW + "breakpoint_view.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_VIEW_CONSOLE, VIEW + "console_view.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_VIEW_EXPRESSIONS, VIEW + "watchlist_view.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_VIEW_LAUNCHES, VIEW + "debug_view.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_VIEW_VARIABLES, VIEW + "variable_view.gif"); //$NON-NLS-1$

-		

-		// Perspectives

-		declareRegistryImage(IDebugUIConstants.IMG_PERSPECTIVE_DEBUG, VIEW + "debug_persp.gif"); //$NON-NLS-1$

-		

-		//Wizard Banners

-		declareRegistryImage(IDebugUIConstants.IMG_WIZBAN_DEBUG, WIZBAN + "debug_wiz.gif"); //$NON-NLS-1$

-		declareRegistryImage(IDebugUIConstants.IMG_WIZBAN_RUN, WIZBAN + "run_wiz.gif"); //$NON-NLS-1$

-			

-		// Overlays

-		declareRegistryImage(IDebugUIConstants.IMG_OVR_ERROR, OVR + "error.gif"); //$NON-NLS-1$

-		declareRegistryImage(IInternalDebugUIConstants.IMG_OVR_TRANSPARENT, OVR + "transparent.gif"); //$NON-NLS-1$		

-				

-		// launch configuration types

-		IPluginDescriptor pluginDescriptor = DebugUIPlugin.getDefault().getDescriptor();

-		IExtensionPoint extensionPoint= pluginDescriptor.getExtensionPoint(IDebugUIConstants.EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPE_IMAGES);

-		IConfigurationElement[] configElements= extensionPoint.getConfigurationElements();

-		for (int i = 0; i < configElements.length; i++) {

-			IConfigurationElement configElement = configElements[i];

-			URL iconURL = configElement.getDeclaringExtension().getDeclaringPluginDescriptor().getInstallURL();

-			String iconPath = configElement.getAttribute(ATTR_LAUNCH_CONFIG_TYPE_ICON);

-			ImageDescriptor imageDescriptor = ImageDescriptor.getMissingImageDescriptor();

-			try {

-				iconURL = new URL(iconURL, iconPath);

-				imageDescriptor = ImageDescriptor.createFromURL(iconURL);

-			} catch (MalformedURLException mue) {

-				DebugUIPlugin.log(mue);

-			}

-			String configTypeID = configElement.getAttribute(ATTR_LAUNCH_CONFIG_TYPE_ID);			

-			imageRegistry.put(configTypeID, imageDescriptor);				

-			imageDescriptors.put(configTypeID, imageDescriptor);

-		}	

-	}

-

-	/**

-	 * Declare an Image in the registry table.

-	 * @param key 	The key to use when registering the image

-	 * @param path	The path where the image can be found. This path is relative to where

-	 *				this plugin class is found (i.e. typically the packages directory)

-	 */

-	private final static void declareRegistryImage(String key, String path) {

-		ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();

-		try {

-			desc= ImageDescriptor.createFromURL(makeIconFileURL(path));

-		} catch (MalformedURLException me) {

-			DebugUIPlugin.log(me);

-		}

-		imageRegistry.put(key, desc);

-		imageDescriptors.put(key, desc);

-	}

-	

-	/**

-	 * Returns the ImageRegistry.

-	 */

-	public static ImageRegistry getImageRegistry() {

-		if (imageRegistry == null) {

-			initializeImageRegistry();

-		}

-		return imageRegistry;

-	}

-

-	/**

-	 *	Initialize the image registry by declaring all of the required

-	 *	graphics. This involves creating JFace image descriptors describing

-	 *	how to create/find the image should it be needed.

-	 *	The image is not actually allocated until requested.

-	 *

-	 * 	Prefix conventions

-	 *		Wizard Banners			WIZBAN_

-	 *		Preference Banners		PREF_BAN_

-	 *		Property Page Banners	PROPBAN_

-	 *		Color toolbar			CTOOL_

-	 *		Enable toolbar			ETOOL_

-	 *		Disable toolbar			DTOOL_

-	 *		Local enabled toolbar	ELCL_

-	 *		Local Disable toolbar	DLCL_

-	 *		Object large			OBJL_

-	 *		Object small			OBJS_

-	 *		View 					VIEW_

-	 *		Product images			PROD_

-	 *		Misc images				MISC_

-	 *

-	 *	Where are the images?

-	 *		The images (typically gifs) are found in the same location as this plugin class.

-	 *		This may mean the same package directory as the package holding this class.

-	 *		The images are declared using this.getClass() to ensure they are looked up via

-	 *		this plugin class.

-	 *	@see JFace's ImageRegistry

-	 */

-	public static ImageRegistry initializeImageRegistry() {

-		imageRegistry= new ImageRegistry(DebugUIPlugin.getStandardDisplay());

-		imageDescriptors = new HashMap(30);

-		declareImages();

-		return imageRegistry;

-	}

-

-	/**

-	 * Returns the <code>Image<code> identified by the given key,

-	 * or <code>null</code> if it does not exist.

-	 */

-	public static Image getImage(String key) {

-		return getImageRegistry().get(key);

-	}

-	

-	/**

-	 * Returns the <code>ImageDescriptor<code> identified by the given key,

-	 * or <code>null</code> if it does not exist.

-	 */

-	public static ImageDescriptor getImageDescriptor(String key) {

-		if (imageDescriptors == null) {

-			initializeImageRegistry();

-		}

-		return (ImageDescriptor)imageDescriptors.get(key);

-	}

-	

-	private static URL makeIconFileURL(String iconPath) throws MalformedURLException {

-		if (ICON_BASE_URL == null) {

-			throw new MalformedURLException();

-		}

-			

-		return new URL(ICON_BASE_URL, iconPath);

-	}

-}

-

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java
deleted file mode 100644
index 448a795..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.debug.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-public class DebugUIMessages {

-

-	private static final String RESOURCE_BUNDLE= "org.eclipse.debug.internal.ui.DebugUIMessages";//$NON-NLS-1$

-

-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);

-

-	private DebugUIMessages() {

-	}

-

-	public static String getString(String key) {

-		try {

-			return fgResourceBundle.getString(key);

-		} catch (MissingResourceException e) {

-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$

-		}

-	}

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.properties
deleted file mode 100644
index 7a48526..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-######################################################################
-# Copyright (c) 2000, 2002 IBM Corp. and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v0.5
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v05.html
-#
-# Contributors:
-#    IBM Corporation - Initial implementation
-######################################################################
-
-DebugUIPlugin.Build_error._Check_log_for_details._2=Build error. Check log for details.
-DebugUIPlugin.Run/Debug_1=Run/Debug
-
-DefaultLabelProvider.<disconnected>_1=<disconnected>
-DefaultLabelProvider.<terminated>_1=<terminated> 
-DefaultLabelProvider.<unknown>_1=<unknown>
-DefaultLabelProvider.Breakpoint_1=Breakpoint
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
deleted file mode 100644
index 8ea2e6e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPropertiesAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPropertiesAdapterFactory.java
deleted file mode 100644
index f2aff3a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPropertiesAdapterFactory.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.eclipse.debug.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.core.runtime.IAdapterFactory;

-import org.eclipse.debug.core.model.IDebugElement;

-import org.eclipse.debug.core.model.IProcess;

-import org.eclipse.debug.ui.DebugUITools;

-import org.eclipse.debug.ui.IDebugModelPresentation;

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.ui.model.IWorkbenchAdapter;

-

-/**

- * This factory and the IWorkbenchAdapter that it provides exist so that

- * a properties dialog that is realized on a launches view element will have a 

- * title.

- */

-/*package*/ class DebugUIPropertiesAdapterFactory implements IAdapterFactory {

-

-	class DebugUIPropertiesAdapter implements IWorkbenchAdapter {

-	

-		/**

-		 * @see IWorkbenchAdapter#getChildren(Object)

-		 */

-		public Object[] getChildren(Object o) {

-			return new Object[0];

-		}

-

-		/**

-		 * @see IWorkbenchAdapter#getImageDescriptor(Object)

-		 */

-		public ImageDescriptor getImageDescriptor(Object object) {

-			return DebugUITools.getDefaultImageDescriptor(object);

-		}

-

-		/**

-		 * @see IWorkbenchAdapter#getLabel(Object)

-		 */

-		public String getLabel(Object o) {

-			IDebugModelPresentation presentation= DebugUIPlugin.getModelPresentation();

-			return presentation.getText(o);

-		}

-

-		/**

-		 * @see IWorkbenchAdapter#getParent(Object)

-		 */

-		public Object getParent(Object o) {

-			return null;

-		}

-	}

-	

-	/**

-	 * @see IAdapterFactory#getAdapter(Object, Class)

-	 */

-	public Object getAdapter(Object obj, Class adapterType) {

-		if (adapterType.isInstance(obj)) {

-			return obj;

-		}

-		if (adapterType == IWorkbenchAdapter.class) {

-			if (obj instanceof IDebugElement) {

-				return new DebugUIPropertiesAdapter();

-			}

-			if (obj instanceof IProcess) {

-				return new DebugUIPropertiesAdapter();

-			}

-		}

-		return null;

-	}

-

-	/**

-	 * @see IAdapterFactory#getAdapterList()

-	 */

-	public Class[] getAdapterList() {

-		return new Class[] {

-			IWorkbenchAdapter.class

-		};

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
deleted file mode 100644
index e1e8eb1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
+++ /dev/null
@@ -1,288 +0,0 @@
-package org.eclipse.debug.internal.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.ITerminate;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-public class DefaultLabelProvider implements ILabelProvider {
-
-	/**
-	 * @see ILabelProvider#getImage(Object)
-	 */
-	public Image getImage(Object element) {
-		String key= getImageKey(element);
-		if (key == null && element instanceof IAdaptable) {
-			IWorkbenchAdapter de= (IWorkbenchAdapter) ((IAdaptable) element).getAdapter(IWorkbenchAdapter.class);
-			if (de != null) {
-				ImageDescriptor descriptor= de.getImageDescriptor(element);
-				if( descriptor != null) {
-					return descriptor.createImage();
-				}
-			}
-			return null;
-		}
-		return DebugPluginImages.getImage(key);
-	}
-	
-	/**
-	 * Returns the key (<code>String</code>) of the default image
-	 * appropriate for the given element or <code>null</code>
-	 * if no default image is defined.
-	 */
-	public String getImageKey(Object element) {
-		if (element instanceof IDebugElement) {
-			// Group elements into debug elements and non-debug elements
-			// to reduce the number of instanceof checks performed
-			if (element instanceof IVariable) {
-				return IDebugUIConstants.IMG_OBJS_VARIABLE;
-			} else if (element instanceof IStackFrame) {
-				if (((IStackFrame)element).getThread().isSuspended()) {
-					return IDebugUIConstants.IMG_OBJS_STACKFRAME;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_STACKFRAME_RUNNING;					
-				}
-			} else if (element instanceof IThread) {
-				IThread thread = (IThread)element;
-				if (thread.isSuspended()) {
-					return IDebugUIConstants.IMG_OBJS_THREAD_SUSPENDED;
-				} else if (thread.isTerminated()) {
-					return IDebugUIConstants.IMG_OBJS_THREAD_TERMINATED;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_THREAD_RUNNING;
-				}
-			} else if (element instanceof IDebugTarget) {
-				IDebugTarget target= (IDebugTarget) element;
-				if (target.isTerminated() || target.isDisconnected()) {
-					return IDebugUIConstants.IMG_OBJS_DEBUG_TARGET_TERMINATED;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_DEBUG_TARGET;
-				}
-			} else if (element instanceof IExpression) {
-				return IDebugUIConstants.IMG_OBJS_EXPRESSION;
-			}
-		} else {
-			if (element instanceof IMarker) {
-				return getMarkerImageKey((IMarker)element);
-			} 
-			else if (element instanceof IProcess) {
-				if (((IProcess) element).isTerminated()) {
-					return IDebugUIConstants.IMG_OBJS_OS_PROCESS_TERMINATED;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_OS_PROCESS;
-				}
-			} else if (element instanceof ILaunch) {
-				ILaunch launch= (ILaunch)element;
-				if (launch.getLaunchMode().equals(ILaunchManager.DEBUG_MODE)) {
-					return IDebugUIConstants.IMG_OBJS_LAUNCH_DEBUG;
-				} else if (launch.isTerminated()) {
-					return IDebugUIConstants.IMG_OBJS_LAUNCH_RUN_TERMINATED;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_LAUNCH_RUN;
-				}	
-			} else if (element instanceof ILaunchConfigurationType) {
-				return ((ILaunchConfigurationType)element).getIdentifier();
-			} else if (element instanceof ILaunchConfiguration) {
-				try {
-					return ((ILaunchConfiguration)element).getType().getIdentifier();
-				} catch (CoreException e) {
-					return null;
-				}
-			} 
-		}
-		return null;		
-	}
-
-	/**
-	 * @see ILabelProvider#getText(Object)
-	 */
-	public String getText(Object element) {
-		StringBuffer label= new StringBuffer();
-		try {
-			// Group elements into debug elements and non-debug elements
-			// to reduce the number of instanceof checks performed
-			if (element instanceof IDebugElement) {
-				if (element instanceof IStackFrame) {
-					label.append(((IStackFrame)element).getName());
-				} else if (element instanceof IVariable) {
-					label.append(getVariableText((IVariable)element));
-				} else if (element instanceof IThread) {
-					label.append(((IThread)element).getName());
-				} else if (element instanceof IDebugTarget) {
-					label.append((((IDebugTarget)element).getName()));
-				} else if (element instanceof IExpression) {
-					label.append(getExpressionText((IExpression)element));
-				} 
-			} else {
-				if (element instanceof IMarker) {
-					label.append(getMarkerText((IMarker) element));
-				} else if (element instanceof IProcess) {
-					label.append(((IProcess) element).getLabel());
-				} else if (element instanceof ILaunch) {
-					label.append(getLaunchText((ILaunch) element));
-				} else if (element instanceof ILaunchConfiguration) {
-					label.append(((ILaunchConfiguration)element).getName());
-				} else if (element instanceof ILaunchConfigurationType) {
-					label.append(((ILaunchConfigurationType)element).getName());
-				} else {
-					label.append(getAdapterLabel(element));
-				}
-			}
-			if (element instanceof ITerminate) {
-				if (((ITerminate) element).isTerminated()) {
-					label.insert(0, DebugUIMessages.getString("DefaultLabelProvider.<terminated>_1")); //$NON-NLS-1$
-				}
-			} else if (element instanceof IDisconnect) {
-				if (((IDisconnect) element).isDisconnected()) {
-					label.insert(0, DebugUIMessages.getString("DefaultLabelProvider.<disconnected>_1")); //$NON-NLS-1$
-				}
-			}
-		} catch (DebugException e) {
-			DebugUIPlugin.log(e);
-			label.append(DebugUIMessages.getString("DefaultLabelProvider.<unknown>_1")); //$NON-NLS-1$
-		}
-		return label.toString();
-	}
-	
-	public String getAdapterLabel(Object object) {
-		if (object instanceof IAdaptable) {
-			IWorkbenchAdapter de= (IWorkbenchAdapter) ((IAdaptable) object).getAdapter(IWorkbenchAdapter.class);
-			if (de != null) {
-				return de.getLabel(object);
-			}
-		}
-		return DebugUIMessages.getString("DefaultLabelProvider.<unknown>_1"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Used to render launch history items in the re-launch drop downs
-	 */
-	protected String getLaunchText(ILaunch launch) {
-		if (launch.getLaunchConfiguration() == null || !launch.getLaunchConfiguration().exists()) {
-			return DebugUIMessages.getString("DefaultLabelProvider.<unknown>_1"); //$NON-NLS-1$
-		} else {
-			// new launch configuration
-			ILaunchConfiguration config = launch.getLaunchConfiguration();
-			StringBuffer buff= new StringBuffer(config.getName());
-			buff.append(" ["); //$NON-NLS-1$
-			try {
-				buff.append(config.getType().getName());
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-			buff.append("]"); //$NON-NLS-1$
-			return buff.toString();			
-		}
-	}
-
-	protected String getExpressionText(IExpression expression) {
-		StringBuffer buffer= new StringBuffer(expression.getExpressionText());
-		String valueString= null;
-		IValue value= expression.getValue();
-		if ((valueString == null) || (valueString.length() < 1)) {
-			try {
-				valueString= value.getValueString();
-			} catch (DebugException de) {
-				DebugUIPlugin.log(de);
-			}
-		}
-		if (valueString != null && valueString.length() > 0) {
-			buffer.append("= "); //$NON-NLS-1$
-			buffer.append(valueString);		
-		}
-		return buffer.toString();
-	}	
-	
-	protected String getVariableText(IVariable variable) {
-		StringBuffer buffer= new StringBuffer();
-		try {
-			IValue value = variable.getValue();
-			buffer.append(variable.getName());
-			buffer.append(" = "); //$NON-NLS-1$
-			buffer.append(value.getValueString());
-		} catch (DebugException de) {
-			DebugUIPlugin.log(de);
-		}
-		return buffer.toString();
-	}
-	
-	protected String getMarkerText(IMarker marker) {
-		try {
-			if (marker.exists() && marker.isSubtypeOf(IBreakpoint.BREAKPOINT_MARKER)) {
-				return DebugUIMessages.getString("DefaultLabelProvider.Breakpoint_1"); //$NON-NLS-1$
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}
-		return ""; //$NON-NLS-1$
-	}
-	
-	protected String getMarkerImageKey(IMarker marker) {
-		try {
-			IBreakpoint breakpoint= DebugPlugin.getDefault().getBreakpointManager().getBreakpoint(marker);
-			if (breakpoint != null && marker.exists()) {
-				if (breakpoint.isEnabled()) {
-					return IDebugUIConstants.IMG_OBJS_BREAKPOINT;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED;
-				}
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}
-		return null;
-	}
-
-	/**
-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-	}
-
-	/**
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
deleted file mode 100644
index d9957ec..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
+++ /dev/null
@@ -1,292 +0,0 @@
-package org.eclipse.debug.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.HashMap;

-import java.util.Iterator;

-

-import org.eclipse.core.resources.IMarker;

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.core.runtime.IExtension;

-import org.eclipse.core.runtime.IExtensionPoint;

-import org.eclipse.core.runtime.IPluginDescriptor;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.model.IBreakpoint;

-import org.eclipse.debug.core.model.IDebugElement;

-import org.eclipse.debug.core.model.IExpression;

-import org.eclipse.debug.core.model.IValue;

-import org.eclipse.debug.core.model.IVariable;

-import org.eclipse.debug.ui.IDebugModelPresentation;

-import org.eclipse.debug.ui.IDebugUIConstants;

-import org.eclipse.debug.ui.IValueDetailListener;

-import org.eclipse.jface.viewers.ILabelProvider;

-import org.eclipse.jface.viewers.ILabelProviderListener;

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.IEditorInput;

-

-/**

- * A model presentation that delegates to the appropriate extension. This

- * presentation contains a table of specialized presentations that are defined

- * as <code>org.eclipse.debug.ui.debugModelPresentations</code> extensions. When

- * asked to render an object from a debug model, this presentation delegates

- * to the extension registered for that debug model. 

- */

-public class DelegatingModelPresentation implements IDebugModelPresentation {

-	

-	/**

-	 * A mapping of attribute ids to their values

-	 * @see IDebugModelPresentation#setAttribute

-	 */

-	private HashMap fAttributes= new HashMap(3);

-	/**

-	 * A table of label providers keyed by debug model identifiers.

-	 */

-	private HashMap fLabelProviders= new HashMap(5);

-

-	/**

-	 * Constructs a new DelegatingLabelProvider that delegates to extensions

-	 * of kind <code>org.eclipse.debug.ui.debugLabelProvider</code>

-	 */

-	public DelegatingModelPresentation() {

-		IPluginDescriptor descriptor= DebugUIPlugin.getDefault().getDescriptor();

-		IExtensionPoint point= descriptor.getExtensionPoint(IDebugUIConstants.ID_DEBUG_MODEL_PRESENTATION);

-		if (point != null) {

-			IExtension[] extensions= point.getExtensions();

-			for (int i= 0; i < extensions.length; i++) {

-				IExtension extension= extensions[i];

-				IConfigurationElement[] configElements= extension.getConfigurationElements();

-				for (int j= 0; j < configElements.length; j++) {

-					IConfigurationElement elt= configElements[j];

-					String id= elt.getAttribute("id"); //$NON-NLS-1$

-					if (id != null) {

-						IDebugModelPresentation lp= new LazyModelPresentation(elt);

-						getLabelProviders().put(id, lp);

-					}

-				}

-			}

-		}

-	}

-

-	/**

-	 * Delegate to all extensions.

-	 *

-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)

-	 */

-	public void addListener(ILabelProviderListener listener) {

-		Iterator i= getLabelProviders().values().iterator();

-		while (i.hasNext()) {

-			((ILabelProvider) i.next()).addListener(listener);

-		}

-	}

-

-	/**

-	 * Delegate to all extensions.

-	 *

-	 * @see IBaseLabelProvider#dispose()

-	 */

-	public void dispose() {

-		Iterator i= getLabelProviders().values().iterator();

-		while (i.hasNext()) {

-			((ILabelProvider) i.next()).dispose();

-		}

-	}

-

-	/**

-	 * @see IDebugModelPresentation#getImage(Object)

-	 */

-	public Image getImage(Object item) {

-		// Attempt to delegate

-		IDebugModelPresentation lp= getConfiguredPresentation(item);

-		if (lp != null) {

-			Image image= lp.getImage(item);

-			if (image != null) {

-				return image;

-			}

-		}

-		// If no delegate returned an image, use the default

-		return getDefaultImage(item);

-	}

-	

-	/**

-	 * @see IDebugModelPresentation#getText(Object)

-	 */

-	public String getText(Object item) {

-		// Attempt to delegate

-		IDebugModelPresentation lp= getConfiguredPresentation(item);

-		if (lp != null) {

-			String label= lp.getText(item);

-			if (label != null) {

-				return label;

-			}

-		}

-		// If no delegate returned a text label, use the default

-		if (showVariableTypeNames()) {

-			try {

-				if (item instanceof IExpression) {

-					return new StringBuffer(((IExpression)item).getValue().getReferenceTypeName()).append(' ').append(getDefaultText(item)).toString(); //$NON-NLS-1$

-				} else if (item instanceof IVariable) {

-					return new StringBuffer(((IVariable)item).getValue().getReferenceTypeName()).append(' ').append(getDefaultText(item)).toString(); //$NON-NLS-1$

-				}

-			} catch (DebugException de) {

-				DebugUIPlugin.log(de);

-			}

-		}

-		return getDefaultText(item);

-	}

-	

-	/**

-	 * @see IDebugModelPresentation#getEditorInput(Object)

-	 */

-	public IEditorInput getEditorInput(Object item) {

-		IDebugModelPresentation lp= getConfiguredPresentation(item);

-		if (lp != null) {

-			return lp.getEditorInput(item);

-		}

-		return null;

-	}

-	

-	/**

-	 * @see IDebugModelPresentation#getEditorId(IEditorInput, Object)

-	 */

-	public String getEditorId(IEditorInput input, Object objectInput) {

-		IDebugModelPresentation lp= getConfiguredPresentation(objectInput);

-		if (lp != null) {

-			return lp.getEditorId(input, objectInput);

-		}

-		return null;

-	}

-

-

-	/**

-	 * Returns a default text label for the debug element

-	 */

-	protected String getDefaultText(Object element) {

-		return DebugUIPlugin.getDefaultLabelProvider().getText(element);

-	}

-

-	/**

-	 * Returns a default image for the debug element

-	 */

-	protected Image getDefaultImage(Object element) {

-		return DebugUIPlugin.getDefaultLabelProvider().getImage(element);

-	}

-	

-	/*

-	 * @see IDebugModelPresentation#computeDetail(IValue, IValueDetailListener)

-	 */

-	public void computeDetail(IValue value, IValueDetailListener listener) {

-		IDebugModelPresentation lp= getConfiguredPresentation(value);

-		if (lp != null) {

-			lp.computeDetail(value, listener);			

-		} else {

-			listener.detailComputed(value, getText(value));

-		}

-	}	

-

-	/**

-	 * Delegate to all extensions.

-	 *

-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)

-	 */

-	public void removeListener(ILabelProviderListener listener) {

-		Iterator i= getLabelProviders().values().iterator();

-		while (i.hasNext()) {

-			((ILabelProvider) i.next()).removeListener(listener);

-		}

-	}

-

-	/**

-	 * Delegate to the appropriate label provider.

-	 *

-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)

-	 */

-	public boolean isLabelProperty(Object element, String property) {

-		if (element instanceof IDebugElement) {

-			IDebugModelPresentation lp= getConfiguredPresentation((IDebugElement) element);

-			if (lp != null) {

-				return lp.isLabelProperty(element, property);

-			}

-		}

-

-		return true;

-	}

-

-	/**

-	 * Returns a configured model presentation for the given object,

-	 * or <code>null</code> if one is not registered.

-	 */

-	protected IDebugModelPresentation getConfiguredPresentation(Object element) {

-		String id= null;

-		if (element instanceof IDebugElement) {

-			IDebugElement de= (IDebugElement) element;

-			id= de.getModelIdentifier();

-		} else if (element instanceof IMarker) {

-			IMarker m= (IMarker) element;

-			IBreakpoint bp = DebugPlugin.getDefault().getBreakpointManager().getBreakpoint(m);

-			if (bp != null) {

-				id= bp.getModelIdentifier();

-			}

-		} else if (element instanceof IBreakpoint) {

-			id = ((IBreakpoint)element).getModelIdentifier();

-		}

-		if (id != null) {

-			return getPresentation(id);

-		}

-

-		return null;

-	}

-	

-	/**

-	 * Returns the presentation registered for the given id, or <code>null</code>

-	 * of nothing is registered for the id.

-	 */

-	public IDebugModelPresentation getPresentation(String id) {

-		return (IDebugModelPresentation) getLabelProviders().get(id);

-	}

-	

-	/**

-	 * @see IDebugModelPresentation#setAttribute(String, Object)

-	 */

-	public void setAttribute(String id, Object value) {

-		if (value == null) {

-			return;

-		}

-		getAttributes().put(id, value);

-		Iterator presentations = fLabelProviders.values().iterator();

-		while (presentations.hasNext()) {

-			((IDebugModelPresentation)presentations.next()).setAttribute(id, value);

-		}

-	}

-

-	/**

-	 * Whether or not to show variable type names.

-	 * This option is configured per model presentation.

-	 * This allows this option to be set per view, for example.

-	 */

-	protected boolean showVariableTypeNames() {

-		Boolean show= (Boolean) fAttributes.get(DISPLAY_VARIABLE_TYPE_NAMES);

-		show= show == null ? Boolean.FALSE : show;

-		return show.booleanValue();

-	}

-		

-	protected HashMap getAttributes() {

-		return fAttributes;

-	}

-

-	protected void setAttributes(HashMap attributes) {

-		fAttributes = attributes;

-	}

-

-	protected HashMap getLabelProviders() {

-		return fLabelProviders;

-	}

-

-	protected void setLabelProviders(HashMap labelProviders) {

-		fLabelProviders = labelProviders;

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java
deleted file mode 100644
index 548fa18..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.debug.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.ui.IDebugUIConstants;

-

-/**

- * Help context ids for the debug ui.

- * <p>

- * This interface contains constants only; it is not intended to be implemented

- * or extended.

- * </p>

- * 

- */

-public interface IDebugHelpContextIds {

-	

-	public static final String PREFIX = IDebugUIConstants.PLUGIN_ID + "."; //$NON-NLS-1$

-	

-	// Actions

-	public static final String CHANGE_VALUE_ACTION = PREFIX + "change_value_action_context"; //$NON-NLS-1$

-	public static final String CLEAR_CONSOLE_ACTION = PREFIX + "clear_console_action_context"; //$NON-NLS-1$	

-	public static final String OPEN_BREAKPOINT_ACTION = PREFIX + "open_breakpoint_action_context"; //$NON-NLS-1$

-	public static final String RELAUNCH_HISTORY_ACTION = PREFIX + "relaunch_history_action_context"; //$NON-NLS-1$	

-	public static final String SHOW_DETAIL_PANE_ACTION = PREFIX + "show_detail_pane_action_context"; //$NON-NLS-1$

-	public static final String SHOW_BREAKPOINTS_FOR_MODEL_ACTION = PREFIX + "show_breakpoints_for_model_action_context"; //$NON-NLS-1$

-	public static final String SHOW_TYPES_ACTION = PREFIX + "show_types_action_context"; //$NON-NLS-1$

-		

-	// Views

-	public static final String DEBUG_VIEW = PREFIX + "debug_view_context"; //$NON-NLS-1$

-	public static final String VARIABLE_VIEW = PREFIX + "variable_view_context"; //$NON-NLS-1$

-	public static final String BREAKPOINT_VIEW = PREFIX + "breakpoint_view_context"; //$NON-NLS-1$

-	public static final String CONSOLE_VIEW = PREFIX + "console_view_context"; //$NON-NLS-1$

-	public static final String EXPRESSION_VIEW = PREFIX + "expression_view_context"; //$NON-NLS-1$

-	

-	// Preference pages

-	public static final String DEBUG_PREFERENCE_PAGE = PREFIX + "debug_preference_page_context"; //$NON-NLS-1$

-	public static final String CONSOLE_PREFERENCE_PAGE = PREFIX + "console_preference_page_context"; //$NON-NLS-1$

-	public static final String VARIABLE_VIEWS_PREFERENCE_PAGE = PREFIX + "variable_views_preference_page_context"; //$NON-NLS-1$

-	public static final String DEBUG_ACTION_GROUPS_PREFERENCE_PAGE = PREFIX + "debug_action_groups_views_preference_page_context"; //$NON-NLS-1$

-	public static final String LAUNCH_HISTORY_PREFERENCE_PAGE = PREFIX + "launch_history_preference_page_context"; //$NON-NLS-1$

-	

-	// Dialogs

-	public static final String LAUNCH_CONFIGURATION_DIALOG = PREFIX + "launch_configuration_dialog"; //$NON-NLS-1$

-	

-	// Launch configuration dialog pages

-	public static final String LAUNCH_CONFIGURATION_DIALOG_COMMON_TAB = PREFIX + "launch_configuration_dialog_common_tab"; //$NON-NLS-1$	

-	

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java
deleted file mode 100644
index 155f628..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.debug.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-public interface IInternalDebugUIConstants {

-	

-	public static final String DIALOGSTORE_LASTEXTJAR= "org.eclipse.debug.ui.lastextjar"; //$NON-NLS-1$

-		

-	//Folders

-	public static final String ID_NAVIGATOR_FOLDER_VIEW= "org.eclipse.debug.internal.ui.NavigatorFolderView"; //$NON-NLS-1$

-	public static final String ID_TOOLS_FOLDER_VIEW= "org.eclipse.debug.internal.ui.ToolsFolderView"; //$NON-NLS-1$

-	public static final String ID_CONSOLE_FOLDER_VIEW= "org.eclipse.debug.internal.ui.ConsoleFolderView"; //$NON-NLS-1$

-	public static final String ID_OUTLINE_FOLDER_VIEW= "org.eclipse.debug.internal.ui.OutlineFolderView"; //$NON-NLS-1$

-

-	//Current stack frame instruction pointer

-	public static final String INSTRUCTION_POINTER= "org.eclipse.debug.ui.instructionPointer"; //$NON-NLS-1$

-	

-	// disabled local tool images

-	public static final String IMG_DLCL_CLEAR= "IMG_DLCL_CLEAR"; //$NON-NLS-1$

-	public static final String IMG_DLCL_DETAIL_PANE= "IMG_DLCL_DETAIL_PANE"; //$NON-NLS-1$

-	public static final String IMG_DLCL_CHANGE_VARIABLE_VALUE= "IMG_DLCL_CHANGE_VARIABLE_VALUE"; //$NON-NLS-1$

-	public static final String IMG_DLCL_TYPE_NAMES= "IMG_DLCL_TYPE_NAMES"; //$NON-NLS-1$

-	

-	// enabled local tool images	

-	public static final String IMG_ELCL_CLEAR= "IMG_ELCL_CLEAR"; //$NON-NLS-1$

-	public static final String IMG_ELCL_DETAIL_PANE= "IMG_ELCL_DETAIL_PANE"; //$NON-NLS-1$

-	public static final String IMG_ELCL_CHANGE_VARIABLE_VALUE= "IMG_ELCL_CHANGE_VARIABLE_VALUE"; //$NON-NLS-1$

-	public static final String IMG_ELCL_TYPE_NAMES= "IMG_ELCL_TYPE_NAMES"; //$NON-NLS-1$

-	

-	/** Transparent overlay image identifier. */

-	public static final String IMG_OVR_TRANSPARENT = "IMG_OVR_TRANSPARENT";  //$NON-NLS-1$

-	

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java
deleted file mode 100644
index 1262e0f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.debug.internal.ui;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-/**
- * Implementors of this interface are notified whenever a change is made to the launch history.
- * This could be an addition or deletion from either of the run or debug histories, or change
- * to the last launched item.
- */
-public interface ILaunchHistoryChangedListener {
-
-	/**
-	 * Notification that the launch history has changed.  Any of the run history, debug history
-	 * or last launched items could have changed.  To examine the history items, retrieve them
-	 * from the <code>DebugUIPlugin</code>.
-	 */
-	public void launchHistoryChanged();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
deleted file mode 100644
index c283b63..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package org.eclipse.debug.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.HashMap;

-import java.util.Iterator;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.debug.core.model.IValue;

-import org.eclipse.debug.ui.IDebugModelPresentation;

-import org.eclipse.debug.ui.IValueDetailListener;

-import org.eclipse.jface.text.source.SourceViewerConfiguration;

-import org.eclipse.jface.util.ListenerList;

-import org.eclipse.jface.viewers.ILabelProviderListener;

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.IEditorInput;

-

-/**

- * A proxy to an IDebugModelPresentation extension. Instantiates the extension

- * when it is needed.

- */

-

-public class LazyModelPresentation implements IDebugModelPresentation {

-	

-	/**

-	 * A temporary mapping of attribute ids to their values

-	 * @see IDebugModelPresentation#setAttribute

-	 */

-	protected HashMap fAttributes= new HashMap(3);

-

-	/**

-	 * The config element that defines the extension

-	 */

-	protected IConfigurationElement fConfig = null;

-	

-	/**

-	 * The actual presentation instance - null until called upon

-	 */

-	protected IDebugModelPresentation fPresentation = null;

-	

-	/**

-	 * Temp holding for listeners - we do not add to presentation until

-	 * it needs to be instantiated.

-	 */

-	protected ListenerList fListeners= new ListenerList(5);		

-	/**

-	 * Constructs a lazy presentation from the config element.

-	 */

-	public LazyModelPresentation(IConfigurationElement configElement) {

-		fConfig = configElement;

-	}

-

-	/**

-	 * @see IDebugModelPresentation#getImage(Object)

-	 */

-	public Image getImage(Object element) {

-		return getPresentation().getImage(element);

-	}

-

-	/**

-	 * @see IDebugModelPresentation#getText(Object)

-	 */

-	public String getText(Object element) {

-		return getPresentation().getText(element);

-	}

-	

-	/**

-	 * @see IDebugModelPresentation#computeDetail(IValue, IValueDetailListener)

-	 */

-	public void computeDetail(IValue value, IValueDetailListener listener) {

-		getPresentation().computeDetail(value, listener);

-	}	

-	

-	/**

-	 * @see ISourcePresentation#getEditorInput(Object)

-	 */

-	public IEditorInput getEditorInput(Object element) {

-		return getPresentation().getEditorInput(element);

-	}

-	

-	/**

-	 * @see ISourcePresentation#getEditorId(IEditorInput, Object)

-	 */

-	public String getEditorId(IEditorInput input, Object inputObject) {

-		return getPresentation().getEditorId(input, inputObject);

-	}

-

-	/**

-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)

-	 */

-	public void addListener(ILabelProviderListener listener) {

-		if (fPresentation != null) {

-			getPresentation().addListener(listener);

-		}

-		fListeners.add(listener);

-	}

-

-	/**

-	 * @see IBaseLabelProvider#dispose()

-	 */

-	public void dispose() {

-		if (fPresentation != null) {

-			getPresentation().dispose();

-		}

-		fListeners = null;

-	}

-

-	/**

-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)

-	 */

-	public boolean isLabelProperty(Object element, String property) {

-		if (fPresentation != null) {

-			return getPresentation().isLabelProperty(element, property);

-		} 

-		return false;

-	}

-

-	/**

-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)

-	 */

-	public void removeListener(ILabelProviderListener listener) {

-		if (fPresentation != null) {

-			getPresentation().removeListener(listener);

-		}

-		fListeners.remove(listener);

-	}

-	

-	/**

-	 * Returns the real presentation, instantiating if required.

-	 */

-	protected IDebugModelPresentation getPresentation() {

-		if (fPresentation == null) {

-			try {

-				fPresentation= (IDebugModelPresentation) DebugUIPlugin.createExtension(fConfig, "class"); //$NON-NLS-1$

-				// configure it

-				if (fListeners != null) {

-					Object[] list = fListeners.getListeners();

-					for (int i= 0; i < list.length; i++) {

-						fPresentation.addListener((ILabelProviderListener)list[i]);

-					}

-				}

-				Iterator keys= fAttributes.keySet().iterator();

-				while (keys.hasNext()) {

-					String key= (String)keys.next();

-					fPresentation.setAttribute(key, fAttributes.get(key));

-				}

-			} catch (CoreException e) {

-				DebugUIPlugin.log(e);

-			}

-		}

-		return fPresentation;

-	}

-

-	/**

-	 * @see IDebugModelPresentation#setAttribute(String, Object)

-	 */

-	public void setAttribute(String id, Object value) {

-		if (value == null) {

-			return;

-		}

-		if (fPresentation != null) {

-			getPresentation().setAttribute(id, value);

-		}

-

-		fAttributes.put(id, value);

-	}

-	

-	/**

-	 * Returns the identifier of the debug model this

-	 * presentation is registered for.

-	 */

-	public String getDebugModelIdentifier() {

-		return fConfig.getAttribute("id"); //$NON-NLS-1$

-	}

-	

-	/**

-	 * Returns a new source viewer configuration for the details

-	 * area of the variables view, or <code>null</code> if

-	 * unspecified.

-	 * 

-	 * @return source viewer configuration or <code>null</code>

-	 * @exception CoreException if unable to create the specified

-	 * 	source viewer configuration

-	 */

-	public SourceViewerConfiguration newDetailsViewerConfiguration() throws CoreException {

-		String attr  = fConfig.getAttribute("detailsViewerConfiguration"); //$NON-NLS-1$

-		if (attr != null) {

-			return (SourceViewerConfiguration)fConfig.createExecutableExtension("detailsViewerConfiguration"); //$NON-NLS-1$

-		}

-		return null;

-	}

-	

-	

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/PixelConverter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/PixelConverter.java
deleted file mode 100644
index 35effee..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/PixelConverter.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.debug.internal.ui;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Control;
-
-public class PixelConverter {
-	
-	private FontMetrics fFontMetrics;
-	
-	public PixelConverter(Control control) {
-		GC gc = new GC(control);
-		gc.setFont(control.getFont());
-		fFontMetrics= gc.getFontMetrics();
-		gc.dispose();
-	}
-	
-	private FontMetrics fgFontMetrics;
-		
-	/**
-	 * @see DialogPage#convertHeightInCharsToPixels
-	 */
-	public int convertHeightInCharsToPixels(int chars) {
-		return Dialog.convertHeightInCharsToPixels(fFontMetrics, chars);
-	}
-
-	/**
-	 * @see DialogPage#convertHorizontalDLUsToPixels
-	 */
-	public int convertHorizontalDLUsToPixels(int dlus) {
-		return Dialog.convertHorizontalDLUsToPixels(fFontMetrics, dlus);
-	}
-
-	/**
-	 * @see DialogPage#convertVerticalDLUsToPixels
-	 */
-	public int convertVerticalDLUsToPixels(int dlus) {
-		return Dialog.convertVerticalDLUsToPixels(fFontMetrics, dlus);
-	}
-	
-	/**
-	 * @see DialogPage#convertWidthInCharsToPixels
-	 */
-	public int convertWidthInCharsToPixels(int chars) {
-		return Dialog.convertWidthInCharsToPixels(fFontMetrics, chars);
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTUtil.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTUtil.java
deleted file mode 100644
index 3393089..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTUtil.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-package org.eclipse.debug.internal.ui;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.util.Assert;
-
-/**
- * Utility class to simplify access to some SWT resources. 
- */
-public class SWTUtil {
-	
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated disaply. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display;
-		display= Display.getCurrent();
-		if (display == null)
-			display= Display.getDefault();
-		return display;		
-	}
-	
-	/**
-	 * Returns the shell for the given widget. If the widget doesn't represent
-	 * a SWT object that manage a shell, <code>null</code> is returned.
-	 * 
-	 * @return the shell for the given widget
-	 */
-	public static Shell getShell(Widget widget) {
-		if (widget instanceof Control)
-			return ((Control)widget).getShell();
-		if (widget instanceof Caret)
-			return ((Caret)widget).getParent().getShell();
-		if (widget instanceof DragSource)
-			return ((DragSource)widget).getControl().getShell();
-		if (widget instanceof DropTarget)
-			return ((DropTarget)widget).getControl().getShell();
-		if (widget instanceof Menu)
-			return ((Menu)widget).getParent().getShell();
-		if (widget instanceof ScrollBar)
-			return ((ScrollBar)widget).getParent().getShell();
-							
-		return null;	
-	}
-
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	public static int getButtonWidthHint(Button button) {
-		PixelConverter converter= new PixelConverter(button);
-		int widthHint= converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/**
-	 * Returns a height hint for a button control.
-	 */		
-	public static int getButtonHeigthHint(Button button) {
-		PixelConverter converter= new PixelConverter(button);
-		return converter.convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-	}	
-
-	
-	/**
-	 * Sets width and height hint for the button control.
-	 * <b>Note:</b> This is a NOP if the button's layout data is not
-	 * an instance of <code>GridData</code>.
-	 * 
-	 * @param	the button for which to set the dimension hint
-	 */		
-	public static void setButtonDimensionHint(Button button) {
-		Assert.isNotNull(button);
-		Object gd= button.getLayoutData();
-		if (gd instanceof GridData) {
-			((GridData)gd).heightHint= getButtonHeigthHint(button);
-			((GridData)gd).widthHint= getButtonWidthHint(button);	
-			((GridData)gd).horizontalAlignment = GridData.FILL;	 
-		}
-	}		
-	
-	
-	/**
-	 * Creates and returns a new push button with the given
-	 * label and/or image.
-	 * 
-	 * @param parent parent control
-	 * @param label button label or <code>null</code>
-	 * @param image image of <code>null</code>
-	 * 
-	 * @return a new push button
-	 */
-	public static Button createPushButton(Composite parent, String label, Image image) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setFont(parent.getFont());
-		if (image != null) {
-			button.setImage(image);
-		}
-		if (label != null) {
-			button.setText(label);
-		}
-		GridData gd = new GridData();
-		button.setLayoutData(gd);	
-		SWTUtil.setButtonDimensionHint(button);
-		return button;	
-	}	
-
-	/**
-	 * Creates and returns a new radio button with the given
-	 * label.
-	 * 
-	 * @param parent parent control
-	 * @param label button label or <code>null</code>
-	 * 
-	 * @return a new radio button
-	 */
-	public static Button createRadioButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.RADIO);
-		button.setFont(parent.getFont());
-		if (label != null) {
-			button.setText(label);
-		}
-		GridData gd = new GridData();
-		button.setLayoutData(gd);	
-		SWTUtil.setButtonDimensionHint(button);
-		return button;	
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java
deleted file mode 100644
index 2f5fdf0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java
+++ /dev/null
@@ -1,331 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.Iterator;

-

-import org.eclipse.core.runtime.MultiStatus;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.ui.IDebugUIConstants;

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.viewers.StructuredSelection;

-import org.eclipse.swt.custom.BusyIndicator;

-import org.eclipse.swt.widgets.Display;

-import org.eclipse.ui.ISelectionListener;

-import org.eclipse.ui.IViewActionDelegate;

-import org.eclipse.ui.IViewPart;

-import org.eclipse.ui.IWorkbenchPage;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.IWorkbenchWindow;

-import org.eclipse.ui.IWorkbenchWindowActionDelegate;

-

-public abstract class AbstractDebugActionDelegate implements IWorkbenchWindowActionDelegate, IViewActionDelegate, ISelectionListener {

-	

-	/**

-	 * The underlying action for this delegate

-	 */

-	private IAction fAction;

-	/**

-	 * This action's view part, or <code>null</code>

-	 * if not installed in a view.

-	 */

-	private IViewPart fViewPart;

-	

-	/**

-	 * Cache of the most recent seletion

-	 */

-	private IStructuredSelection fSelection;

-	

-	/**

-	 * Whether this delegate has been initialized

-	 */

-	private boolean fInitialized = false;

-	

-	/**

-	 * The window associated with this action delegate

-	 * May be <code>null</code>

-	 */

-	protected IWorkbenchWindow fWindow;

-	

-	/**

-	 * It's crucial that delegate actions have a zero-arg constructor so that

-	 * they can be reflected into existence when referenced in an action set

-	 * in the plugin's plugin.xml file.

-	 */

-	public AbstractDebugActionDelegate() {

-	}

-	

-	/**

-	 * @see IWorkbenchWindowActionDelegate#dispose()

-	 */

-	public void dispose(){

-		if (getWindow() != null) {

-			getWindow().getSelectionService().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);

-		}

-	}

-

-	/**

-	 * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)

-	 */

-	public void init(IWorkbenchWindow window){

-		// listen to selection changes in the debug view

-		setWindow(window);

-		window.getSelectionService().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);

-	}

-

-	/**

-	 * @see IActionDelegate#run(IAction)

-	 */

-	public void run(IAction action){

-		IStructuredSelection selection= getSelection();

-		

-		final Iterator enum= selection.iterator();

-		String pluginId= DebugUIPlugin.getUniqueIdentifier();

-		final MultiStatus ms= 

-			new MultiStatus(pluginId, DebugException.REQUEST_FAILED, getStatusMessage(), null); 

-		BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {

-			public void run() {

-				while (enum.hasNext()) {

-					Object element= enum.next();

-					try {

-						doAction(element);

-					} catch (DebugException e) {

-						ms.merge(e.getStatus());

-					}

-				}

-			}

-		});

-		if (!ms.isOK()) {

-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();

-			if (window != null) {

-				DebugUIPlugin.errorDialog(window.getShell(), getErrorDialogTitle(), getErrorDialogMessage(), ms);

-			} else {

-				DebugUIPlugin.log(ms);

-			}

-		}		

-	}

-

-	/**

-	 * Set the icons for this action on the first selection changed

-	 * event. This is necessary because the XML currently only

-	 * supports setting the enabled icon. 

-	 * <p>

-	 * AbstractDebugActionDelegates come in 2 flavors: IViewActionDelegate, 

-	 * IWorkbenchWindowActionDelegate delegates.

-	 * </p>

-	 * <ul>

-	 * <li>IViewActionDelegate delegate: getView() != null</li>

-	 * <li>IWorkbenchWindowActionDelegate: getView == null</li>

-	 * </ul>

-	 * <p>

-	 * Only want to call update(action, selection) for IViewActionDelegates.

-	 * An initialize call to update(action, selection) is made for all flavors to set the initial

-	 * enabled state of the underlying action.

-	 * IWorkbenchWindowActionDelegate's listen to selection changes

-	 * in the debug view only.

-	 * </p>

-	 * 

-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)

-	 */

-	public void selectionChanged(IAction action, ISelection s) {

-		boolean wasInitialized= initialize(action, s);		

-		if (!wasInitialized) {

-			if (getView() != null) {

-				update(action, s);

-			}

-		}

-	}

-	

-	protected void update(IAction action, ISelection s) {

-		if (s instanceof IStructuredSelection) {

-			IStructuredSelection ss = (IStructuredSelection)s;

-			action.setEnabled(getEnableStateForSelection(ss));

-			setSelection(ss);

-		} else {

-			action.setEnabled(false);

-			setSelection(StructuredSelection.EMPTY);

-		}

-	}

-	

-	/**

-	 * Return whether the action should be enabled or not based on the given selection.

-	 */

-	protected boolean getEnableStateForSelection(IStructuredSelection selection) {

-		if (selection.size() == 0) {

-			return false;

-		}

-		Iterator enum= selection.iterator();

-		int count= 0;

-		while (enum.hasNext()) {

-			count++;

-			if (count > 1 && !enableForMultiSelection()) {

-				return false;

-			}

-			Object element= enum.next();

-			if (!isEnabledFor(element)) {

-				return false;

-			}

-		}

-		return true;		

-	}

-	

-	/**

-	 * Returns whether this action should be enabled if there is

-	 * multi selection.

-	 */

-	protected boolean enableForMultiSelection() {

-		return true;

-	}

-		

-	/**

-	 * Performs the specific action on this element.

-	 */

-	protected abstract void doAction(Object element) throws DebugException;

-

-	/**

-	 * Returns whether this action will work for the given element

-	 */

-	protected abstract boolean isEnabledFor(Object element);

-	

-	/**

-	 * Returns the String to use as an error dialog title for

-	 * a failed action. Default is to return null.

-	 */

-	protected String getErrorDialogTitle(){

-		return null;

-	}

-	/**

-	 * Returns the String to use as an error dialog message for

-	 * a failed action. This message appears as the "Message:" in

-	 * the error dialog for this action.

-	 * Default is to return null.

-	 */

-	protected String getErrorDialogMessage(){

-		return null;

-	}

-	/**

-	 * Returns the String to use as a status message for

-	 * a failed action. This message appears as the "Reason:"

-	 * in the error dialog for this action.

-	 * Default is to return the empty String.

-	 */

-	protected String getStatusMessage(){

-		return ""; //$NON-NLS-1$

-	}

-

-	/**

-	 * @see IViewActionDelegate#init(IViewPart)

-	 */

-	public void init(IViewPart view) {

-		fViewPart = view;

-	}

-	

-	/**

-	 * Returns this action's view part, or <code>null</code>

-	 * if not installed in a view.

-	 * 

-	 * @return view part or <code>null</code>

-	 */

-	protected IViewPart getView() {

-		return fViewPart;

-	}

-

-	/**

-	 * Initialize this delegate, updating this delegate's

-	 * presentation.

-	 * As well, all of the flavors of AbstractDebugActionDelegates need to 

-	 * have the initial enabled state set with a call to update(IAction, ISelection).

-	 * 

-	 * @param action the presentation for this action

-	 * @return whether the action was initialized

-	 */

-	protected boolean initialize(IAction action, ISelection selection) {

-		if (!isInitialized()) {

-			setAction(action);

-			if (getView() == null) {

-				//update on the selection in the debug view

-				IWorkbenchWindow window= getWindow();

-				if (window != null && window.getShell() != null && !window.getShell().isDisposed()) {

-					IWorkbenchPage page= window.getActivePage();

-					if (page != null) {

-						selection= page.getSelection(IDebugUIConstants.ID_DEBUG_VIEW);

-					}

-				}

-			}

-			update(action, selection);

-			setInitialized(true);

-			return true;

-		}

-		return false;

-	}

-

-	/**

-	 * Returns the most recent selection

-	 * 

-	 * @return structured selection

-	 */	

-	protected IStructuredSelection getSelection() {

-		if (getView() != null) {

-			//cannot used the cached selection in a view

-			//as the selection can be out of date for context menu

-			//actions. See bug 14556

-			ISelection s= getView().getViewSite().getSelectionProvider().getSelection();

-			if (s instanceof IStructuredSelection) {

-				return (IStructuredSelection)s;

-			} else {

-				return StructuredSelection.EMPTY;

-			}

-		}

-		return fSelection;

-	}

-	

-	/**

-	 * Sets the most recent selection

-	 * 

-	 * @parm selection structured selection

-	 */	

-	private void setSelection(IStructuredSelection selection) {

-		fSelection = selection;

-	}	

-	

-	/**

-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)

-	 */

-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {

-		update(getAction(), selection);

-	}

-	

-	protected void setAction(IAction action) {

-		fAction = action;

-	}

-

-	protected IAction getAction() {

-		return fAction;

-	}

-	

-	protected void setView(IViewPart viewPart) {

-		fViewPart = viewPart;

-	}

-	

-	protected boolean isInitialized() {

-		return fInitialized;

-	}

-

-	protected void setInitialized(boolean initialized) {

-		fInitialized = initialized;

-	}

-

-	protected IWorkbenchWindow getWindow() {
-		return fWindow;
-	}
-

-	protected void setWindow(IWorkbenchWindow window) {
-		fWindow = window;
-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractListenerActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractListenerActionDelegate.java
deleted file mode 100644
index 7837fee..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractListenerActionDelegate.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
- 
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;

-

-public abstract class AbstractListenerActionDelegate extends AbstractDebugActionDelegate implements IDebugEventSetListener, IPartListener, IPageListener {

-
-	/**
-	 * @see IPartListener#partActivated(IWorkbenchPart)
-	 */
-	public void partActivated(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partBroughtToTop(IWorkbenchPart)
-	 */
-	public void partBroughtToTop(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partClosed(IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		if (part.equals(getView())) {
-			dispose();
-		}
-	}
-
-	/**
-	 * @see IPartListener#partDeactivated(IWorkbenchPart)
-	 */
-	public void partDeactivated(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partOpened(IWorkbenchPart)
-	 */
-	public void partOpened(IWorkbenchPart part) {
-	}
-	
-	/**
-	 * @see IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-		getWindow().removePageListener(this);
-		if (getView() != null) {
-			getView().getViewSite().getPage().removePartListener(this);	
-		}
-	}
-	
-	/**
-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(final DebugEvent[] events) {
-		if (getPage() == null || getAction() == null) {
-			return;
-		}
-		Shell shell= getWindow().getShell();
-		if (shell == null || shell.isDisposed()) {
-			return;
-		}
-		Runnable r= new Runnable() {
-			public void run() {
-				Shell shell= getWindow().getShell();
-				if (shell == null || shell.isDisposed()) {
-					return;
-				}
-				for (int i = 0; i < events.length; i++) {
-					if (events[i].getSource() != null) {
-						doHandleDebugEvent(events[i]);
-					}
-				}
-			}
-		};
-		
-		getPage().getWorkbenchWindow().getShell().getDisplay().asyncExec(r);
-	}
-	
-	/**
-	 * Returns the page that this action works in.
-	 */
-	protected IWorkbenchPage getPage() {
-		if (getWindow() != null) {
-			return getWindow().getActivePage();
-		} else {
-			IWorkbenchWindow window=  DebugUIPlugin.getActiveWorkbenchWindow();
-			if (window != null) {
-				return window.getActivePage();
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Default implementation to update on specific debug events.
-	 * Subclasses should override to handle events differently.
-	 */
-	protected void doHandleDebugEvent(DebugEvent event) {
-		switch (event.getKind()) {
-			case DebugEvent.TERMINATE :
-				update(getAction(), getSelection());
-				break;
-			case DebugEvent.RESUME :
-				if (!event.isEvaluation() || !((event.getDetail() & DebugEvent.EVALUATION_IMPLICIT) != 0)) {
-					update(getAction(), getSelection());
-				}
-				break;
-			case DebugEvent.SUSPEND :
-				// Update on suspend events (even for evaluations), in case the user changed
-				// the selection during an implicit evaluation.
-				update(getAction(), getSelection());
-				break;
-		}
-	}		
-
-	/**

-	 * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)

-	 */

-	public void init(IWorkbenchWindow window){

-		super.init(window);

-		DebugPlugin.getDefault().addDebugEventListener(this);
-		window.addPageListener(this);
-	}
-
-	/**

-	 * @see IViewActionDelegate#init(IViewPart)

-	 */

-	public void init(IViewPart view) {

-		super.init(view);

-		DebugPlugin.getDefault().addDebugEventListener(this);
-		setWindow(view.getViewSite().getWorkbenchWindow());

-		getPage().addPartListener(this);
-		getPage().getWorkbenchWindow().addPageListener(this);
-	}
-	
-	/**
-	 * @see IPageListener#pageActivated(IWorkbenchPage)
-	 */
-	public void pageActivated(IWorkbenchPage page) {
-		if (getAction() != null && getView() != null && getPage() != null && getPage().equals(page)) {
-			Runnable r= new Runnable() {
-				public void run() {
-					if (getPage() != null) {
-						IWorkbenchWindow window= getPage().getWorkbenchWindow();
-						if (window != null && window.getShell() != null && !window.getShell().isDisposed()) {
-							ISelection selection= getPage().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-							update(getAction(), selection);
-						}
-					}
-				}
-			};
-		
-			getPage().getWorkbenchWindow().getShell().getDisplay().asyncExec(r);
-		}
-	}
-

-	/**
-	 * @see IPageListener#pageClosed(IWorkbenchPage)
-	 */
-	public void pageClosed(IWorkbenchPage page) {
-		if (page.equals(getPage())) {
-			dispose();
-		}
-	}
-
-	/**
-	 * @see IPageListener#pageOpened(IWorkbenchPage)
-	 */
-	public void pageOpened(IWorkbenchPage page) {
-	}
-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveActionDelegate.java
deleted file mode 100644
index b78d65a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveActionDelegate.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewPart;
-
-public abstract class AbstractRemoveActionDelegate extends AbstractListenerActionDelegate {
-	
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		setView(view);
-		setWindow(view.getViewSite().getWorkbenchWindow());
-		getPage().addPartListener(this);
-		getPage().getWorkbenchWindow().addPageListener(this);
-	}
-	
-	/**
-	 * @see AbstractDebugActionDelegate#initialize(IAction, ISelection)
-	 */
-	protected boolean initialize(IAction action, ISelection selection) {
-		if (!isInitialized()) {
-			IDebugView debugView= (IDebugView)getView().getAdapter(IDebugView.class);
-			if (debugView != null) {
-				debugView.setAction(IDebugView.REMOVE_ACTION, action);
-			}
-			return super.initialize(action, selection);
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java
deleted file mode 100644
index 8761960..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2002.

- * All Rights Reserved.

- */

- 

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.ui.IViewPart;

-

-public abstract class AbstractRemoveAllActionDelegate extends AbstractListenerActionDelegate {

-

-	/**

-	 * @see AbstractDebugActionDelegate#doAction(Object)

-	 */

-	protected void doAction(Object element) {

-		doAction();

-		getAction().setEnabled(false);

-	}

-	

-	/**

-	 * @see IActionDelegate#run(IAction)

-	 */

-	public void run(IAction action){

-		doAction(null);

-	}

-	

-	protected abstract void doAction();

-

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		return true;

-	}

-	

-	protected void update(IAction action, ISelection s) {

-		update();

-	}

-	

-	protected abstract void update();

-	

-	/**

-	 * Remove all actions do care nothing about the current selection

-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)

-	 */

-	public void selectionChanged(IAction action, ISelection s) {

-		if (!isInitialized()) {

-			action.setEnabled(false);

-			setAction(action);

-			setInitialized(true);

-		}

-		update();

-	}

-	

-	/**

-	 * @see IViewActionDelegate#init(IViewPart)

-	 */

-	public void init(IViewPart view) {

-		setView(view);

-		setWindow(view.getViewSite().getWorkbenchWindow());

-		getPage().addPartListener(this);

-		getPage().getWorkbenchWindow().addPageListener(this);

-	}

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java
deleted file mode 100644
index 19fe1cf..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-public class ActionMessages {

-

-	private static final String RESOURCE_BUNDLE= "org.eclipse.debug.internal.ui.actions.ActionMessages";//$NON-NLS-1$

-

-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);

-

-	private ActionMessages() {

-	}

-

-	public static String getString(String key) {

-		try {

-			return fgResourceBundle.getString(key);

-		} catch (MissingResourceException e) {

-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$

-		}

-	}

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.properties
deleted file mode 100644
index 582837f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.properties
+++ /dev/null
@@ -1,106 +0,0 @@
-######################################################################

-# Copyright (c) 2000, 2002 IBM Corp. and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Common Public License v0.5

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/cpl-v05.html

-#

-# Contributors:

-#    IBM Corporation - Initial implementation

-######################################################################

-

-ChangeVariableValue.errorDialogMessage=Setting the variable value failed.

-ChangeVariableValue.errorDialogTitle=Setting variable value

-ChangeVariableValue.title=&Change Variable Value

-ChangeVariableValue.toolTipText=Changes the Value of a Simple Type Variable

-

-ClearOutputAction.title=Clea&r

-ClearOutputAction.toolTipText=Clear Console

-

-CopyToClipboardActionDelegate.Problem_Copying_to_Clipboard_1=Problem Copying to Clipboard

-CopyToClipboardActionDelegate.There_was_a_problem_when_accessing_the_system_clipboard._Retry__2=There was a problem when accessing the system clipboard. Retry?

-

-DisconnectActionDelegate.Disconnect_3=Disconnect

-DisconnectActionDelegate.Disconnect_failed_1=Disconnect failed

-DisconnectActionDelegate.Exceptions_occurred_attempting_to_disconnect._2=Exceptions occurred attempting to disconnect.

-

-EnableBreakpointAction.Enable_breakpoint(s)_failed_2=Enable/Disable breakpoint(s) failed

-EnableBreakpointAction.Enabling_breakpoints_3=Enabling/disabling breakpoints

-EnableBreakpointAction.Exceptions_occurred_enabling_the_breakpoint(s)._4=Exceptions occurred enabling/disabling the breakpoint(s).

-

-OpenBreakpointMarkerAction.&Go_to_File_1=&Go to File

-OpenBreakpointMarkerAction.Exceptions_occurred_attempting_to_open_the_editor_for_the_breakpoint_resource_2=Exceptions occurred attempting to open the editor for the breakpoint resource

-OpenBreakpointMarkerAction.Go_to_Breakpoint_1=Go to File

-OpenBreakpointMarkerAction.Go_to_File_for_Breakpoint_2=Go to File for Breakpoint

-

-RelaunchActionDelegate.An_exception_occurred_while_launching_2=An exception occurred while launching

-RelaunchActionDelegate.Launch_Failed_1=Launch Failed

-RelaunchActionDelegate.Launch_1=Launch

-

-RemoveAllBreakpointsAction.Breakpoint(s)_removal_failed_3=Breakpoint(s) removal failed

-RemoveAllBreakpointsAction.Exceptions_occurred_removing_breakpoints._5=Exceptions occurred removing breakpoints.

-RemoveAllBreakpointsAction.Removing_all_breakpoints_4=Removing all breakpoints

-

-RemoveBreakpointAction.Breakpoint(s)_removal_failed_3=Breakpoint(s) removal failed

-RemoveBreakpointAction.Exceptions_occurred_attempting_to_remove_a_breakpoint._5=Exceptions occurred attempting to remove a breakpoint.

-RemoveBreakpointAction.Removing_a_breakpoint_4=Removing a breakpoint

-

-ResumeActionDelegate.Exceptions_occurred_attempting_to_resume._2=Exceptions occurred attempting to resume.

-ResumeActionDelegate.Resume_3=Resume

-ResumeActionDelegate.Resume_failed._1=Resume failed.

-

-ShowDetailPaneAction.Show_detail_pane_2=Show Detail Pane

-ShowDetailPaneAction.Show_Variable_Detail_Pane_1=Show &Detail Pane

-

-ShowSupportedBreakpointsAction.Show_For_Selected=Show Supported &Breakpoints

-ShowSupportedBreakpointsAction.tooltip=Show Breakpoints Supported by Selected Target

-

-ShowTypesAction.Show_&Type_Names_1=Show &Type Names

-ShowTypesAction.Show_Type_Names=Show Type Names

-

-StepIntoActionDelegate.Exceptions_occurred_attempting_to_step_into_the_frame_2=Exceptions occurred attempting to step into the frame

-StepIntoActionDelegate.Step_Into_3=Step Into

-StepIntoActionDelegate.Step_into_failed_1=Step into failed

-

-StepOverActionDelegate.Exceptions_occurred_attempting_to_step_over_the_frame_2=Exceptions occurred attempting to step over the frame

-StepOverActionDelegate.Step_over_3=Step Over

-StepOverActionDelegate.Step_over_failed_1=Step over failed

-

-StepReturnActionDelegate.Exceptions_occurred_attempting_to_run_to_return_of_the_frame._2=Exceptions occurred attempting to run to return of the frame.

-StepReturnActionDelegate.Run_to_Return_3=Step Return

-StepReturnActionDelegate.Run_to_return_failed._1=Step return failed.

-

-SuspendActionDelegate.Exceptions_occurred_attempting_to_suspend._2=Exceptions occurred attempting to suspend.

-SuspendActionDelegate.Suspend_3=Suspend

-SuspendActionDelegate.Suspend_failed_1=Suspend failed

-

-TerminateActionDelegate.Exceptions_occurred_attempting_to_terminate._2=Exceptions occurred attempting to terminate.

-TerminateActionDelegate.Terminate_3=Terminate

-

-TerminateActionDelegate.Terminate_failed._1=Terminate failed.

-TerminateAllAction.Exceptions_occurred_attempting_to_terminate_all._5=Exceptions occurred attempting to terminate all.

-TerminateAllAction.Terminate_All_2=Terminate All

-TerminateAllAction.Terminate_all_failed_3=Terminate all failed

-

-TerminateAndRemoveActionDelegate.Exceptions_occurred_attempting_to_terminate_and_remove_2=Exceptions occurred attempting to terminate and remove

-TerminateAndRemoveActionDelegate.Terminate_and_Remove;_3=Terminate and Remove;

-TerminateAndRemoveActionDelegate.Terminate_and_remove_failed_1=Terminate and remove failed

-

-TextViewerGotoLineAction.Enter_line_number__8=Enter line number (1...{0}):

-TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2=Exceptions occurred attempt to go to line

-TextViewerGotoLineAction.Go_to_&Line...@Ctrl+L_4=Go to &Line...@Ctrl+L

-TextViewerGotoLineAction.Go_To_Line_1=Go to Line

-TextViewerGotoLineAction.Line_number_out_of_range_1=Line number out of range

-TextViewerGotoLineAction.Not_a_number_2=Not a number

-DebugDropDownAction.Debug_last_launched_1=Debug Last Launched: 

-RunDropDownAction.Run_last_launched_1=Run Last Launched: 

-DebugDropDownAction.Debug_1=Debug 

-RunDropDownAction.Run_1=Run

-DebugWithConfigurationAction.Debug_As_1=Debug &As

-RunWithConfigurationAction.Run_As_1=Run &As

-OpenDebugConfigurations.Debug..._1=&Debug...

-OpenRunConfigurations.Run..._1=&Run...

-RelaunchLastAction.Cannot_relaunch_1=Cannot relaunch

-RelaunchLastAction.Cannot_relaunch_[{0}]_because_it_does_not_support_{2}_mode_2=Cannot relaunch [{0}] because it does not support {1} mode

-RelaunchLastAction.Error_relaunching_3=Error relaunching

-RelaunchLastAction.Error_encountered_attempting_to_relaunch_4=Error encountered attempting to relaunch

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueAction.java
deleted file mode 100644
index 7bdf358..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueAction.java
+++ /dev/null
@@ -1,233 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.util.Iterator;

-

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.model.IValueModification;

-import org.eclipse.debug.core.model.IVariable;

-import org.eclipse.debug.internal.ui.DebugPluginImages;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;

-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;

-import org.eclipse.debug.ui.IDebugUIConstants;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.viewers.TreeViewer;

-import org.eclipse.jface.viewers.Viewer;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.TreeEditor;

-import org.eclipse.swt.events.FocusAdapter;

-import org.eclipse.swt.events.FocusEvent;

-import org.eclipse.swt.events.KeyAdapter;

-import org.eclipse.swt.events.KeyEvent;

-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.Shell;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.swt.widgets.Tree;

-import org.eclipse.swt.widgets.TreeItem;

-import org.eclipse.ui.IWorkbenchWindow;

-import org.eclipse.ui.actions.SelectionProviderAction;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-/**

- * Action for changing the value of primitives and <code>String</code> variables.

- */

-public class ChangeVariableValueAction extends SelectionProviderAction {

-

-	// Fields for inline editing 

-	protected Composite fComposite;

-	protected Tree fTree;

-	protected Label fEditorLabel;

-	protected Text fEditorText;

-	protected TreeEditor fTreeEditor;

-	protected IVariable fVariable;

-	protected boolean fKeyReleased= false;

-	

-	public ChangeVariableValueAction(Viewer viewer) {

-		super(viewer, ActionMessages.getString("ChangeVariableValue.title")); //$NON-NLS-1$

-		setDescription(ActionMessages.getString("ChangeVariableValue.toolTipText")); //$NON-NLS-1$

-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_CHANGE_VARIABLE_VALUE));

-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_CHANGE_VARIABLE_VALUE));

-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_CHANGE_VARIABLE_VALUE));

-		fTree= ((TreeViewer)viewer).getTree();

-		fTreeEditor= new TreeEditor(fTree);

-		WorkbenchHelp.setHelp(

-			this,

-			IDebugHelpContextIds.CHANGE_VALUE_ACTION);

-	}

-	

-	/**

-	 * Edit the variable value with an inline text editor.  

-	 */

-	protected void doActionPerformed(final IVariable variable) {

-		IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();

-		if (window == null) {

-			return;

-		}

-		final Shell activeShell= window.getShell();

-		

-		// If a previous edit is still in progress, finish it

-		if (fEditorText != null) {

-			saveChangesAndCleanup(fVariable, activeShell);

-		}

-		fVariable = variable;

-		

-		// Use a Composite containing a Label and a Text.  This allows us to edit just

-		// the value, while still showing the variable name.

-		fComposite = new Composite(fTree, SWT.NONE);

-		fComposite.setBackground(fTree.getBackground());

-		GridLayout layout = new GridLayout();

-		layout.numColumns = 2;

-		layout.marginHeight = 0;

-		layout.marginWidth = 0;

-		fComposite.setLayout(layout);

-		

-		fEditorLabel = new Label(fComposite, SWT.LEFT);

-		fEditorLabel.setLayoutData(new GridData(GridData.FILL_VERTICAL));

-		

-		// Fix for bug 1766.  Border behavior on Windows & Linux for text

-		// fields is different.  On Linux, you always get a border, on Windows,

-		// you don't.  Specifying a border on Linux results in the characters

-		// getting pushed down so that only there very tops are visible.  Thus,

-		// we have to specify different style constants for the different platforms.

-		int textStyles = SWT.SINGLE | SWT.LEFT;

-		if (SWT.getPlatform().equals("win32")) {  //$NON-NLS-1$

-			textStyles |= SWT.BORDER;

-		}

-		fEditorText = new Text(fComposite, textStyles);

-		fEditorText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));

-		String valueString= ""; //$NON-NLS-1$

-		try {

-			valueString= fVariable.getValue().getValueString();

-		} catch (DebugException de) {

-			DebugUIPlugin.errorDialog(activeShell,ActionMessages.getString("ChangeVariableValue.errorDialogTitle"),ActionMessages.getString("ChangeVariableValue.errorDialogMessage"), de);	 //$NON-NLS-1$ //$NON-NLS-2$

-		}

-		TreeItem[] selectedItems = fTree.getSelection();

-		fTreeEditor.horizontalAlignment = SWT.LEFT;

-		fTreeEditor.grabHorizontal = true;

-		fTreeEditor.setEditor(fComposite, selectedItems[0]);

-

-		// There is no API on the model presentation to get just the variable name, 

-		// so we have to make do with just calling IVariable.getName()

-		String varName = ""; //$NON-NLS-1$

-		try {

-			varName = fVariable.getName();

-		} catch (DebugException de) {

-			DebugUIPlugin.errorDialog(activeShell,ActionMessages.getString("ChangeVariableValue.errorDialogTitle"),ActionMessages.getString("ChangeVariableValue.errorDialogMessage"), de.getStatus());	 //$NON-NLS-1$ //$NON-NLS-2$

-		}

-		fEditorLabel.setText(varName + "="); //$NON-NLS-1$

-

-		fEditorText.setText(valueString);

-		fEditorText.selectAll();

-		

-		fComposite.layout(true);

-		fComposite.setVisible(true);

-		fEditorText.setFocus();

-	

-		// CR means commit the changes, ESC means abort changing the value

-		fEditorText.addKeyListener(new KeyAdapter() {

-			public void keyReleased(KeyEvent event) {

-				if (event.character == SWT.CR) {

-					if (fKeyReleased) {

-						saveChangesAndCleanup(fVariable, activeShell);

-					} else {

-						cleanup();

-						return;

-					}

-				}

-				if (event.character == SWT.ESC) {

-					cleanup();

-					return;

-				}

-				fKeyReleased= true;

-			}

-		});

-	

-		// If the focus is lost, then act as if user hit CR and commit changes

-		fEditorText.addFocusListener(new FocusAdapter() {

-			public void focusLost(FocusEvent fe) {

-				if (fKeyReleased) {

-					saveChangesAndCleanup(fVariable, activeShell);

-				} else {

-					cleanup();

-				}

-			}

-		});				

-	}

-	

-	/** 

-	 * If the new value validates, save it, and dispose the text widget, 

-	 * otherwise sound the system bell and leave the user in the editor.

-	 */

-	protected void saveChangesAndCleanup(IVariable variable, Shell shell) {

-		String newValue= fEditorText.getText();

-		try {

-			if (!variable.verifyValue(newValue)) {

-				shell.getDisplay().beep();

-				return;

-			}

-			variable.setValue(newValue);

-		} catch (DebugException de) {

-			DebugUIPlugin.errorDialog(shell, ActionMessages.getString("ChangeVariableValue.errorDialogTitle"),ActionMessages.getString("ChangeVariableValue.errorDialogMessage"), de);	//$NON-NLS-2$ //$NON-NLS-1$

-		}

-		cleanup();		

-	}

-

-	/**

-	 * Tidy up the widgets that were used

-	 */

-	private void cleanup() {

-		fKeyReleased= false;

-		if (fEditorText != null) {

-			fEditorText.dispose();

-			fEditorText = null;

-			fVariable = null;

-			fTreeEditor.setEditor(null, null);

-			fComposite.setVisible(false);

-		}

-	}

-		

-	/**

-	 * Updates the enabled state of this action based

-	 * on the selection

-	 */

-	protected void update(IStructuredSelection sel) {

-		Iterator iter= sel.iterator();

-		if (iter.hasNext()) {

-			Object object= iter.next();

-			if (object instanceof IValueModification) {

-				IValueModification varMod= (IValueModification)object;

-				if (!varMod.supportsValueModification()) {

-					setEnabled(false);

-					return;

-				}

-				setEnabled(!iter.hasNext());

-				return;

-			}

-		}

-		setEnabled(false);

-	}

-

-	/**

-	 * @see Action

-	 */

-	public void run() {

-		Iterator iterator= getStructuredSelection().iterator();

-		doActionPerformed((IVariable)iterator.next());

-	}

-	

-	/**

-	 * @see SelectionProviderAction

-	 */

-	public void selectionChanged(IStructuredSelection sel) {

-		update(sel);

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ClearOutputAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ClearOutputAction.java
deleted file mode 100644
index e751919..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ClearOutputAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.internal.ui.DebugPluginImages;

-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;

-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;

-import org.eclipse.debug.internal.ui.views.console.ConsoleViewer;

-import org.eclipse.debug.ui.IDebugUIConstants;

-import org.eclipse.jface.action.Action;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-/**

- * Clears the output of the selected launches

- */

-public class ClearOutputAction extends Action {

-

-	private ConsoleViewer fConsoleViewer;

-

-	public ClearOutputAction(ConsoleViewer viewer) {

-		super(ActionMessages.getString("ClearOutputAction.title")); //$NON-NLS-1$

-		fConsoleViewer= viewer;

-		setToolTipText(ActionMessages.getString("ClearOutputAction.toolTipText")); //$NON-NLS-1$

-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_CLEAR));		

-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_CLEAR));

-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_CLEAR));

-		WorkbenchHelp.setHelp(

-			this,

-			IDebugHelpContextIds.CLEAR_CONSOLE_ACTION);

-	}

-

-	/**

-	 * @see Action

-	 */

-	public void run() {

-		fConsoleViewer.clearDocument();

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConsoleTerminateActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConsoleTerminateActionDelegate.java
deleted file mode 100644
index 7bf3a8e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConsoleTerminateActionDelegate.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.debug.core.model.IProcess;

-import org.eclipse.debug.internal.ui.views.console.ConsoleView;

-import org.eclipse.debug.ui.IDebugView;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.viewers.StructuredSelection;

-import org.eclipse.ui.IViewPart;

-import org.eclipse.ui.texteditor.IUpdate;

- 

-/**

- * Terminate action for the console. Terminates the process

- * currently being displayed in the console.

- */

-public class ConsoleTerminateActionDelegate extends TerminateActionDelegate implements IUpdate {

-

-	/**

-	 * Returns a selection with the console view's

-	 * current process, or an empty selection.

-	 * 

-	 * @return structured selection

-	 */	

-	protected IStructuredSelection getSelection() {

-		IViewPart view = getView();

-		if (view instanceof ConsoleView) {

-			IProcess process = ((ConsoleView)view).getProcess();

-			if (process != null) {

-				return new StructuredSelection(process);

-			}

-		}

-		return StructuredSelection.EMPTY;

-	}

-	

-	/**

-	 * @see AbstractDebugActionDelegate#init(IViewPart)

-	 */

-	public void init(IViewPart view) {

-		super.init(view);

-		IDebugView debugView= (IDebugView)view.getAdapter(IDebugView.class);

-		if (debugView != null) {

-			debugView.add(this);

-		}

-	}

-	

-	/**

-	 * @see AbstractDebugActionDelegate#dispose()

-	 */

-	public void dispose() {

-		IViewPart view= getView();

-		IDebugView debugView= (IDebugView)view.getAdapter(IDebugView.class);

-		if (debugView != null) {

-			debugView.remove(this);

-		}

-		super.dispose();

-	}

-	/**

-	 * @see IUpdate#update()

-	 */

-	public void update() {

-		if (getAction() != null) {

-			update(getAction(), getSelection());

-		}

-	}

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyToClipboardActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyToClipboardActionDelegate.java
deleted file mode 100644
index 9939bc0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyToClipboardActionDelegate.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.util.ArrayList;

-import java.util.Iterator;

-import java.util.List;

-

-import org.eclipse.debug.core.model.IDebugElement;

-import org.eclipse.debug.core.model.IDebugTarget;

-import org.eclipse.debug.core.model.IThread;

-import org.eclipse.debug.ui.IDebugView;

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.viewers.ContentViewer;

-import org.eclipse.jface.viewers.ILabelProvider;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.viewers.ITreeContentProvider;

-import org.eclipse.jface.viewers.StructuredViewer;

-import org.eclipse.jface.viewers.ViewerFilter;

-import org.eclipse.swt.SWTError;

-import org.eclipse.swt.custom.BusyIndicator;

-import org.eclipse.swt.dnd.Clipboard;

-import org.eclipse.swt.dnd.DND;

-import org.eclipse.swt.dnd.TextTransfer;

-import org.eclipse.swt.dnd.Transfer;

-import org.eclipse.swt.widgets.Display;

-

-public class CopyToClipboardActionDelegate extends AbstractDebugActionDelegate {

-	

-	private ContentViewer fViewer;

-	

-	/**

-	 * @see AbstractDebugActionDelegate#initialize(IAction, ISelection)

-	 */

-	protected boolean initialize(IAction action, ISelection selection) {

-		if (!isInitialized()) {

-			IDebugView adapter= (IDebugView)getView().getAdapter(IDebugView.class);

-			if (adapter != null) {

-				if (adapter.getViewer() instanceof ContentViewer) {

-					setViewer((ContentViewer) adapter.getViewer());

-				}

-				adapter.setAction(getActionId(), action);

-			}

-			return super.initialize(action, selection);

-		} 

-		return false;

-	}

-

-	protected String getActionId() {

-		return IDebugView.COPY_ACTION;

-	}

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		return getViewer() != null && element instanceof IDebugElement;

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#doAction(Object)

-	 */

-	protected void doAction(Object element, StringBuffer buffer) {

-		append(element, buffer, (ILabelProvider)getViewer().getLabelProvider(), 0);

-	}

-

-	/** 

-	 * Appends the representation of the specified element (using the label provider and indent)

-	 * to the buffer.  For elements down to stack frames, children representations

-	 * are append to the buffer as well.

-	 */

-	protected void append(Object e, StringBuffer buffer, ILabelProvider lp, int indent) {

-		for (int i= 0; i < indent; i++) {

-			buffer.append('\t');

-		}

-		buffer.append(lp.getText(e));

-		buffer.append(System.getProperty("line.separator")); //$NON-NLS-1$

-		if (shouldAppendChildren(e)) {

-			Object[] children= new Object[0];

-			children= getChildren(e);

-			for (int i = 0;i < children.length; i++) {

-				Object de= children[i];

-				append(de, buffer, lp, indent + 1);

-			}

-		}

-	}

-	

-	protected Object getParent(Object e) {

-		return ((ITreeContentProvider) getViewer().getContentProvider()).getParent(e);

-	}

-	

-	/**

-	 * Returns the children of the parent after applying the filters

-	 * that are present in the viewer.

-	 */

-	protected Object[] getChildren(Object parent) {

-		Object[] children= ((ITreeContentProvider)getViewer().getContentProvider()).getChildren(parent);

-		ViewerFilter[] filters= ((StructuredViewer)getViewer()).getFilters();

-		if (filters != null) {

-			for (int i= 0; i < filters.length; i++) {

-				ViewerFilter f = filters[i];

-				children = f.filter(getViewer(), parent, children);

-			}

-		}

-		return children;

-	}

-	

-	/**

-	 * Do the specific action using the current selection.

-	 */

-	public void run(IAction action) {

-		final Iterator iter= pruneSelection();

-		BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {

-			public void run() {

-				StringBuffer buffer= new StringBuffer();

-				while (iter.hasNext()) {

-					doAction(iter.next(), buffer);

-				}

-				TextTransfer plainTextTransfer = TextTransfer.getInstance();

-				Clipboard clipboard= new Clipboard(getViewer().getControl().getDisplay());		

-				try {

-					doCopy(clipboard, plainTextTransfer, buffer);

-				} finally {

-					clipboard.dispose();

-				}

-			}

-		});

-	}

-	

-	protected void doCopy(Clipboard clipboard, TextTransfer plainTextTransfer, StringBuffer buffer) {

-		try {

-			clipboard.setContents(

-					new String[]{buffer.toString()}, 

-					new Transfer[]{plainTextTransfer});

-		} catch (SWTError e){

-			if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD) {

-				throw e;

-			}

-			if (MessageDialog.openQuestion(getViewer().getControl().getShell(), ActionMessages.getString("CopyToClipboardActionDelegate.Problem_Copying_to_Clipboard_1"), ActionMessages.getString("CopyToClipboardActionDelegate.There_was_a_problem_when_accessing_the_system_clipboard._Retry__2"))) { //$NON-NLS-1$ //$NON-NLS-2$

-				doCopy(clipboard, plainTextTransfer, buffer);

-			}

-		}	

-	}

-	

-	/**

-	 * Removes the duplicate items from the selection.

-	 * That is, if both a parent and a child are in a selection

-	 * remove the child.

-	 */

-	protected Iterator pruneSelection() {

-		IStructuredSelection selection= (IStructuredSelection)getViewer().getSelection();

-		List elements= new ArrayList(selection.size());

-		Iterator iter= selection.iterator();

-		while (iter.hasNext()) {

-			Object element= iter.next();

-			if (isEnabledFor(element)) {

-				if(walkHierarchy(element, elements)) {

-					elements.add(element);

-				}

-			}

-		}

-		return elements.iterator();

-	}

-	

-	/**

-	 * Returns whether the parent of the specified

-	 * element is already contained in the collection.

-	 */

-	protected boolean walkHierarchy(Object element, List elements) {

-		Object parent= getParent(element);

-		if (parent == null) {

-			return true;

-		}

-		if (elements.contains(parent)) {

-			return false;

-		}

-		return walkHierarchy(parent, elements);		

-	}

-	

-	protected boolean shouldAppendChildren(Object e) {

-		return e instanceof IDebugTarget || e instanceof IThread;

-	}

-			

-	protected ContentViewer getViewer() {

-		return fViewer;

-	}

-

-	protected void setViewer(ContentViewer viewer) {

-		fViewer = viewer;

-	}

-	/**

-	 * @see AbstractDebugActionDelegate#doAction(Object)

-	 */

-	protected void doAction(Object element) {

-		//not used

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyVariablesToClipboardActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyVariablesToClipboardActionDelegate.java
deleted file mode 100644
index 3027212..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyVariablesToClipboardActionDelegate.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.debug.core.model.IDebugElement;

-import org.eclipse.debug.ui.IDebugView;

-import org.eclipse.jface.viewers.TreeViewer;

-

-/**

- * Used to copy the values of variables to the clipboard from

- * the Variables and Expression views.

- */

-public class CopyVariablesToClipboardActionDelegate extends CopyToClipboardActionDelegate {

-

-	/**

-	 * Only append children that are visible in the tree viewer

-	 */

-	protected boolean shouldAppendChildren(Object e) {

-		return((TreeViewer)getViewer()).getExpandedState(e);

-	}

-	

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		return element instanceof IDebugElement;

-	}

-	

-	protected String getActionId() {

-		return IDebugView.COPY_ACTION + ".Variables"; //$NON-NLS-1$

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugDropDownAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugDropDownAction.java
deleted file mode 100644
index 1d0969a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugDropDownAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationHistoryElement;

-import org.eclipse.debug.ui.actions.DebugAction;

-

-public class DebugDropDownAction extends LaunchDropDownAction {

-

-

-	public DebugDropDownAction() {

-		super(new DebugAction());

-	}

-	

-	protected DebugDropDownAction(ExecutionAction action) {

-		super(action);

-	}

-

-	/**

-	 * @see LaunchDropDownAction#getMode()

-	 */

-	public String getMode() {

-		return ILaunchManager.DEBUG_MODE;

-	}

-	

-	/**

-	 * @see LaunchDropDownAction#getHistory()

-	 */

-	public LaunchConfigurationHistoryElement[] getHistory() {

-		return DebugUIPlugin.getLaunchConfigurationManager().getDebugHistory();

-	}

-	

-	/**

-	 * @see LaunchDropDownAction#getFavorites()

-	 */

-	public LaunchConfigurationHistoryElement[] getFavorites() {

-		return DebugUIPlugin.getLaunchConfigurationManager().getDebugFavorites();

-	}	

-

-	/**

-	 * @see LaunchDropDownAction#getLastLaunchPrefix()

-	 */

-	protected String getLastLaunchPrefix() {

-		return ActionMessages.getString("DebugDropDownAction.Debug_last_launched_1"); //$NON-NLS-1$

-	}

-	

-	/**

-	 * @see LaunchDropDownAction#getTooltipPrefix()

-	 */

-	protected String getStaticTooltip() {

-		return ActionMessages.getString("DebugDropDownAction.Debug_1"); //$NON-NLS-1$

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java
deleted file mode 100644
index 8bebe6e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.jface.action.Action;

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.action.IMenuCreator;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.swt.events.MenuListener;

-import org.eclipse.swt.widgets.Event;

-import org.eclipse.swt.widgets.Menu;

- 

-public class DebugHistoryMenuAction extends DebugDropDownAction implements IMenuCreator {

-	

-	private MenuListener fMenuListener= null;

-	private Menu fTopMenu= null;

-	

-	public DebugHistoryMenuAction() {

-		super(null);

-	}

-	

-	/**

-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)

-	 */

-	public void selectionChanged(IAction action, ISelection selection) {

-		if (action instanceof Action) {

-			if (getActionProxy() == null) {

-				((Action)action).setMenuCreator(this);

-				setActionProxy(action);

-			}

-		} else {

-			action.setEnabled(false);

-		}

-	}

-	

-	/**

-	 * @see IActionDelegate#run(IAction)

-	 */

-	public void run(IAction action) {

-		//do nothing as the action strictly generates the history sub menu

-	}

-	

-	/**

-	 * @see IActionDelegateWithEvent#runWithEvent(IAction, Event)

-	 */

-	public void runWithEvent(IAction action, Event event) {

-		//do nothing as the action strictly generates the history sub menu

-	}

-	

-	public Menu getMenu(Menu parent) {

-		cleanup();

-		Menu menu= new Menu(parent);

-		parent.addMenuListener(getDebugActionSetMenuListener());

-		fTopMenu= parent;

-		setCreatedMenu(menu);

-		Menu subMenu= createMenu(menu);

-		return subMenu;

-	}

-	

-	/**

-	 * @see LaunchDropDownAction#getDebugActionSetMenuListener()

-	 */

-	protected MenuListener getDebugActionSetMenuListener() {

-		if (fMenuListener == null) {

-			fMenuListener= super.getDebugActionSetMenuListener();

-		} 

-		return fMenuListener;

-	}

-

-	public void dispose() {

-		cleanup();

-		super.dispose();

-	}

-	

-	protected void cleanup() {

-		if (fTopMenu != null && !fTopMenu.isDisposed()) {

-			fTopMenu.removeMenuListener(getDebugActionSetMenuListener());

-		}

-	}

-

-	/**

-	 * @see org.eclipse.debug.internal.ui.actions.LaunchDropDownAction#createTopSeparator(Menu)

-	 */

-	protected void createTopSeparator(Menu menu) {

-	}

-	

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java
deleted file mode 100644
index 6552da4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import org.eclipse.debug.core.ILaunchManager;
-
-/**
- * Relaunches the last debug-mode launch
- */
-public class DebugLastAction extends RelaunchLastAction {
-	
-	/**
-	 * @see RelaunchLastAction#getMode()
-	 */
-	public String getMode() {
-		return ILaunchManager.DEBUG_MODE;
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugWithConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugWithConfigurationAction.java
deleted file mode 100644
index 51aefb7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugWithConfigurationAction.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import org.eclipse.debug.core.ILaunchManager;
-
-public class DebugWithConfigurationAction extends LaunchWithConfigurationAction {
-
-	/**
-	 * @see LaunchWithConfigurationAction#getMode()
-	 */
-	public String getMode() {
-		return ILaunchManager.DEBUG_MODE;		
-	}
-
-	/**
-	 * @see LaunchWithConfigurationAction#getLabelText()
-	 */
-	public String getLabelText() {
-		return ActionMessages.getString("DebugWithConfigurationAction.Debug_As_1"); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableBreakpointsAction.java
deleted file mode 100644
index 47a553d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableBreakpointsAction.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */

-

-public class DisableBreakpointsAction extends EnableBreakpointsAction {

-	
-	/**
-	 * This action disables breakpoints.
-	 */
-	protected boolean isEnableAction() {
-		return false;
-	}
-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisconnectActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisconnectActionDelegate.java
deleted file mode 100644
index c91b8b5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisconnectActionDelegate.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugEvent;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.model.IDebugTarget;

-import org.eclipse.debug.core.model.IDisconnect;

-

-public class DisconnectActionDelegate extends AbstractListenerActionDelegate {

-

-	/**

-	 * @see AbstractDebugActionDelegate#doAction(Object)

-	 */

-	protected void doAction(Object element) throws DebugException {

-		if (element instanceof IDisconnect) {

-			 ((IDisconnect) element).disconnect();

-		}

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		return element instanceof IDisconnect && ((IDisconnect) element).canDisconnect();

-	}

-		

-	/**

-	 * @see AbstractDebugActionDelegate#getStatusMessage()

-	 */

-	protected String getStatusMessage() {

-		return ActionMessages.getString("DisconnectActionDelegate.Exceptions_occurred_attempting_to_disconnect._2"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()

-	 */

-	protected String getErrorDialogMessage() {

-		return ActionMessages.getString("DisconnectActionDelegate.Disconnect_failed_1"); //$NON-NLS-1$

-	}

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()

-	 */

-	protected String getErrorDialogTitle() {

-		return ActionMessages.getString("DisconnectActionDelegate.Disconnect_3"); //$NON-NLS-1$

-	}

-	

-	/**

-	 * @see ListenerActionDelegate#doHandleDebugEvent(DebugEvent)

-	 */

-	protected void doHandleDebugEvent(DebugEvent event) {	

-		if (event.getKind() == DebugEvent.TERMINATE && event.getSource() instanceof IDebugTarget) {

-			update(getAction(), getSelection());

-		}

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableBreakpointsAction.java
deleted file mode 100644
index 0fb1e60..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableBreakpointsAction.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2002.

- * All Rights Reserved.

- */

-

-import java.util.Iterator;

-

-import org.eclipse.core.resources.IMarkerDelta;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.MultiStatus;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.IBreakpointListener;

-import org.eclipse.debug.core.model.IBreakpoint;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.ui.IPartListener;

-import org.eclipse.ui.IViewActionDelegate;

-import org.eclipse.ui.IViewPart;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.IWorkbenchWindow;

-

-public class EnableBreakpointsAction implements IViewActionDelegate, IPartListener, IBreakpointListener {

-	

-	private IViewPart fView;

-	private IAction fAction;

-	

-	public EnableBreakpointsAction() {

-	}

-		

-	protected IViewPart getView() {

-		return fView;

-	}

-

-	protected void setView(IViewPart view) {

-		fView = view;

-	}

-

-	/**

-	 * @see IViewActionDelegate#init(IViewPart)

-	 */

-	public void init(IViewPart view) {

-		setView(view);

-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);

-		view.getViewSite().getPage().addPartListener(this);

-	}

-

-	protected void update() {

-		selectionChanged(getAction(), getView().getViewSite().getSelectionProvider().getSelection());

-	}

-	

-	/**

-	 * This action enables breakpoints.

-	 */

-	protected boolean isEnableAction() {

-		return true;

-	}

-	

-	/**

-	 * @see IActionDelegate#run(IAction)

-	 */

-	public void run(IAction action) {

-		IStructuredSelection selection= getSelection();

-		int size= selection.size();

-		if (size == 0) {

-			return;

-		}

-		Iterator enum= selection.iterator();

-		MultiStatus ms= new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, ActionMessages.getString("EnableBreakpointAction.Enable_breakpoint(s)_failed_2"), null); //$NON-NLS-1$

-		while (enum.hasNext()) {

-			IBreakpoint breakpoint = (IBreakpoint) enum.next();

-			try {

-				if (size > 1) {

-					if (isEnableAction()) {

-						breakpoint.setEnabled(true);

-					} else {

-						breakpoint.setEnabled(false);

-					}

-				} else {

-					breakpoint.setEnabled(!breakpoint.isEnabled());

-				}

-			} catch (CoreException e) {

-				ms.merge(e.getStatus());

-			}

-		}

-		if (!ms.isOK()) {

-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();

-			if (window != null) {

-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.getString("EnableBreakpointAction.Enabling_breakpoints_3"), ActionMessages.getString("EnableBreakpointAction.Exceptions_occurred_enabling_the_breakpoint(s)._4"), ms); //$NON-NLS-2$ //$NON-NLS-1$

-			} else {

-				DebugUIPlugin.log(ms);

-			}

-		}

-	}

-

-	private IStructuredSelection getSelection() {

-		return (IStructuredSelection)getView().getViewSite().getSelectionProvider().getSelection();

-	}

-

-	/**

-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)

-	 */

-	public void selectionChanged(IAction action, ISelection selection) {

-		setAction(action);

-		if (!(selection instanceof IStructuredSelection)) {

-			return;

-		}

-		IStructuredSelection sel= (IStructuredSelection)selection;

-		Object o= sel.getFirstElement();

-		if (!(o instanceof IBreakpoint)) {

-			return;

-		}

-		

-		Iterator enum= sel.iterator();

-		IBreakpoint bp= (IBreakpoint)enum.next();

-		if (!enum.hasNext()) {

-			//single selection

-			try {

-				if (bp.isEnabled()) {

-					action.setEnabled(!isEnableAction());

-				} else {

-					action.setEnabled(isEnableAction());

-				}

-			} catch (CoreException ce) {

-				IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();

-				if (window != null) {

-					DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.getString("EnableBreakpointAction.Enabling_breakpoints_3"), ActionMessages.getString("EnableBreakpointAction.Exceptions_occurred_enabling_the_breakpoint(s)._4"), ce); //$NON-NLS-2$ //$NON-NLS-1$

-				} else {

-					DebugUIPlugin.log(ce);

-				}

-			}

-		}

-	}

-	

-

-	/**

-	 * Removes this action as a breakpoint and part listener.

-	 */

-	public void dispose() {

-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);

-		getView().getViewSite().getPage().removePartListener(this);

-	}

-	

-	/**

-	 * @see IBreakpointListener#breakpointAdded(IBreakpoint)

-	 */

-	public void breakpointAdded(IBreakpoint breakpoint) {

-	}

-	

-	

-	/**

-	 * @see IBreakpointListener#breakpointRemoved(IBreakpoint, IMarkerDelta)

-	 */

-	public void breakpointRemoved(final IBreakpoint breakpoint, IMarkerDelta delta) {	

-		asynchUpdate();

-	}

-	

-	/**

-	 * @see IBreakpointListener#breakpointChanged(IBreakpoint, IMarkerDelta)

-	 */

-	public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta) {

-		asynchUpdate();

-	}

-	

-	protected void asynchUpdate() {

-		if (getAction() == null) {

-			return;

-		}

-		IWorkbenchWindow window= getView().getViewSite().getPage().getWorkbenchWindow();

-		if (window == null) {

-			return;

-		}

-		Shell shell= window.getShell();

-		if (shell == null || shell.isDisposed()) {

-			return;

-		}

-		Runnable r= new Runnable() {

-			public void run() {

-				IWorkbenchWindow window= getView().getViewSite().getPage().getWorkbenchWindow();

-				if (window == null) {

-					return;

-				}

-				Shell shell= window.getShell();

-				if (shell == null || shell.isDisposed()) {

-					return;

-				}

-				update();

-			}

-		};

-		

-		shell.getDisplay().asyncExec(r);

-	}

-	

-	protected IAction getAction() {

-		return fAction;

-	}

-

-	protected void setAction(IAction action) {

-		fAction = action;

-	}

-	/**

-	 * @see IPartListener#partActivated(IWorkbenchPart)

-	 */

-	public void partActivated(IWorkbenchPart part) {

-	}

-

-	/**

-	 * @see IPartListener#partBroughtToTop(IWorkbenchPart)

-	 */

-	public void partBroughtToTop(IWorkbenchPart part) {

-	}

-

-	/**

-	 * @see IPartListener#partClosed(IWorkbenchPart)

-	 */

-	public void partClosed(IWorkbenchPart part) {

-		if (part.equals(getView())) {

-			dispose();

-		}

-	}

-

-	/**

-	 * @see IPartListener#partDeactivated(IWorkbenchPart)

-	 */

-	public void partDeactivated(IWorkbenchPart part) {

-	}

-

-	/**

-	 * @see IPartListener#partOpened(IWorkbenchPart)

-	 */

-	public void partOpened(IWorkbenchPart part) {

-	}

-

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java
deleted file mode 100644
index d371912..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationDialog;

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.swt.widgets.Event;

-import org.eclipse.ui.IActionDelegateWithEvent;

-import org.eclipse.ui.IWorkbenchWindow;

-

-/**

- * This is the super class of the Run & Debug actions which appears in the desktop menu and toolbar.

- */

-public abstract class ExecutionAction implements IActionDelegateWithEvent {

-	

-	/**

-	 * @see IActionDelegateWithEvent#runWithEvent(IAction, Event)

-	 */

-	public void runWithEvent(IAction action, Event event) {

-		openLaunchConfigurationDialog();

-	}

-

-	/**

-	 * Open the launch configuration dialog, passing in the current workbench selection.

-	 */

-	private void openLaunchConfigurationDialog() {

-		IWorkbenchWindow dwindow= DebugUIPlugin.getActiveWorkbenchWindow();

-		if (dwindow == null) {

-			return;

-		}

-		IStructuredSelection selection= DebugUIPlugin.resolveSelection(dwindow);

-		LaunchConfigurationDialog dialog = new LaunchConfigurationDialog(DebugUIPlugin.getShell(), selection, getMode());		

-		dialog.setOpenMode(LaunchConfigurationDialog.LAUNCH_CONFIGURATION_DIALOG_LAUNCH_LAST);

-		dialog.open();

-	}

-	

-	/**

-	 * Returns the mode of a launcher to use for this action

-	 */

-	protected abstract String getMode();

-	

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchDropDownAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchDropDownAction.java
deleted file mode 100644
index e84fe3f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchDropDownAction.java
+++ /dev/null
@@ -1,338 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/**********************************************************************

-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.

-This file is made available under the terms of the Common Public License v1.0

-which accompanies this distribution, and is available at

-http://www.eclipse.org/legal/cpl-v10.html

-**********************************************************************/

- 

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.ILaunchHistoryChangedListener;

-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationHistoryElement;

-import org.eclipse.jface.action.ActionContributionItem;

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.action.IContributionItem;

-import org.eclipse.jface.action.IMenuManager;

-import org.eclipse.jface.action.SubContributionItem;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.window.ApplicationWindow;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.MenuEvent;

-import org.eclipse.swt.events.MenuListener;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.swt.widgets.Event;

-import org.eclipse.swt.widgets.Menu;

-import org.eclipse.swt.widgets.MenuItem;

-import org.eclipse.ui.IActionDelegateWithEvent;

-import org.eclipse.ui.IWorkbenchWindow;

-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;

-

-/**

- * Superclass of run & debug pulldown actions.

- */

-public abstract class LaunchDropDownAction implements IWorkbenchWindowPulldownDelegate2,

-														  IActionDelegateWithEvent,

-														  ILaunchHistoryChangedListener {

-	

-	private ExecutionAction fLaunchAction;

-	

-	private Menu fCreatedMenu;

-	

-	private DebugWithConfigurationAction fDebugWithAction;

-	private RunWithConfigurationAction fRunWithAction;

-	

-	/**

-	 * This action delegate's proxy.

-	 */

-	private IAction fActionProxy;

-	

-	/**

-	 * The tooltip that was specified in XML for this action.

-	 */

-	private String fOriginalTooltip;

-	

-	protected void setActionProxy(IAction action) {

-		fActionProxy = action;

-	}

-

-	protected IAction getActionProxy() {

-		return fActionProxy;

-	}

-	

-	public LaunchDropDownAction(ExecutionAction launchAction) {

-		setLaunchAction(launchAction);		

-	}

-

-	private void createMenuForAction(Menu parent, IAction action, int count) {

-		if (count > 0) {

-			StringBuffer label= new StringBuffer();

-			if (count < 10) {

-				//add the numerical accelerator

-				label.append('&');

-				label.append(count);

-				label.append(' ');

-			}

-			label.append(action.getText());

-			action.setText(label.toString());

-		}

-		ActionContributionItem item= new ActionContributionItem(action);

-		item.fill(parent, -1);

-	}

-

-	/**

-	 * Initialize this action so that it can dynamically set its tooltip.

-	 */

-	protected void initialize(IAction action) {

-		DebugUIPlugin.getLaunchConfigurationManager().addLaunchHistoryListener(this);

-		fOriginalTooltip = action.getToolTipText();

-		setActionProxy(action);

-		updateTooltip();		

-	}

-	

-	/**

-	 * Updates this action's tooltip to correspond to the most recent launch.

-	 */

-	protected void updateTooltip() {

-		LaunchConfigurationHistoryElement lastLaunched = getLastLaunch();

-		String tooltip= fOriginalTooltip;

-		if (lastLaunched != null) {

-			tooltip= getLastLaunchPrefix() + lastLaunched.getLaunchConfiguration().getName();

-		} else {

-			tooltip= getStaticTooltip();

-		}

-		getActionProxy().setToolTipText(tooltip);

-	}

-	

-	/**

-	 * @see ILaunchHistoryChangedListener#launchHistoryChanged()

-	 */

-	public void launchHistoryChanged() {

-		updateTooltip();

-	}

-

-	/**

-	 * @see IWorkbenchWindowActionDelegate#dispose()

-	 */

-	public void dispose() {

-		if (getCreatedMenu() != null) {

-			getCreatedMenu().dispose();

-		}

-		DebugUIPlugin.getLaunchConfigurationManager().removeLaunchHistoryListener(this);

-	}

-	

-	/**

-	 * Return the last launch that occurred in the workspace.

-	 */

-	protected LaunchConfigurationHistoryElement getLastLaunch() {

-		return DebugUIPlugin.getLaunchConfigurationManager().getLastLaunch();

-	}

-

-	/**

-	 * @see IWorkbenchWindowPulldownDelegate#getMenu(Control)

-	 */

-	public Menu getMenu(Control parent) {

-		if (getCreatedMenu() != null) {

-			getCreatedMenu().dispose();

-		}

-		setCreatedMenu(new Menu(parent));

-		return createMenu(getCreatedMenu());

-	}

-	

-	/**

-	 * @see IMenuCreator#getMenu(Menu)

-	 */

-	public Menu getMenu(Menu parent) {

-		if (getCreatedMenu() != null) {

-			getCreatedMenu().dispose();

-		}

-		setCreatedMenu(new Menu(parent));

-		return createMenu(getCreatedMenu());

-	}

-

-	/**

-	 * Create the drop-down menu based on whether the config style pref is set

-	 */

-	protected Menu createMenu(Menu menu) {	

-		LaunchConfigurationHistoryElement[] historyList= getHistory();

-		LaunchConfigurationHistoryElement[] favoriteList = getFavorites();		

-		

-		// Add any favorites

-		int total = 0;

-		for (int i = 0; i < favoriteList.length; i++) {

-			LaunchConfigurationHistoryElement launch= favoriteList[i];

-			RelaunchHistoryLaunchAction newAction= new RelaunchHistoryLaunchAction(launch);

-			createMenuForAction(menu, newAction, total + 1);

-			total++;

-		}		

-		

-		// Separator between favorites and history

-		if (favoriteList.length > 0) {

-			if (historyList.length > 0) {

-				new MenuItem(menu, SWT.SEPARATOR);

-			} else {

-				createTopSeparator(menu);

-			}

-		}

-		

-		// Add history launches next

-		for (int i = 0; i < historyList.length; i++) {

-			LaunchConfigurationHistoryElement launch= historyList[i];

-			RelaunchHistoryLaunchAction newAction= new RelaunchHistoryLaunchAction(launch);

-			createMenuForAction(menu, newAction, total+1);

-			total++;

-		}

-		

-		// Separator between history and common actions

-		if (historyList.length > 0) {

-			createTopSeparator(menu);

-		}

-

-		// Add the actions to bring up the dialog 

-		if (getLaunchAction() != null) {

-			// Cascading menu for config type 'shortcuts'

-			if (getMode() == ILaunchManager.DEBUG_MODE) {

-				createMenuForAction(menu, getDebugWithAction(), -1);

-			} else {

-				createMenuForAction(menu, getRunWithAction(), -1);				

-			}

-			

-			// Add non-shortcutted access to the launch configuration dialog

-			OpenLaunchConfigurationsAction action = null;

-			if (getMode() == ILaunchManager.DEBUG_MODE) {

-				action = new OpenDebugConfigurations();

-			} else {

-				action = new OpenRunConfigurations();

-			}

-			createMenuForAction(menu, action, -1);

-		}

-		return menu;		

-	}

-	

-	/**

-	 * Create a separator at the top of the history/favorites area.  This method may

-	 * be overridden to prevent a separator from being placed at the top.

-	 */

-	protected void createTopSeparator(Menu menu) {

-		new MenuItem(menu, SWT.SEPARATOR);

-	}

-	

-	/**

-	 * @see runWithEvent(IAction, Event)

-	 * @see IActionDelegate#run(IAction)

-	 */

-	public void run(IAction action) {

-	}

-	

-	/**

-	 * @see IActionDelegateWithEvent#runWithEvent(IAction, Event)

-	 */

-	public void runWithEvent(IAction action, Event event) {

-		getLaunchAction().runWithEvent(action, event);

-	}

-

-	/**

-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)

-	 */

-	public void selectionChanged(IAction action, ISelection selection){

-		if (fActionProxy == null) {

-			initialize(action);

-		} 

-	}

-	

-	/**

-	 * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)

-	 */

-	public void init(IWorkbenchWindow window){

-	}

-	

-	/**

-	 * Returns an array of previous launches applicable to this drop down.

-	 */

-	public abstract LaunchConfigurationHistoryElement[] getHistory();

-	

-	/**

-	 * Returns an array of favorites applicable to this drop down.

-	 */

-	public abstract LaunchConfigurationHistoryElement[] getFavorites();	

-	

-	/**

-	 * Returns the mode (e.g., 'run' or 'debug') of this drop down.

-	 */

-	public abstract String getMode();

-	

-	/**

-	 * Return the String to use as the first part of the tooltip for this action

-	 * when there is no launch history.

-	 */

-	protected abstract String getStaticTooltip();

-	

-	/**

-	 * Return the String to use as the first part of the tooltip for this action

-	 * when there is a launch history.

-	 */

-	protected abstract String getLastLaunchPrefix();

-	

-	protected ExecutionAction getLaunchAction() {

-		return fLaunchAction;

-	}

-

-	protected void setLaunchAction(ExecutionAction launchAction) {

-		fLaunchAction = launchAction;

-	}

-	

-	/**

-	 * A menu listener that is used to constantly flag the debug

-	 * action set menu as dirty so that any underlying changes to the

-	 * contributions will be shown.

-	 * As well, if there are no history items, disable the action.

-	 */

-	protected MenuListener getDebugActionSetMenuListener() {

-		return new MenuListener() {

-			public void menuShown(MenuEvent e) {

-				getActionProxy().setEnabled(getHistory().length > 0 || getFavorites().length > 0);

-				IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();

-				if (window instanceof ApplicationWindow) {

-					ApplicationWindow appWindow= (ApplicationWindow)window;

-					IMenuManager manager= appWindow.getMenuBarManager();

-					IContributionItem actionSetItem= manager.findUsingPath("org.eclipse.ui.run"); //$NON-NLS-1$

-					if (actionSetItem instanceof SubContributionItem) {

-						IContributionItem item= ((SubContributionItem)actionSetItem).getInnerItem();

-						if (item instanceof IMenuManager) {

-							((IMenuManager)item).markDirty();

-						}

-					}

-				}

-			}

-			public void menuHidden(MenuEvent e) {

-			}

-		};

-	}

-	

-	protected Menu getCreatedMenu() {

-		return fCreatedMenu;

-	}

-

-	protected void setCreatedMenu(Menu createdMenu) {

-		fCreatedMenu = createdMenu;

-	}

-		

-	protected IAction getDebugWithAction() {

-		if (fDebugWithAction == null) {

-			fDebugWithAction= new DebugWithConfigurationAction();

-		} else {

-			fDebugWithAction.dispose();

-		}

-		return fDebugWithAction;

-	}

-

-	protected IAction getRunWithAction() {

-		if (fRunWithAction == null) {

-			fRunWithAction= new RunWithConfigurationAction();

-		} else {

-			fRunWithAction.dispose();

-		}

-		return fRunWithAction;

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
deleted file mode 100644
index 599b6fb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * Launch shortcut action (proxy to a launch shortcut extension)
- */
-public class LaunchShortcutAction extends Action {
-	
-	private String fMode;
-	private LaunchShortcutExtension fShortcut; 
-
-
-	/**
-	 * Constructor for LaunchShortcutAction.
-	 */
-	public LaunchShortcutAction(String mode, LaunchShortcutExtension shortcut) {
-		super(shortcut.getLabel(), shortcut.getImageDescriptor());
-		fMode = mode;
-		fShortcut = shortcut;
-	}
-	
-	
-
-	/**
-	 * Runs with either the active editor or workbench selection.
-	 * 
-	 * @see IAction#run()
-	 */
-	public void run() {
-		IWorkbenchWindow wb = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (wb != null) {
-			IWorkbenchPage page = wb.getActivePage();
-			if (page != null) {
-				ISelection selection = page.getSelection();
-				if (selection instanceof IStructuredSelection) {
-					fShortcut.launch(selection, fMode);
-				} else {
-					IEditorPart editor = page.getActiveEditor();
-					if (editor != null) {
-						fShortcut.launch(editor, fMode);
-					}
-				}
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchWithConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchWithConfigurationAction.java
deleted file mode 100644
index 7c352ed..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchWithConfigurationAction.java
+++ /dev/null
@@ -1,246 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * A cascading sub-menu that shows all launch configuration types pertinent to this action's mode
- * (e.g., 'run' or 'debug').
- */
-public abstract class LaunchWithConfigurationAction extends Action implements IMenuCreator, 
-																				   IWorkbenchWindowActionDelegate {
-	private Menu fCreatedMenu;
-	private IWorkbenchWindow fWorkbenchWindow;
-	private List fActionItems;
-	private IAction fAction;
-	
-	/**
-	 * Comparator used to sort ILaunchConfigurationType objects into alphabetical order of their names.
-	 */
-	private class LaunchConfigurationTypeAlphabeticComparator implements Comparator {
-		public int compare(Object obj1, Object obj2) {
-			String name1 = ((ILaunchConfigurationType)obj1).getName();
-			String name2 = ((ILaunchConfigurationType)obj2).getName();
-			return name1.compareToIgnoreCase(name2);
-		}
-	}
-	
-	public LaunchWithConfigurationAction() {
-		super();
-		setText(getLabelText());
-		setMenuCreator(this);
-	}
-
-	/**
-	 * @see IAction#run()
-	 */
-	public void run() {
-		//do nothing, this action just creates a cascading menu.
-	}
-		
-	private void createMenuForAction(Menu parent, IAction action, int count) {
-		StringBuffer label= new StringBuffer();
-		//add the numerical accelerator
-		if (count < 10) {
-			label.append('&');
-			label.append(count);
-			label.append(' ');
-		}
-		label.append(action.getText());
-		action.setText(label.toString());
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(parent, -1);
-	}
-	
-	/**
-	 * @see IMenuCreator#dispose()
-	 */
-	public void dispose() {
-		if (getCreatedMenu() != null) {
-			getCreatedMenu().dispose();
-		}
-	}
-	
-	/**
-	 * @see IMenuCreator#getMenu(Control)
-	 */
-	public Menu getMenu(Control parent) {
-		return null;
-	}
-	
-	/**
-	 * @see IMenuCreator#getMenu(Menu)
-	 */
-	public Menu getMenu(Menu parent) {
-		
-		// Retrieve the current perspective and the registered shortcuts
-		List shortcuts = null;
-		String activePerspID = getActivePerspectiveID();
-		if (activePerspID != null) {
-			shortcuts = LaunchConfigurationManager.getDefault().getLaunchShortcuts(activePerspID);
-		}
-		
-		// If NO shortcuts are listed in the current perspective, add ALL shortcuts
-		// to avoid an empty cascading menu
-		if (shortcuts == null || shortcuts.isEmpty()) {
-			shortcuts = LaunchConfigurationManager.getDefault().getLaunchShortcuts();
-		}
-		
-		if (getCreatedMenu() != null) {
-			getCreatedMenu().dispose();
-		}
-		// Sort the applicable config types alphabetically and add them to the menu
-		setCreatedMenu(new Menu(parent));
-		
-		int menuCount = 1;
-		Iterator iter = shortcuts.iterator();
-		while (iter.hasNext()) {
-			LaunchShortcutExtension ext = (LaunchShortcutExtension) iter.next();
-			if (ext.getModes().contains(getMode())) {
-				populateMenu(ext, getCreatedMenu(), menuCount);
-				menuCount++;
-			}
-		}
-				
-		return getCreatedMenu();
-	}
-	
-	/**
-	 * Add the shortcut to the menu.
-	 */
-	protected void populateMenu(LaunchShortcutExtension ext, Menu menu, int menuCount) {
-		LaunchShortcutAction action = new LaunchShortcutAction(getMode(), ext);
-		createMenuForAction(menu, action, menuCount);
-	}
-	
-	/**
-	 * Return the ID of the currently active perspective, or <code>null</code>
-	 * if there is none.
-	 */
-	protected String getActivePerspectiveID() {
-		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IPerspectiveDescriptor persp = page.getPerspective();
-				if (persp != null) {
-					return persp.getId();
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Determines and returns the selected element that provides context for the launch,
-	 * or <code>null</code> if there is no selection.
-	 */
-	protected Object resolveSelectedElement(IWorkbenchWindow window) {
-		if (window == null) {
-			return null;
-		}
-		ISelection selection= window.getSelectionService().getSelection();
-		if (selection == null || selection.isEmpty() || !(selection instanceof IStructuredSelection)) {
-			// there is no obvious selection - go fishing
-			selection= null;
-			IWorkbenchPage p= window.getActivePage();
-			if (p == null) {
-				//workspace is closed
-				return null;
-			}
-			IEditorPart editor= p.getActiveEditor();
-			Object element= null;
-			// first, see if there is an active editor, and try its input element
-			if (editor != null) {
-				element= editor.getEditorInput();
-			}
-			return element;
-		}
-		return ((IStructuredSelection)selection).getFirstElement();
-	}
-	
-	/**
-	 * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		setWorkbenchWindow(window);
-	}
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		//do nothing as this action only creates a menu
-	}
-	
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (action instanceof Action) {
-			if (fAction == null) {
-				((Action)action).setMenuCreator(this);
-				fAction = action;				
-			}
-		} else {
-			action.setEnabled(false);
-		}
-	}
-	
-	protected void setWorkbenchWindow(IWorkbenchWindow window) {
-		fWorkbenchWindow = window;
-	}
-	
-	protected IWorkbenchWindow getWorkbenchWindow() {
-		return fWorkbenchWindow;
-	}
-	
-	/**
-	 * Implemented to return one of the constants defined in <code>ILaunchManager</code>
-	 * that specifies the launch mode. 
-	 */
-	public abstract String getMode();
-	
-	/**
-	 * Return a String label for this action.
-	 */
-	public abstract String getLabelText();
-	
-	protected Menu getCreatedMenu() {
-		return fCreatedMenu;
-	}
-	
-	protected void setCreatedMenu(Menu createdMenu) {
-		fCreatedMenu = createdMenu;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenBreakpointMarkerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenBreakpointMarkerAction.java
deleted file mode 100644
index a38cc4f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenBreakpointMarkerAction.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.Iterator;

-

-import org.eclipse.debug.core.model.IBreakpoint;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;

-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;

-import org.eclipse.jface.viewers.ISelectionProvider;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.ui.IEditorInput;

-import org.eclipse.ui.IEditorPart;

-import org.eclipse.ui.ISharedImages;

-import org.eclipse.ui.IWorkbenchPage;

-import org.eclipse.ui.IWorkbenchWindow;

-import org.eclipse.ui.PartInitException;

-import org.eclipse.ui.actions.SelectionProviderAction;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-public class OpenBreakpointMarkerAction extends SelectionProviderAction {

-

-	protected static DelegatingModelPresentation fgPresentation = new DelegatingModelPresentation();

-	

-	public OpenBreakpointMarkerAction(ISelectionProvider selectionProvider) {

-		super(selectionProvider, ActionMessages.getString("OpenBreakpointMarkerAction.&Go_to_File_1")); //$NON-NLS-1$

-		setToolTipText(ActionMessages.getString("OpenBreakpointMarkerAction.Go_to_File_for_Breakpoint_2")); //$NON-NLS-1$

-		ISharedImages images= DebugUIPlugin.getDefault().getWorkbench().getSharedImages();

-		setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_OPEN_MARKER));

-		WorkbenchHelp.setHelp(

-			this,

-			IDebugHelpContextIds.OPEN_BREAKPOINT_ACTION);

-		setEnabled(false);

-	}

-

-	/**

-	 * @see IAction#run()

-	 */

-	public void run() {

-		IWorkbenchWindow dwindow= DebugUIPlugin.getActiveWorkbenchWindow();

-		if (dwindow == null) {

-			return;

-		}

-		IWorkbenchPage page= dwindow.getActivePage();

-		if (page == null) {

-			return;

-		}

-		

-		IStructuredSelection selection= getStructuredSelection();

-		if (selection.isEmpty()) {

-			setEnabled(false);

-			return;

-		}

-		Iterator enum= selection.iterator();

-		IBreakpoint breakpoint= (IBreakpoint)enum.next();

-		IEditorInput input= fgPresentation.getEditorInput(breakpoint);

-		IEditorPart part= null;

-		if (input != null) {

-			String editorId = fgPresentation.getEditorId(input, breakpoint);

-			try {

-				part= page.openEditor(input, editorId);

-			} catch (PartInitException e) {

-				DebugUIPlugin.errorDialog(dwindow.getShell(), ActionMessages.getString("OpenBreakpointMarkerAction.Go_to_Breakpoint_1"), ActionMessages.getString("OpenBreakpointMarkerAction.Exceptions_occurred_attempting_to_open_the_editor_for_the_breakpoint_resource_2"), e); //$NON-NLS-1$ //$NON-NLS-2$

-			}

-		}

-		if (part != null) {

-			part.setFocus();

-			part.gotoMarker(breakpoint.getMarker());

-		}

-	}

-	

-	/**

-	 * @see SelectionProviderAction#selectionChanged(ISelection)

-	 */

-	public void selectionChanged(IStructuredSelection sel) {

-		if (sel.size() == 1) {

-			setEnabled(true);

-		} else {

-			setEnabled(false);

-		}

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java
deleted file mode 100644
index 2ea872e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Opens the launch config dialog in debug mode.
- */
-public class OpenDebugConfigurations extends OpenLaunchConfigurationsAction {
-
-	public OpenDebugConfigurations() {
-		super();
-	}
-
-	public OpenDebugConfigurations(ILaunchConfigurationType configType) {
-		super(configType);
-	}
-	
-	/**
-	 * @see OpenLaunchConfigurationsAction#getMode()
-	 */
-	protected String getMode() {
-		return ILaunchManager.DEBUG_MODE;
-	}
-	
-	/**
-	 * @see OpenLaunchConfigurationsAction#getLabelText()
-	 */
-	protected String getLabelText() {
-		return ActionMessages.getString("OpenDebugConfigurations.Debug..._1"); //$NON-NLS-1$
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenLaunchConfigurationsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenLaunchConfigurationsAction.java
deleted file mode 100644
index f6f8e7b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenLaunchConfigurationsAction.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationDialog;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Abstract action for opening the launch configuration dialog in run or debug mode.
- * This class is used in two ways: to simply open the dialog, and to open the dialog and 
- * create a new configuration of a specified type.
- */
-public abstract class OpenLaunchConfigurationsAction extends Action implements IWorkbenchWindowActionDelegate {
-	
-	private boolean fCreateNewConfigMode;
-	
-	/**
-	 * The launch configuration type this action will cause to be created in the launch 
-	 * configuration dialog.
-	 */
-	private ILaunchConfigurationType fConfigType;
-	
-	/**
-	 * Action when a delegate, otherwise <code>null</code>
-	 */
-	private IAction fAction;
-
-	public OpenLaunchConfigurationsAction() {
-		super();
-		fCreateNewConfigMode = false;
-		setConfigType(null);
-		ImageDescriptor imageDescriptor = null;
-		if (getMode() == ILaunchManager.DEBUG_MODE) {
-			imageDescriptor = DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_ACT_DEBUG);
-		} else {
-			imageDescriptor = DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_ACT_RUN);			
-		}	
-		setText(getLabelText()); 
-		setImageDescriptor(imageDescriptor);	
-	}
-	
-	/**
-	 * Initialize this action from the specified <code>ILaunchConfigurationType</code>.
-	 */
-	protected OpenLaunchConfigurationsAction(ILaunchConfigurationType configType) {
-		fCreateNewConfigMode = true;
-		setConfigType(configType);
-		setText(configType.getName());
-
-		ImageDescriptor descriptor = DebugPluginImages.getImageDescriptor(configType.getIdentifier());
-		if (descriptor == null) {
-			if (getMode().equals(ILaunchManager.DEBUG_MODE)) {
-				descriptor= DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_ACT_DEBUG);
-			} else {
-				descriptor= DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_ACT_RUN);
-			}
-		}
-
-		if (descriptor != null) {
-			setImageDescriptor(descriptor);
-		}
-	}
-
-	/**
-	 * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-	}
-	
-	/**
-	 * @see IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-	}
-	
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-	
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		run();
-	}
-
-	protected void setConfigType(ILaunchConfigurationType configType) {
-		fConfigType = configType;
-	}
-	
-	protected ILaunchConfigurationType getConfigType() {
-		return fConfigType;
-	}
-
-	/**
-	 * @see IAction#run()
-	 */
-	public void run() {
-		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window != null) {
-			ISelection sel = window.getSelectionService().getSelection();
-			IStructuredSelection ss = null;
-			if (sel instanceof IStructuredSelection) {
-				ss = (IStructuredSelection)sel;
-			} else {
-				ss = new StructuredSelection();
-			}
-			LaunchConfigurationDialog dialog = new LaunchConfigurationDialog(window.getShell(), ss, getMode());
-			if (fCreateNewConfigMode) {
-				dialog.setOpenMode(LaunchConfigurationDialog.LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_NEW_CONFIG_OF_TYPE);
-				dialog.setInitialConfigType(getConfigType());
-			} else {
-				dialog.setOpenMode(LaunchConfigurationDialog.LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_LAST_LAUNCHED);				
-			}
-			dialog.open();
-		}		
-	}
-
-	/**
-	 * Returns the mode in which to open the launch configuration
-	 * dialog.
-	 * 
-	 * @return on of <code>RUN_MODE</code> or <code>DEBUG_MODE</code>
-	 * @see ILaunchManager#RUN_MODE
-	 * @see ILaunchManager#DEBUG_MODE
-	 */
-	protected abstract String getMode();
-	
-	/**
-	 * Return a String label for this action.
-	 */
-	protected abstract String getLabelText();
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java
deleted file mode 100644
index 97023db..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Opens the launch config dialog in run mode.
- */
-public class OpenRunConfigurations extends OpenLaunchConfigurationsAction {
-
-	public OpenRunConfigurations() {
-		super();
-	}
-
-	public OpenRunConfigurations(ILaunchConfigurationType configType) {
-		super(configType);
-	}
-
-	/**
-	 * @see OpenLaunchConfigurationsAction#getMode()
-	 */
-	protected String getMode() {
-		return ILaunchManager.RUN_MODE;
-	}
-
-	/**
-	 * @see OpenLaunchConfigurationsAction#getLabelText()
-	 */
-	protected String getLabelText() {
-		return ActionMessages.getString("OpenRunConfigurations.Run..._1"); //$NON-NLS-1$
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
deleted file mode 100644
index 43d12cf..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.core.model.IDebugElement;

-import org.eclipse.debug.core.model.IProcess;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationHistoryElement;

-

-public class RelaunchActionDelegate extends AbstractDebugActionDelegate {

-	

-	/**

-	 * @see AbstractDebugActionDelegate#doAction(Object)

-	 */

-	protected void doAction(Object object) {

-		if (object instanceof IDebugElement) {

-			relaunch((IDebugElement)object);

-		} else if (object instanceof ILaunch) {

-			relaunch((ILaunch)object);

-		} else if (object instanceof IProcess) {

-			relaunch((IProcess)object);

-		}

-	}

-	

-	public static void relaunch(LaunchConfigurationHistoryElement history) {

-		relaunch(history.getLaunchConfiguration(), history.getMode());			

-	}

-		

-	public static void relaunch(IDebugElement element) {

-		relaunch(element.getLaunch());

-	}

-	

-	public static void relaunch(IProcess process) {

-		relaunch(process.getLaunch());

-	}

-	

-	public static void relaunch(ILaunch launch) {

-		relaunch(launch.getLaunchConfiguration(), launch.getLaunchMode());

-	}

-	

-	public static void relaunch(ILaunch launch, String mode) {

-		relaunch(launch.getLaunchConfiguration(), mode);

-	}

-	

-	/**

-	 * Re-launches the given configuration in the specified mode.

-	 */

-	public static void relaunch(ILaunchConfiguration config, String mode) {

-		try {

-			config.launch(mode, null);		

-		} catch (CoreException ce) {

-			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.getString("RelaunchActionDelegate.Launch_Failed_1"), ActionMessages.getString("RelaunchActionDelegate.An_exception_occurred_while_launching_2"), ce); //$NON-NLS-1$ //$NON-NLS-2$

-		}

-	}

-	

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		ILaunch launch= null;

-		if (element instanceof ILaunch) {

-			launch= (ILaunch)element;

-		} else if (element instanceof IDebugElement) {

-			launch= ((IDebugElement)element).getLaunch();

-		} else if (element instanceof IProcess) {

-			launch= ((IProcess)element).getLaunch();

-		}

-		

-		return launch != null && launch.getLaunchConfiguration() != null;

-	}

-			

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()

-	 */

-	protected String getErrorDialogMessage() {

-		return ActionMessages.getString("RelaunchActionDelegate.Launch_Failed_1"); //$NON-NLS-1$

-	}

-	

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()

-	 */

-	protected String getErrorDialogTitle() {

-		return ActionMessages.getString("RelaunchActionDelegate.Launch_1"); //$NON-NLS-1$

-	}

-	

-	/**

-	 * @see AbstractDebugActionDelegate#getStatusMessage()

-	 */

-	protected String getStatusMessage() {

-		return ActionMessages.getString("RelaunchActionDelegate.An_exception_occurred_while_launching_2"); //$NON-NLS-1$

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchHistoryLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchHistoryLaunchAction.java
deleted file mode 100644
index 294b8c7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchHistoryLaunchAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.internal.ui.DebugPluginImages;

-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;

-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationHistoryElement;

-import org.eclipse.debug.ui.DebugUITools;

-import org.eclipse.debug.ui.IDebugUIConstants;

-import org.eclipse.jface.action.Action;

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.swt.custom.BusyIndicator;

-import org.eclipse.swt.widgets.Display;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-/**

- * Re-launches a previous launch.

- */

-public class RelaunchHistoryLaunchAction extends Action {

-

-	protected LaunchConfigurationHistoryElement fLaunch;

-	

-	public RelaunchHistoryLaunchAction(LaunchConfigurationHistoryElement launch) {

-		super();

-		fLaunch= launch;

-		setText(launch.getLabel());

-		ImageDescriptor descriptor= null;

-		if (launch.getLaunchConfiguration() != null) {

-			descriptor = DebugUITools.getDefaultImageDescriptor(launch.getLaunchConfiguration());

-		} else {

-			if (launch.getMode().equals(ILaunchManager.DEBUG_MODE)) {

-				descriptor= DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_ACT_DEBUG);

-			} else {

-				descriptor= DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_ACT_RUN);

-			}

-		}

-

-		if (descriptor != null) {

-			setImageDescriptor(descriptor);

-		}

-		WorkbenchHelp.setHelp(

-			this,

-			IDebugHelpContextIds.RELAUNCH_HISTORY_ACTION);

-	}

-

-	/**

-	 * @see IAction

-	 */

-	public void run() {

-		if (!DebugUITools.saveAndBuildBeforeLaunch()) {

-			return;

-		}

-		BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {

-			public void run() {

-				RelaunchActionDelegate.relaunch(fLaunch);

-			}

-		});

-	}

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java
deleted file mode 100644
index 8dc0193..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.text.MessageFormat;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationDialog;

-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationHistoryElement;

-import org.eclipse.debug.ui.DebugUITools;

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.swt.custom.BusyIndicator;

-import org.eclipse.swt.widgets.Display;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.ui.IWorkbenchWindow;

-import org.eclipse.ui.IWorkbenchWindowActionDelegate;

-

-/**

- * Relaunches the last launch.

- */

-public abstract class RelaunchLastAction implements IWorkbenchWindowActionDelegate {

-	

-	private IWorkbenchWindow fWorkbenchWindow;

-	

-	/**

-	 * @see IWorkbenchWindowActionDelegate

-	 */

-	public void dispose(){

-	}

-

-	/**

-	 * @see IWorkbenchWindowActionDelegate

-	 */

-	public void init(IWorkbenchWindow window){

-		fWorkbenchWindow = window;

-	}

-

-	/**

-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)

-	 */

-	public void run(IAction action){		

-		try {

-			final LaunchConfigurationHistoryElement historyElement = getLastLaunch();

-			if (historyElement != null) {

-				final ILaunchConfiguration historyConfig = historyElement.getLaunchConfiguration();

-				if (historyConfig.supportsMode(getMode())) {

-					if (!DebugUITools.saveAndBuildBeforeLaunch()) {

-						return;

-					}

-					BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {

-						public void run() {							

-							RelaunchActionDelegate.relaunch(historyConfig, getMode());

-						}

-					});				

-				} else {

-					String configName = historyElement.getLaunchConfiguration().getName();

-					String title = ActionMessages.getString("RelaunchLastAction.Cannot_relaunch_1"); //$NON-NLS-1$

-					String message = MessageFormat.format(ActionMessages.getString("RelaunchLastAction.Cannot_relaunch_[{0}]_because_it_does_not_support_{2}_mode_2"), new String[] {configName, getMode()}); //$NON-NLS-1$

-					MessageDialog.openError(getShell(), title, message);				

-				}

-			} else {

-				// If the history is empty, just open the launch config dialog

-				openLaunchConfigurationDialog();

-			}

-		} catch (CoreException ce) {

-			DebugUIPlugin.errorDialog(getShell(), ActionMessages.getString("RelaunchLastAction.Error_relaunching_3"), ActionMessages.getString("RelaunchLastAction.Error_encountered_attempting_to_relaunch_4"), ce); //$NON-NLS-1$ //$NON-NLS-2$

-		}

-	}

-	

-	/**

-	 * Open the launch configuration dialog, passing in the current workbench selection.

-	 */

-	private void openLaunchConfigurationDialog() {

-		IWorkbenchWindow dwindow= DebugUIPlugin.getActiveWorkbenchWindow();

-		if (dwindow == null) {

-			return;

-		}

-		IStructuredSelection selection= DebugUIPlugin.resolveSelection(dwindow);

-		LaunchConfigurationDialog dialog = new LaunchConfigurationDialog(DebugUIPlugin.getShell(), selection, getMode());		

-		dialog.setOpenMode(LaunchConfigurationDialog.LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_LAST_LAUNCHED);

-		dialog.open();

-	}

-	

-	/**

-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)

-	 */

-	public void selectionChanged(IAction action, ISelection selection){

-	}

-	

-	/**

-	 * Return the last launch that occurred in the workspace.

-	 */

-	protected LaunchConfigurationHistoryElement getLastLaunch() {

-		return DebugUIPlugin.getLaunchConfigurationManager().getLastLaunch();

-	}

-	

-	protected Shell getShell() {

-		return fWorkbenchWindow.getShell();

-	}

-

-	/**

-	 * Returns the mode (run or debug) of this action.

-	 */

-	public abstract String getMode();

-

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllBreakpointsAction.java
deleted file mode 100644
index 484bc70..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllBreakpointsAction.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.core.resources.IMarkerDelta;

-import org.eclipse.core.resources.IWorkspaceRunnable;

-import org.eclipse.core.resources.ResourcesPlugin;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.MultiStatus;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.IBreakpointListener;

-import org.eclipse.debug.core.IBreakpointManager;

-import org.eclipse.debug.core.model.IBreakpoint;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.ui.IViewPart;

-import org.eclipse.ui.IWorkbenchWindow;

-

-/**

- * Removes all breakpoints from the source (markers) and remove all

- * breakpoints from processes

- */

-public class RemoveAllBreakpointsAction extends AbstractRemoveAllActionDelegate implements IBreakpointListener {

-

-	protected void doAction() {

-		final IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();

-		final IBreakpoint[] breakpoints= breakpointManager.getBreakpoints();

-		final MultiStatus ms= new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, ActionMessages.getString("RemoveAllBreakpointsAction.Breakpoint(s)_removal_failed_3"), null); //$NON-NLS-1$

-		IWorkspaceRunnable r = new IWorkspaceRunnable() {

-			public void run(IProgressMonitor pm) {

-				for (int i= 0; i < breakpoints.length; i++) {

-					try {

-						breakpointManager.removeBreakpoint(breakpoints[i], true);

-					} catch (CoreException e) {

-						ms.merge(e.getStatus());

-					}

-				}

-			}

-		};

-		try {

-			ResourcesPlugin.getWorkspace().run(r, null);

-		} catch (CoreException e) {

-			ms.merge(e.getStatus());

-		}

-		if (!ms.isOK()) {

-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();

-			if (window != null) {

-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.getString("RemoveAllBreakpointsAction.Removing_all_breakpoints_4"),ActionMessages.getString("RemoveAllBreakpointsAction.Exceptions_occurred_removing_breakpoints._5"), ms); //$NON-NLS-1$ //$NON-NLS-2$

-			}

-		}

-	}

-	

-	protected void update() {

-		getAction().setEnabled(

-			DebugPlugin.getDefault().getBreakpointManager().hasBreakpoints());

-	}	

-	

-	/**

-	 * @see IBreakpointListener#breakpointAdded(IBreakpoint)

-	 */

-	public void breakpointAdded(IBreakpoint breakpoint) {

-		if (getAction() != null && !getAction().isEnabled()){

-			update();

-		}

-	}

-

-	/**

-	 * @see IBreakpointListener#breakpointChanged(IBreakpoint, IMarkerDelta)

-	 */

-	public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta) {

-	}

-

-	/**

-	 * @see IBreakpointListener#breakpointRemoved(IBreakpoint, IMarkerDelta)

-	 */

-	public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta) {

-		if (getAction() != null) {

-			update();

-		}

-	}

-	

-	/**

-	 * @see IViewActionDelegate#init(IViewPart)

-	 */

-	public void init(IViewPart view) {

-		super.init(view);

-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);

-	}

-	

-	public void dispose() {

-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);	

-		super.dispose();

-	}

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllExpressionsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllExpressionsAction.java
deleted file mode 100644
index 93419b5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllExpressionsAction.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.IExpressionManager;

-import org.eclipse.debug.core.model.IExpression;

-

-/**

- * Removes all expressions from the expressions view.

- */

-public class RemoveAllExpressionsAction extends AbstractRemoveAllActionDelegate {

-

-	protected void doAction() {

-		IExpressionManager manager = DebugPlugin.getDefault().getExpressionManager();

-		IExpression[] expressions= manager.getExpressions();

-		for (int i= 0; i < expressions.length; i++) {

-			manager.removeExpression(expressions[i]);

-		}

-	}

-	

-	protected void update() {

-		getAction().setEnabled(

-			DebugPlugin.getDefault().getExpressionManager().hasExpressions());

-	}

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
deleted file mode 100644
index 49c66e2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugEvent;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.ILaunchListener;

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.core.model.IDebugTarget;

-import org.eclipse.debug.core.model.IProcess;

-import org.eclipse.debug.ui.IDebugView;

-import org.eclipse.jface.viewers.IStructuredContentProvider;

-import org.eclipse.jface.viewers.StructuredViewer;

-import org.eclipse.jface.viewers.Viewer;

-import org.eclipse.ui.IViewPart;

- 

-/**

- * Removes all terminated/detached launches from the

- * active debug view.

- */

-public class RemoveAllTerminatedAction extends AbstractRemoveAllActionDelegate implements ILaunchListener {

-

-	/**

-	 * @see ListenerActionDelegate#doHandleDebugEvent(DebugEvent)

-	 */	

-	protected void doHandleDebugEvent(DebugEvent event) {	

-		if (event.getKind() == DebugEvent.TERMINATE) {

-			Object source= event.getSource();

-			if (source instanceof IDebugTarget) {

-				ILaunch launch= ((IDebugTarget)source).getLaunch();

-				if (launch.isTerminated() && launchIsRegistered(launch)) {

-					getAction().setEnabled(true);

-				}

-			} else if (source instanceof IProcess) {

-				ILaunch launch= ((IProcess)source).getLaunch();

-				if (launch.isTerminated() && launchIsRegistered(launch)) {

-					getAction().setEnabled(true);

-				}

-			}

-		}

-	}

-

-	private boolean launchIsRegistered(ILaunch iLaunch) {

-		ILaunch[] launches= DebugPlugin.getDefault().getLaunchManager().getLaunches();

-		for (int i = 0; i < launches.length; i++) {
-			ILaunch launch = launches[i];
-			if (launch.equals(iLaunch)) {

-				return true;

-			}
-		}

-		return false;

-	}

-

-	/** 

-	 * Updates the enabled state of this action to enabled if at

-	 * least one launch is terminated and relative to the current perspective.

-	 */

-	protected void update() {

-		Object[] elements = getElements();

-		if (elements != null) {

-			for (int i= 0; i < elements.length; i++) {

-				if (elements[i] instanceof ILaunch) {

-					ILaunch launch= (ILaunch)elements[i];

-					if (launch.isTerminated()) {

-						getAction().setEnabled(true);

-						return;

-					}

-				}

-			}

-		}

-		getAction().setEnabled(false);

-	}

-

-	/**

-	 * Returns the top level elements in the active debug

-	 * view, or <code>null</code> if none.

-	 * 

-	 * @return array of object

-	 */

-	protected Object[] getElements() {

-		IDebugView view = (IDebugView)getView().getAdapter(IDebugView.class);

-		if (view != null) {

-			Viewer viewer = view.getViewer();

-			if (viewer instanceof StructuredViewer) {

-				IStructuredContentProvider cp = (IStructuredContentProvider)((StructuredViewer)viewer).getContentProvider();

-				Object input = viewer.getInput();

-				return cp.getElements(input);

-			}

-		}

-		return null;

-	}

-

-	protected void doAction() {

-		Object[] elements = getElements();

-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();

-		for (int i = 0; i < elements.length; i++) {

-			if (elements[i] instanceof ILaunch) {

-				ILaunch launch = (ILaunch)elements[i];

-				if (launch.isTerminated()) {

-					manager.removeLaunch(launch);

-				}

-			}

-		}

-	}

-

-	/**

-	 * @see IViewActionDelegate#init(IViewPart)

-	 */

-	public void init(IViewPart view) {

-		super.init(view);

-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);

-		DebugPlugin.getDefault().addDebugEventListener(this);

-	}

-		

-	/**

-	 * @see IWorkbenchWindowActionDelegate#dispose()

-	 */

-	public void dispose() {

-		//removes as a debug event listener

-		super.dispose();

-		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);

-	}

-	

-	/**

-	 * @see ILaunchListener#launchAdded(ILaunch)

-	 */

-	public void launchAdded(ILaunch launch) {

-	}

-

-	/**

-	 * @see ILaunchListener#launchChanged(ILaunch)

-	 */

-	public void launchChanged(ILaunch launch) {

-	}

-

-	/**

-	 * @see ILaunchListener#launchRemoved(ILaunch)

-	 */

-	public void launchRemoved(ILaunch launch) {

-		if (getAction().isEnabled()) {

-			update();

-		}

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveBreakpointAction.java
deleted file mode 100644
index 3d9a911..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveBreakpointAction.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.Iterator;

-

-import org.eclipse.core.resources.IWorkspaceRunnable;

-import org.eclipse.core.resources.ResourcesPlugin;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.MultiStatus;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.IBreakpointManager;

-import org.eclipse.debug.core.model.IBreakpoint;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.ui.IWorkbenchWindow;

-

-public class RemoveBreakpointAction extends AbstractRemoveActionDelegate {

-

-	/**

-	 * @see IActionDelegate#run(IAction)

-	 */

-	public void run(IAction action) {

-		IStructuredSelection selection= getSelection();

-		final Iterator itr= selection.iterator();

-		final MultiStatus ms = new MultiStatus(DebugUIPlugin.getUniqueIdentifier(),

-			DebugException.REQUEST_FAILED, 

-			ActionMessages.getString("RemoveBreakpointAction.Breakpoint(s)_removal_failed_3"), null); //$NON-NLS-1$

-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {

-			public void run(IProgressMonitor monitor) {

-				IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();

-				while (itr.hasNext()) {

-					try {						

-						Object next= itr.next();

-						if (next instanceof IBreakpoint) {

-							IBreakpoint breakpoint= (IBreakpoint)next;						

-							breakpointManager.removeBreakpoint(breakpoint, true);

-						}

-					} catch (CoreException ce) {

-						ms.merge(ce.getStatus());

-					}

-				}

-			}

-		};

-		try {

-			ResourcesPlugin.getWorkspace().run(runnable, null);

-		} catch (CoreException ce) {

-			ms.merge(ce.getStatus());

-		}

-		if (!ms.isOK()) {

-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();

-			if (window != null) {

-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.getString("RemoveBreakpointAction.Removing_a_breakpoint_4"),ActionMessages.getString("RemoveBreakpointAction.Exceptions_occurred_attempting_to_remove_a_breakpoint._5") , ms); //$NON-NLS-1$ //$NON-NLS-2$

-			} else {

-				DebugUIPlugin.log(ms);

-			}

-		}

-	}

-	

-	/**

-	 * @see AbstractDebugActionDelegate#doAction(Object)

-	 */

-	protected void doAction(Object element) throws DebugException {

-		//not used

-	}

-	

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		return element instanceof IBreakpoint;

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveExpressionAction.java
deleted file mode 100644
index 40ed276..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveExpressionAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.IExpressionManager;

-import org.eclipse.debug.core.model.IExpression;

-import org.eclipse.debug.core.model.IVariable;

-import org.eclipse.debug.ui.IDebugView;

-import org.eclipse.jface.viewers.ITreeContentProvider;

-import org.eclipse.jface.viewers.TreeViewer;

-import org.eclipse.jface.viewers.Viewer;

-

-public class RemoveExpressionAction extends AbstractRemoveActionDelegate {

-

-	protected void doAction(Object element) {

-		IExpressionManager manager = DebugPlugin.getDefault().getExpressionManager();

-		IExpression exp = getExpression(element);

-		if (exp != null) {

-			manager.removeExpression(exp);

-		}

-	}

-	

-	/**

-	 * Returns the expression associated with the given

-	 * element.

-	 * 

-	 * @param element an expression of child of an expression in

-	 *  the expression view.

-	 * @return associated expression

-	 */

-	protected IExpression getExpression(Object obj) {

-		if (getView() == null) {

-			return null;

-		}

-		IDebugView adapter= (IDebugView)getView().getAdapter(IDebugView.class);

-		if (adapter != null) {

-			Viewer v= adapter.getViewer();

-			if (v instanceof TreeViewer) {

-				ITreeContentProvider cp = (ITreeContentProvider)((TreeViewer)v).getContentProvider();

-				while (!(obj instanceof IExpression) && obj != null) {

-					obj = cp.getParent(obj);

-				}

-				return (IExpression)obj;

-			}	

-		}

-		return null;

-	}

-	

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		return element instanceof IVariable || element instanceof IExpression;

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ResumeActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ResumeActionDelegate.java
deleted file mode 100644
index a12d0913..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ResumeActionDelegate.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.model.ISuspendResume;

-import org.eclipse.jface.viewers.IStructuredSelection;

-

-public class ResumeActionDelegate extends AbstractListenerActionDelegate {

-

-	/**

-	 * @see AbstractDebugActionDelegate#doAction(Object)

-	 */

-	protected void doAction(Object object) throws DebugException {

-		if (object instanceof ISuspendResume) {

-			((ISuspendResume)object).resume();

-		}

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		return element instanceof ISuspendResume && ((ISuspendResume) element).canResume();

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getEnableStateForSelection(IStructuredSelection)

-	 */

-	protected boolean getEnableStateForSelection(IStructuredSelection selection) {	 		

-		if (selection.size() == 1) {

-			return isEnabledFor(selection.getFirstElement());

-		} else {

-			return false;

-		}

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getStatusMessage()

-	 */

-	protected String getStatusMessage() {

-		return ActionMessages.getString("ResumeActionDelegate.Exceptions_occurred_attempting_to_resume._2"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()

-	 */

-	protected String getErrorDialogMessage() {

-		return ActionMessages.getString("ResumeActionDelegate.Resume_failed._1"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()

-	 */

-	protected String getErrorDialogTitle() {

-		return ActionMessages.getString("ResumeActionDelegate.Resume_3"); //$NON-NLS-1$

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunDropDownAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunDropDownAction.java
deleted file mode 100644
index 19833d4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunDropDownAction.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationHistoryElement;

-import org.eclipse.debug.ui.actions.RunAction;

-

-public class RunDropDownAction extends LaunchDropDownAction {

-

-	public RunDropDownAction() {

-		super(new RunAction());

-	}

-	

-	protected RunDropDownAction(ExecutionAction action) {

-		super(action);

-	}

-

-	/**

-	 * @see LaunchDropDownAction#getMode()

-	 */

-	public String getMode() {

-		return ILaunchManager.RUN_MODE;

-	}

-

-	/**

-	 * @see LaunchDropDownAction#getHistory()

-	 */

-	public LaunchConfigurationHistoryElement[] getHistory() {

-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getRunHistory();

-	}

-	

-	/**

-	 * @see LaunchDropDownAction#getFavorites()

-	 */

-	public LaunchConfigurationHistoryElement[] getFavorites() {

-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getRunFavorites();

-	}		

-

-	/**

-	 * @see LaunchDropDownAction#getLastLaunchPrefix()

-	 */

-	protected String getLastLaunchPrefix() {

-		return ActionMessages.getString("RunDropDownAction.Run_last_launched_1"); //$NON-NLS-1$

-	}

-	/**

-	 * @see LaunchDropDownAction#getTooltipPrefix()

-	 */

-	protected String getStaticTooltip() {

-		return ActionMessages.getString("RunDropDownAction.Run_1"); //$NON-NLS-1$

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java
deleted file mode 100644
index 9b058f3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.jface.action.Action;

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.action.IMenuCreator;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.swt.events.MenuListener;

-import org.eclipse.swt.widgets.Event;

-import org.eclipse.swt.widgets.Menu;

-

-public class RunHistoryMenuAction extends RunDropDownAction implements IMenuCreator {

-

-	private MenuListener fMenuListener= null;

-	private Menu fTopMenu= null;

-	

-	public RunHistoryMenuAction() {

-		super(null);

-	}

-

-	/**

-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)

-	 */

-	public void selectionChanged(IAction action, ISelection selection) {

-		if (action instanceof Action) {

-			if (getActionProxy() == null) {

-				((Action)action).setMenuCreator(this);

-				setActionProxy(action);

-			}

-		} else {

-			action.setEnabled(false);

-		}

-	}

-	

-	/**

-	 * @see IActionDelegate#run(IAction)

-	 */

-	public void run(IAction action) {

-		//do nothing as the action strictly generates the history sub menu

-	}

-	

-	/**

-	 * @see IActionDelegateWithEvent#runWithEvent(IAction, Event)

-	 */

-	public void runWithEvent(IAction action, Event event) {

-		//do nothing as the action strictly generates the history sub menu

-	}

-	

-	public Menu getMenu(Menu parent) {

-		cleanup();

-		Menu menu= new Menu(parent);

-		parent.addMenuListener(getDebugActionSetMenuListener());

-		fTopMenu= parent;	

-		setCreatedMenu(menu);

-		Menu submenu= createMenu(menu);

-		return submenu;

-	}

-	

-	/**

-	 * @see LaunchDropDownAction#getDebugActionSetMenuListener()

-	 */

-	protected MenuListener getDebugActionSetMenuListener() {

-		if (fMenuListener == null) {

-			fMenuListener= super.getDebugActionSetMenuListener();

-		} 

-		return fMenuListener;

-	}

-	

-	public void dispose() {

-		cleanup();

-		super.dispose();

-	}

-	

-	protected void cleanup() {

-		if (fTopMenu != null && !fTopMenu.isDisposed()) {

-			fTopMenu.removeMenuListener(getDebugActionSetMenuListener());

-		}

-	}

-

-	/**

-	 * @see org.eclipse.debug.internal.ui.actions.LaunchDropDownAction#createTopSeparator(Menu)

-	 */

-	protected void createTopSeparator(Menu menu) {

-	}

-	

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java
deleted file mode 100644
index 9d69ef4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import org.eclipse.debug.core.ILaunchManager;
-
-/**
- * Relaunches the last run-mode launch
- */
-public class RunLastAction extends RelaunchLastAction {
-
-	/**
-	 * @see RelaunchLastAction#getMode()
-	 */
-	public String getMode() {
-		return ILaunchManager.RUN_MODE;
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunWithConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunWithConfigurationAction.java
deleted file mode 100644
index 33f2c2d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunWithConfigurationAction.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import org.eclipse.debug.core.ILaunchManager;
-
-public class RunWithConfigurationAction extends LaunchWithConfigurationAction {
-
-	/**
-	 * @see LaunchWithConfigurationAction#getMode()
-	 */
-	public String getMode() {
-		return ILaunchManager.RUN_MODE;		
-	}
-	
-	/**
-	 * @see LaunchWithConfigurationAction#getLabelText()
-	 */
-	public String getLabelText() {
-		return ActionMessages.getString("RunWithConfigurationAction.Run_As_1"); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
deleted file mode 100644
index 5615d31..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IViewPart;
-
-public abstract class SelectAllAction extends AbstractListenerActionDelegate {
-
-	/**
-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)
-	 */
-	protected boolean isEnabledFor(Object element) {
-		return true;
-	}
-
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		setView(view);
-		setWindow(view.getViewSite().getWorkbenchWindow());
-		getPage().addPartListener(this);
-		getPage().getWorkbenchWindow().addPageListener(this);
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#initialize(IAction, ISelection)
-	 */
-	protected boolean initialize(IAction action, ISelection selection) {
-		if (!isInitialized()) {
-			IDebugView debugView =
-				(IDebugView) getView().getAdapter(IDebugView.class);
-			if (debugView != null) {
-				debugView.setAction(getActionId(), action);
-			}
-			return super.initialize(action, selection);
-		}
-		return false;
-	}
-
-	protected abstract String getActionId();
-	
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action){
-		doAction(null);
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object element) {
-		if (!(getView() instanceof IDebugView)) {
-			return;
-		}
-		Viewer viewer = ((IDebugView) getView()).getViewer();
-		if (!(viewer instanceof TreeViewer)) {
-			return;
-		}
-		((TreeViewer) viewer).getTree().selectAll();
-		//ensure that the selection change callback is fired
-		viewer.setSelection(viewer.getSelection());
-	}
-	
-	protected abstract void update();
-	
-	protected void update(IAction action, ISelection selection) {
-		update();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllBreakpointsAction.java
deleted file mode 100644
index cd581c3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllBreakpointsAction.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IViewPart;
-
-public class SelectAllBreakpointsAction extends SelectAllAction implements IBreakpointListener {
-
-	protected void update() {
-		getAction().setEnabled(
-			DebugPlugin.getDefault().getBreakpointManager().hasBreakpoints());
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object element) {
-		if (!(getView() instanceof IDebugView)) {
-			return;
-		}
-		Viewer viewer = ((IDebugView) getView()).getViewer();
-		if (!(viewer instanceof TableViewer)) {
-			return;
-		}
-		((TableViewer) viewer).getTable().selectAll();
-		//ensure that the selection change callback is fired
-		viewer.setSelection(viewer.getSelection());
-	}
-
-	/**
-	 * @see IBreakpointListener#breakpointAdded(IBreakpoint)
-	 */
-	public void breakpointAdded(IBreakpoint breakpoint) {
-		if (getAction() != null && !getAction().isEnabled()) {
-			update();
-		}
-	}
-
-	/**
-	 * @see IBreakpointListener#breakpointChanged(IBreakpoint, IMarkerDelta)
-	 */
-	public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta) {
-	}
-
-	/**
-     * @see IBreakpointListener#breakpointRemoved(IBreakpoint, IMarkerDelta)
-	 */
-	public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta) {
-		if (getAction() != null) {
-			update();
-		}
-	}
-	
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		super.init(view);
-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
-	}
-	
-	public void dispose() {
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);	
-		super.dispose();
-	}
-	
-	protected String getActionId() {
-		return IDebugView.SELECT_ALL_ACTION;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllExpressionsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllExpressionsAction.java
deleted file mode 100644
index 1bf0d3d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllExpressionsAction.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.ui.IDebugView;
-
-public class SelectAllExpressionsAction extends SelectAllAction {
-
-	protected void update() {
-		getAction().setEnabled(
-			DebugPlugin.getDefault().getExpressionManager().hasExpressions());
-	}
-	
-	protected String getActionId() {
-		return IDebugView.SELECT_ALL_ACTION + ".Variables"; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllVariablesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllVariablesAction.java
deleted file mode 100644
index 857a08a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllVariablesAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
- 
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
- 
-public class SelectAllVariablesAction extends SelectAllAction {
-
-	protected void update() {
-		if (!(getView() instanceof IDebugView)) {
-			return;
-		}
-		Viewer viewer= ((IDebugView)getView()).getViewer();
-		getAction().setEnabled(((TreeViewer)viewer).getTree().getItemCount() != 0);
-	}
-	
-	protected String getActionId() {
-		return IDebugView.SELECT_ALL_ACTION + ".Variables"; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowDetailPaneAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowDetailPaneAction.java
deleted file mode 100644
index d542f07..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowDetailPaneAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.views.variables.VariablesView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class ShowDetailPaneAction extends Action {
-
-	private VariablesView fVariablesView;
-
-	public ShowDetailPaneAction(VariablesView view) {
-		super(ActionMessages.getString("ShowDetailPaneAction.Show_Variable_Detail_Pane_1")); //$NON-NLS-1$
-		setVariablesView(view);
-		setToolTipText(ActionMessages.getString("ShowDetailPaneAction.Show_detail_pane_2")); //$NON-NLS-1$
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE));
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE));
-		setId(DebugUIPlugin.getUniqueIdentifier() + ".ShowDetailPaneAction"); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.SHOW_DETAIL_PANE_ACTION);
-	}
-
-	/**
-	 * @see Action#run()
-	 */
-	public void run() {
-		toggleDetailPane(isChecked());
-	}
-
-	/**
-	 * Ask the VariablesView to toggle its detail pane and reset this action's
-	 * tooltip as appropriate.
-	 */
-	private void toggleDetailPane(final boolean on) {
-		getVariablesView().toggleDetailPane(on);
-	}
-
-	/**
-	 * @see Action#setChecked(boolean)
-	 */
-	public void setChecked(boolean value) {
-		super.setChecked(value);
-		toggleDetailPane(value);
-	}
-	
-	protected VariablesView getVariablesView() {
-		return fVariablesView;
-	}
-
-	protected void setVariablesView(VariablesView variablesView) {
-		fVariablesView = variablesView;
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowSupportedBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowSupportedBreakpointsAction.java
deleted file mode 100644
index d853f0a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowSupportedBreakpointsAction.java
+++ /dev/null
@@ -1,210 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2001.
- * All Rights Reserved.
- */
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * An view filter action that filters showing breakpoints based on whether
- * the IDebugTarget of the selected debug element in the launch view supports
- * the breakpoints.
- * 
- * @see org.eclipse.debug.core.model.IDebugTarget#supportsBreakpoint(IBreakpoint)
- * 
- */
-public class ShowSupportedBreakpointsAction extends ToggleFilterAction implements ISelectionListener {
-
-	/**
-	 * The view associated with this action
-	 */
-	private IViewPart fView;
-	
-	/**
-	 * The list of identifiers for the current state
-	 */
-	private List fDebugTargets= new ArrayList(2);
-	
-	/**
-	 * A viewer filter that selects breakpoints that have
-	 * the same model identifier as the selected debug element
-	 */
-	class BreakpointFilter extends ViewerFilter {
-		
-		/**
-		 * @see ViewerFilter#select(Viewer, Object, Object)
-		 */
-		public boolean select(Viewer viewer, Object parentElement, Object element) {
-			IBreakpoint breakpoint= (IBreakpoint)element;
-			if (fDebugTargets.isEmpty()) {
-				return true;
-			} else {
-				Iterator iterator= fDebugTargets.iterator();
-				while (iterator.hasNext()) {
-					IDebugTarget target = (IDebugTarget) iterator.next();
-					if (target.supportsBreakpoint(breakpoint)) {
-						return true;
-					}
-					
-				}
-			}
-			return false;
-		}
-
-	}
-
-	public ShowSupportedBreakpointsAction(StructuredViewer viewer, IViewPart view) {
-		super();
-		setText(ActionMessages.getString("ShowSupportedBreakpointsAction.Show_For_Selected")); //$NON-NLS-1$
-		setToolTipText(ActionMessages.getString("ShowSupportedBreakpointsAction.tooltip")); //$NON-NLS-1$
-		setViewerFilter(new BreakpointFilter());
-		setViewer(viewer);
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_OBJS_DEBUG_TARGET));
-		setChecked(false);
-		setId(DebugUIPlugin.getUniqueIdentifier() + ".ShowSupportedBreakpointsAction"); //$NON-NLS-1$
-		
-		setView(view);
-		WorkbenchHelp.setHelp(
-			this,
-			IDebugHelpContextIds.SHOW_BREAKPOINTS_FOR_MODEL_ACTION);
-		
-	}
-
-	
-		
-	public void dispose() {
-		if (isChecked()) {
-			getView().getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		}
-	}
-	
-	/**
-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss= (IStructuredSelection)selection;
-			List debugTargets= getDebugTargets(ss);
-			if (!isChecked()) {
-				fDebugTargets= debugTargets;
-				return;
-			}
-			if (debugTargets.isEmpty()) {
-				 if(fDebugTargets.isEmpty()) {
-					return;
-				 } else {
-				 	reapplyFilters(debugTargets);
-				 	return;
-				 }
-			}
-			if (fDebugTargets.isEmpty()) {
-				reapplyFilters(debugTargets);
-				return;
-			}
-			
-			if (debugTargets.size() == fDebugTargets.size()) {
-				List copy= new ArrayList(debugTargets.size());
-				Iterator iter= fDebugTargets.iterator();
-				while (iter.hasNext()) {
-					IDebugTarget target = (IDebugTarget) iter.next();
-					Iterator newDebugTargets= debugTargets.iterator();
-					while (newDebugTargets.hasNext()) {
-						IDebugTarget newTarget= (IDebugTarget)newDebugTargets.next();
-						copy.add(newTarget);
-						if (target.equals(newTarget)) {
-							newDebugTargets.remove();
-						}
-					}
-				}
-				//check for real change
-				if (debugTargets.isEmpty()) {
-					return;
-				}
-				reapplyFilters(copy);
-			} 
-		}
-	}
-
-	
-	/**
-	 * Selection has changed in the debug view
-	 * need to reapply the filters.
-	 */
-	protected void reapplyFilters(List debugTargets) {
-		fDebugTargets= debugTargets;		
-		getViewer().refresh();
-	}
-	
-	protected IViewPart getView() {
-		return fView;
-	}
-
-	protected void setView(IViewPart view) {
-		fView = view;
-	}
-	
-	protected List getDebugTargets(IStructuredSelection ss) {
-		List debugTargets= new ArrayList(2);
-		Iterator i= ss.iterator();
-		while (i.hasNext()) {
-			Object next= i.next();
-			if (next instanceof IDebugElement) {
-				debugTargets.add(((IDebugElement)next).getDebugTarget());
-			} else if (next instanceof ILaunch) {
-				IDebugTarget[] targets= ((ILaunch)next).getDebugTargets();
-				for (int j = 0; j < targets.length; j++) {
-					debugTargets.add(targets[j]);
-				}
-			} else if (next instanceof IProcess) {
-				IDebugTarget target= (IDebugTarget)((IProcess)next).getAdapter(IDebugTarget.class);
-				if (target != null) {
-					debugTargets.add(target);
-				}
-			}	
-		}
-		return debugTargets;
-	}
-	
-	/**
-	 * Adds or removes the viewer filter depending
-	 * on the value of the parameter.
-	 */
-	protected void valueChanged(boolean on) {
-		if (getViewer().getControl().isDisposed()) {
-			return;
-		}
-		if (on) {
-			getView().getSite().getPage().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-			ISelection selection= getView().getSite().getPage().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-			selectionChanged(null, selection);
-		} else {
-			getView().getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		}
-		
-		super.valueChanged(on);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowTypesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowTypesAction.java
deleted file mode 100644
index ea67c69..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowTypesAction.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.internal.ui.DebugPluginImages;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;

-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;

-import org.eclipse.debug.ui.IDebugModelPresentation;

-import org.eclipse.debug.ui.IDebugUIConstants;

-import org.eclipse.jface.action.Action;

-import org.eclipse.jface.viewers.ILabelProvider;

-import org.eclipse.jface.viewers.StructuredViewer;

-import org.eclipse.swt.custom.BusyIndicator;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-/**

- * An action that toggles the state of a viewer to

- * show/hide type names of variables.

- * Only viewers that use a <code>VariableLabelProvider</code> to render its

- * elements are effected.

- */

-public class ShowTypesAction extends Action {

-

-	private StructuredViewer fViewer;

-

-	public ShowTypesAction(StructuredViewer viewer) {

-		super(ActionMessages.getString("ShowTypesAction.Show_&Type_Names_1")); //$NON-NLS-1$

-		setViewer(viewer);

-		setToolTipText(ActionMessages.getString("ShowTypesAction.Show_Type_Names")); //$NON-NLS-1$

-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_TYPE_NAMES));

-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_TYPE_NAMES));

-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TYPE_NAMES));

-		setId(DebugUIPlugin.getUniqueIdentifier() + ".ShowTypesAction"); //$NON-NLS-1$

-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.SHOW_TYPES_ACTION);

-	}

-

-	/**

-	 * @see Action#run()

-	 */

-	public void run() {

-		valueChanged(isChecked());

-	}

-

-	private void valueChanged(boolean on) {

-		if (getViewer().getControl().isDisposed()) {

-			return;

-		}

-		ILabelProvider labelProvider= (ILabelProvider)getViewer().getLabelProvider();

-		if (labelProvider instanceof IDebugModelPresentation) {

-			IDebugModelPresentation debugLabelProvider= (IDebugModelPresentation)labelProvider;

-			debugLabelProvider.setAttribute(IDebugModelPresentation.DISPLAY_VARIABLE_TYPE_NAMES, (on ? Boolean.TRUE : Boolean.FALSE));			

-			BusyIndicator.showWhile(getViewer().getControl().getDisplay(), new Runnable() {

-				public void run() {

-					getViewer().refresh();					

-				}

-			});

-		}

-	}

-

-	/**

-	 * @see Action#setChecked(boolean)

-	 */

-	public void setChecked(boolean value) {

-		super.setChecked(value);

-		valueChanged(value);

-	}

-	

-	protected StructuredViewer getViewer() {

-		return fViewer;

-	}

-

-	protected void setViewer(StructuredViewer viewer) {

-		fViewer = viewer;

-	}

-}

-

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepActionDelegate.java
deleted file mode 100644
index 0379a47..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepActionDelegate.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.model.IStep;

-

-public abstract class StepActionDelegate extends AbstractListenerActionDelegate {

-	

-	/**

-	 * @see AbstractDebugActionDelegate#doAction(Object)

-	 */

-	protected void doAction(Object object) throws DebugException {

-		if (object instanceof IStep) {

-			stepAction((IStep)object);

-		}

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		if (element instanceof IStep) {

-			return checkCapability((IStep)element);

-		}

-		return false;

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#enableForMultiSelection()

-	 */

-	protected boolean enableForMultiSelection() {

-		return false;

-	}

-

-	/**

-	 * Returns whether the <code>IStep</code> has the capability to perform the

-	 * requested step action.

-	 */

-	protected abstract boolean checkCapability(IStep element);

-

-	/**

-	 * Performs the specific step action.

-	 *

-	 * @exception DebugException if the action fails

-	 */

-	protected abstract void stepAction(IStep element) throws DebugException;

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepIntoActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepIntoActionDelegate.java
deleted file mode 100644
index bfd9fde..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepIntoActionDelegate.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.model.IStep;

-

-public class StepIntoActionDelegate extends StepActionDelegate {

-	

-	/**

-	 * @see StepActionDelegate#checkCapability(IStep)

-	 */

-	protected boolean checkCapability(IStep element) {

-		return element.canStepInto();

-	}

-

-	/**

-	 * @see StepActionDelegate#stepAction(IStep)

-	 */

-	protected void stepAction(IStep element) throws DebugException {

-		element.stepInto();

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getStatusMessage()

-	 */

-	protected String getStatusMessage() {

-		return ActionMessages.getString("StepIntoActionDelegate.Exceptions_occurred_attempting_to_step_into_the_frame_2"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()

-	 */

-	protected String getErrorDialogMessage() {

-		return ActionMessages.getString("StepIntoActionDelegate.Step_into_failed_1"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()

-	 */

-	protected String getErrorDialogTitle() {

-		return ActionMessages.getString("StepIntoActionDelegate.Step_Into_3"); //$NON-NLS-1$

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepOverActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepOverActionDelegate.java
deleted file mode 100644
index e6f4ae4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepOverActionDelegate.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.model.IStep;

-

-public class StepOverActionDelegate extends StepActionDelegate {

-

-	/**

-	 * @see StepActionDelegate#checkCapability(IStep)

-	 */

-	protected boolean checkCapability(IStep element) {

-		return element.canStepOver();

-	}

-

-	/**

-	 * @see StepActionDelegate#stepAction(IStep)

-	 */

-	protected void stepAction(IStep element) throws DebugException {

-		element.stepOver();

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getStatusMessage()

-	 */

-	protected String getStatusMessage() {

-		return ActionMessages.getString("StepOverActionDelegate.Exceptions_occurred_attempting_to_step_over_the_frame_2"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()

-	 */

-	protected String getErrorDialogMessage() {

-		return ActionMessages.getString("StepOverActionDelegate.Step_over_failed_1"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()

-	 */

-	protected String getErrorDialogTitle() {

-		return ActionMessages.getString("StepOverActionDelegate.Step_over_3"); //$NON-NLS-1$

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepReturnActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepReturnActionDelegate.java
deleted file mode 100644
index cc9ce7b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepReturnActionDelegate.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.model.IStep;

-

-public class StepReturnActionDelegate extends StepActionDelegate {

-

-	/**

-	 * @see StepActionDelegate#checkCapability(IStep)

-	 */

-	protected boolean checkCapability(IStep element) {

-		return element.canStepReturn();

-	}

-

-	/**

-	 * @see StepActionDelegate#stepAction(IStep)

-	 */

-	protected void stepAction(IStep element) throws DebugException {

-		element.stepReturn();

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getStatusMessage()

-	 */

-	protected String getStatusMessage() {

-		return ActionMessages.getString("StepReturnActionDelegate.Exceptions_occurred_attempting_to_run_to_return_of_the_frame._2"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()

-	 */

-	protected String getErrorDialogMessage() {

-		return ActionMessages.getString("StepReturnActionDelegate.Run_to_return_failed._1"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()

-	 */

-	protected String getErrorDialogTitle() {

-		return ActionMessages.getString("StepReturnActionDelegate.Run_to_Return_3"); //$NON-NLS-1$

-	}	

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SuspendActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SuspendActionDelegate.java
deleted file mode 100644
index b4af0a2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SuspendActionDelegate.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.model.ISuspendResume;

-import org.eclipse.jface.viewers.IStructuredSelection;

-

-public class SuspendActionDelegate extends AbstractListenerActionDelegate {

-

-	/**

-	 * @see AbstractDebugActionDelegate#doAction(Object)

-	 */

-	protected void doAction(Object element) throws DebugException {

-		if (element instanceof ISuspendResume) {

-			 ((ISuspendResume) element).suspend();

-		}

-	}

-	

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		return element instanceof ISuspendResume && ((ISuspendResume)element).canSuspend();

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getEnableStateForSelection(IStructuredSelection)

-	 */

-	protected boolean getEnableStateForSelection(IStructuredSelection selection) {	 		

-		if (selection.size() == 1) {

-			return isEnabledFor(selection.getFirstElement());

-		} else {

-			 return false;

-		}

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getStatusMessage()

-	 */

-	protected String getStatusMessage() {

-		return ActionMessages.getString("SuspendActionDelegate.Exceptions_occurred_attempting_to_suspend._2"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()

-	 */

-	protected String getErrorDialogMessage() {

-		return ActionMessages.getString("SuspendActionDelegate.Suspend_failed_1"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()

-	 */

-	protected String getErrorDialogTitle() {

-		return ActionMessages.getString("SuspendActionDelegate.Suspend_3"); //$NON-NLS-1$

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateActionDelegate.java
deleted file mode 100644
index 6bda28a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateActionDelegate.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugEvent;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.model.ITerminate;

-

-public class TerminateActionDelegate extends AbstractListenerActionDelegate {

-

-	/**

-	 * @see AbstractDebugActionDelegate#doAction(Object)

-	 */

-	protected void doAction(Object element) throws DebugException {

-		if (element instanceof ITerminate) {

-			((ITerminate)element).terminate();

-		}

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		return element instanceof ITerminate && ((ITerminate)element).canTerminate();

-	}

-	

-	/**

-	 * @see AbstractDebugActionDelegate#getStatusMessage()

-	 */

-	protected String getStatusMessage() {

-		return ActionMessages.getString("TerminateActionDelegate.Exceptions_occurred_attempting_to_terminate._2"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()

-	 */

-	protected String getErrorDialogMessage() {

-		return ActionMessages.getString("TerminateActionDelegate.Terminate_failed._1"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()

-	 */

-	protected String getErrorDialogTitle() {

-		return ActionMessages.getString("TerminateActionDelegate.Terminate_3"); //$NON-NLS-1$

-	}

-	

-	/**

-	 * @see ListenerActionDelegate#doHandleDebugEvent(DebugEvent)

-	 */

-	protected void doHandleDebugEvent(DebugEvent event) {	

-		if (event.getKind() == DebugEvent.TERMINATE) {

-			update(getAction(), getSelection());

-		}

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAllAction.java
deleted file mode 100644
index 465fa06..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAllAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.core.runtime.MultiStatus;

-import org.eclipse.debug.core.DebugEvent;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.ui.IWorkbenchWindow;

-

-/**

- * Terminates all launches.

- */

-public class TerminateAllAction extends AbstractListenerActionDelegate {

-	

-	protected void doAction(Object element) {

-		//not used

-	}

-	

-	protected void update() {

-		ILaunchManager lManager= DebugPlugin.getDefault().getLaunchManager();

-		ILaunch[] launches= lManager.getLaunches();

-		for (int i= 0; i< launches.length; i++) {

-			ILaunch launch= launches[i];

-			if (!launch.isTerminated()) {

-				getAction().setEnabled(true);

-				return;

-			}

-		}

-		getAction().setEnabled(false);

-	}

-

-	/**

-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)

-	 */

-	public void selectionChanged(IAction action, ISelection selection) {

-		setAction(action);

-	}

-

-	/**

-	 * @see IActionDelegate#run(IAction)

-	 */

-	public void run(IAction action) {

-		ILaunchManager lManager= DebugPlugin.getDefault().getLaunchManager();

-		ILaunch[] launches= lManager.getLaunches();

-		MultiStatus ms = new MultiStatus(DebugPlugin.getUniqueIdentifier(), 

-			DebugException.REQUEST_FAILED, ActionMessages.getString("TerminateAllAction.Terminate_all_failed_3"), null); //$NON-NLS-1$

-		for (int i= 0; i < launches.length; i++) {

-			ILaunch launch= (ILaunch) launches[i];

-			if (!launch.isTerminated()) {

-				try {

-					launch.terminate();

-				} catch (DebugException de) {

-					ms.merge(de.getStatus());

-				}

-			}

-		}

-		if (!ms.isOK()) {

-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();

-			if (window != null) {

-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.getString("TerminateAllAction.Terminate_All_2"),ActionMessages.getString("TerminateAllAction.Exceptions_occurred_attempting_to_terminate_all._5") , ms); //$NON-NLS-1$ //$NON-NLS-2$

-			} else {

-				DebugUIPlugin.log(ms);

-			}

-		}

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		return true;

-	}

-

-

-	protected void doHandleDebugEvent(DebugEvent event) {

-		switch (event.getKind()) {

-			case DebugEvent.TERMINATE :

-				update();

-				break;

-			case DebugEvent.CREATE :

-				update();

-				break;

-		}

-	}		

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAndRemoveActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAndRemoveActionDelegate.java
deleted file mode 100644
index 6ab65b1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAndRemoveActionDelegate.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.core.model.IDebugElement;

-import org.eclipse.debug.core.model.IProcess;

-import org.eclipse.debug.core.model.ITerminate;

-

-public class TerminateAndRemoveActionDelegate extends AbstractDebugActionDelegate {

-

-	/**

-	 * @see AbstractDebugActionDelegate#doAction(Object)

-	 */

-	protected void doAction(Object element) throws DebugException {

-		try {

-			if (element instanceof ITerminate) {

-				ITerminate terminate= (ITerminate)element;

-				if (!terminate.isTerminated()) {

-					terminate.terminate();

-				}		

-			}

-		} finally {

-			ILaunch launch= null;

-			if (element instanceof ILaunch) {

-				launch= (ILaunch) element;

-			} else if (element instanceof IDebugElement) {

-				launch= ((IDebugElement) element).getLaunch();

-			} else if (element instanceof IProcess) {

-				launch= ((IProcess) element).getLaunch();

-			}

-			ILaunchManager lManager= DebugPlugin.getDefault().getLaunchManager();

-			lManager.removeLaunch(launch);

-		}

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)

-	 */

-	protected boolean isEnabledFor(Object element) {

-		if (element instanceof ITerminate) {

-			ITerminate terminate= (ITerminate)element;

-			//do not want to terminate an attach launch that does not

-			//have termination enabled

-			return terminate.canTerminate() || terminate.isTerminated();

-		}

-		return false;

-	}	

-

-	/**

-	 * @see AbstractDebugActionDelegate#getStatusMessage()

-	 */

-	protected String getStatusMessage() {

-		return ActionMessages.getString("TerminateAndRemoveActionDelegate.Exceptions_occurred_attempting_to_terminate_and_remove_2"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()

-	 */

-	protected String getErrorDialogMessage() {

-		return ActionMessages.getString("TerminateAndRemoveActionDelegate.Terminate_and_remove_failed_1"); //$NON-NLS-1$

-	}

-

-	/**

-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()

-	 */

-	protected String getErrorDialogTitle() {

-		return ActionMessages.getString("TerminateAndRemoveActionDelegate.Terminate_and_Remove;_3"); //$NON-NLS-1$

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TextViewerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TextViewerAction.java
deleted file mode 100644
index 61df99e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TextViewerAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.jface.action.Action;

-import org.eclipse.jface.text.ITextOperationTarget;

-import org.eclipse.jface.text.ITextViewer;

-import org.eclipse.ui.texteditor.IUpdate;

-

-public class TextViewerAction extends Action implements IUpdate {

-

-	private int fOperationCode= -1;

-	private ITextOperationTarget fOperationTarget;

-

-	public TextViewerAction(ITextViewer viewer, int operationCode) {

-		fOperationCode= operationCode;

-		fOperationTarget= viewer.getTextOperationTarget();

-		update();

-	}

-

-	/**

-	 * Updates the enabled state of the action.

-	 * Fires a property change if the enabled state changes.

-	 * 

-	 * @see Action#firePropertyChange(String, Object, Object)

-	 */

-	public void update() {

-

-		boolean wasEnabled= isEnabled();

-		boolean isEnabled= (fOperationTarget != null && fOperationTarget.canDoOperation(fOperationCode));

-		setEnabled(isEnabled);

-

-		if (wasEnabled != isEnabled) {

-			firePropertyChange(ENABLED, wasEnabled ? Boolean.TRUE : Boolean.FALSE, isEnabled ? Boolean.TRUE : Boolean.FALSE);

-		}

-	}

-	

-	/**

-	 * @see Action#run()

-	 */

-	public void run() {

-		if (fOperationCode != -1 && fOperationTarget != null) {

-			fOperationTarget.doOperation(fOperationCode);

-		}

-	}

-	

-	public void configureAction(String text, String toolTipText, String description) {

-		setText(text);

-		setToolTipText(toolTipText);

-		setDescription(description);

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TextViewerGotoLineAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TextViewerGotoLineAction.java
deleted file mode 100644
index bdb0133..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TextViewerGotoLineAction.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.text.MessageFormat;

-

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.views.console.ConsoleViewer;

-import org.eclipse.jface.dialogs.IInputValidator;

-import org.eclipse.jface.dialogs.InputDialog;

-import org.eclipse.jface.text.BadLocationException;

-import org.eclipse.jface.text.IDocument;

-import org.eclipse.jface.text.ITextViewer;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.widgets.Shell;

-

-public class TextViewerGotoLineAction extends TextViewerAction {

-

-	/**

-	 * Validates whether the text found in the input field of the

-	 * dialog forms a valid line number, i.e. one to which can be 

-	 * jumped.

-	 */

-	class NumberValidator implements IInputValidator {

-

-		public String isValid(String input) {

-			try {

-				int i= Integer.parseInt(input);

-				if (i <= 0 || fLastLine < i)

-					return ActionMessages.getString("TextViewerGotoLineAction.Line_number_out_of_range_1"); //$NON-NLS-1$

-

-			} catch (NumberFormatException x) {

-				return ActionMessages.getString("TextViewerGotoLineAction.Not_a_number_2"); //$NON-NLS-1$

-			}

-

-			return null;

-		}

-	};

-

-	protected int fLastLine;

-	protected ITextViewer fTextViewer;

-	

-	/**

-	 * Constructs a goto line action for the console using the provided resource bundle

-	 */

-	public TextViewerGotoLineAction(ConsoleViewer viewer) {

-		super(viewer, -1);

-		fTextViewer= viewer;

-		setText(ActionMessages.getString("TextViewerGotoLineAction.Go_to_&Line...@Ctrl+L_4")); //$NON-NLS-1$

-		setToolTipText(ActionMessages.getString("TextViewerGotoLineAction.Go_To_Line_1")); //$NON-NLS-1$

-		setDescription(ActionMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"));		 //$NON-NLS-1$

-	}

-	

-	/**

-	 * @see TextViewerAction#update()

-	 */

-	public void update() {

-	}

-

-	/**

-	 * Jumps to the line.

-	 */

-	protected void gotoLine(int line) {

-

-		IDocument document= fTextViewer.getDocument();

-		try {

-			int start= document.getLineOffset(line);

-			int length= document.getLineLength(line);

-			fTextViewer.getTextWidget().setSelection(start, start + length);

-			fTextViewer.revealRange(start, length);

-		} catch (BadLocationException x) {

-			DebugUIPlugin.errorDialog(fTextViewer.getTextWidget().getShell(), ActionMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"), ActionMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$

-		}

-	}

-

-	/**

-	 * @see Action#run()

-	 */

-	public void run() {

-		try {

-			Point selection= fTextViewer.getTextWidget().getSelection();

-			IDocument document= fTextViewer.getDocument();

-			fLastLine= document.getLineOfOffset(document.getLength()) + 1;

-			int startLine= selection == null ? 1 : fTextViewer.getTextWidget().getLineAtOffset(selection.x) + 1;

-			String title= ActionMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"); //$NON-NLS-1$

-			String message= MessageFormat.format(ActionMessages.getString("TextViewerGotoLineAction.Enter_line_number__8"), new Object[] {new Integer(fLastLine)}); //$NON-NLS-1$

-			String value= Integer.toString(startLine);

-			Shell activeShell= fTextViewer.getTextWidget().getShell();

-			InputDialog d= new InputDialog(activeShell, title, message, value, new NumberValidator());

-			if (d.open() == d.OK) {

-				try {

-					int line= Integer.parseInt(d.getValue());

-					gotoLine(line - 1);

-				} catch (NumberFormatException x) {

-					DebugUIPlugin.errorDialog(activeShell, ActionMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"), ActionMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$

-				}

-			}

-		} catch (BadLocationException x) {

-			DebugUIPlugin.errorDialog(fTextViewer.getTextWidget().getShell(), ActionMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"), ActionMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$

-			return;

-		}

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java
deleted file mode 100644
index 4a37e3e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.debug.internal.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.jface.action.Action;

-import org.eclipse.jface.viewers.StructuredViewer;

-import org.eclipse.jface.viewers.ViewerFilter;

-import org.eclipse.swt.custom.BusyIndicator;

-

-/**

- * A generic Toggle filter action, meant to be subclassed to provide

- * a specific filter.

- */

-public abstract class ToggleFilterAction extends Action {

-

-	/**

-	 * The viewer that this action works for

-	 */

-	private StructuredViewer fViewer;

-	

-	/**

-	 * The filter this action applies to the viewer

-	 */

-	private ViewerFilter fViewerFilter;

-

-	public void run() {

-		valueChanged(isChecked());

-	}

-	/**

-	 * Adds or removes the viewer filter depending

-	 * on the value of the parameter.

-	 */

-	protected void valueChanged(final boolean on) {

-		if (getViewer().getControl().isDisposed()) {

-			return;

-		}

-		BusyIndicator.showWhile(getViewer().getControl().getDisplay(), new Runnable() {

-			public void run() {

-				if (on) {

-					ViewerFilter filter= getViewerFilter();

-					ViewerFilter[] filters= getViewer().getFilters();

-					boolean alreadyAdded= false;

-					for (int i= 0; i < filters.length; i++) {

-						ViewerFilter addedFilter= filters[i];

-						if (addedFilter.equals(filter)) {

-							alreadyAdded= true;

-							break;

-						}

-					}

-					if (!alreadyAdded) {

-						getViewer().addFilter(filter);

-					}

-					

-				} else {

-					getViewer().removeFilter(getViewerFilter());

-				}

-			}

-		});

-	}

-

-	/**

-	 * Returns the <code>ViewerFilter</code> that this action

-	 * will add/remove from the viewer, or <code>null</code>

-	 * if no filter is involved.

-	 */

-	protected ViewerFilter getViewerFilter() {

-		return fViewerFilter;

-	}

-

-	protected void setViewerFilter(ViewerFilter filter) {

-		fViewerFilter= filter;

-	}

-	

-	protected StructuredViewer getViewer() {

-		return fViewer;

-	}

-

-	protected void setViewer(StructuredViewer viewer) {

-		fViewer = viewer;

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java
deleted file mode 100644
index b6cf1c4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java
+++ /dev/null
@@ -1,3050 +0,0 @@
-package org.eclipse.debug.internal.ui.launchConfigurations;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.lang.reflect.InvocationTargetException;

-import java.text.MessageFormat;

-import java.util.ArrayList;

-import java.util.HashMap;

-import java.util.Iterator;

-import java.util.Map;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.resources.IResource;

-import org.eclipse.core.resources.ResourcesPlugin;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IAdaptable;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.debug.core.DebugException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.core.ILaunchConfigurationListener;

-import org.eclipse.debug.core.ILaunchConfigurationType;

-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;

-import org.eclipse.debug.internal.ui.PixelConverter;

-import org.eclipse.debug.internal.ui.SWTUtil;

-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;

-import org.eclipse.debug.ui.DebugUITools;

-import org.eclipse.debug.ui.IDebugUIConstants;

-import org.eclipse.debug.ui.ILaunchConfigurationDialog;

-import org.eclipse.debug.ui.ILaunchConfigurationTab;

-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;

-import org.eclipse.jface.action.Action;

-import org.eclipse.jface.action.IMenuListener;

-import org.eclipse.jface.action.IMenuManager;

-import org.eclipse.jface.action.MenuManager;

-import org.eclipse.jface.dialogs.ControlEnableState;

-import org.eclipse.jface.dialogs.IDialogConstants;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.dialogs.ProgressMonitorDialog;

-import org.eclipse.jface.dialogs.TitleAreaDialog;

-import org.eclipse.jface.operation.IRunnableWithProgress;

-import org.eclipse.jface.operation.ModalContext;

-import org.eclipse.jface.preference.IPreferenceStore;

-import org.eclipse.jface.resource.JFaceResources;

-import org.eclipse.jface.viewers.DoubleClickEvent;

-import org.eclipse.jface.viewers.IDoubleClickListener;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.ISelectionChangedListener;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.viewers.ITreeContentProvider;

-import org.eclipse.jface.viewers.SelectionChangedEvent;

-import org.eclipse.jface.viewers.StructuredSelection;

-import org.eclipse.jface.viewers.TreeViewer;

-import org.eclipse.jface.viewers.Viewer;

-import org.eclipse.jface.wizard.ProgressMonitorPart;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.BusyIndicator;

-import org.eclipse.swt.custom.SashForm;

-import org.eclipse.swt.events.KeyAdapter;

-import org.eclipse.swt.events.KeyEvent;

-import org.eclipse.swt.events.ModifyEvent;

-import org.eclipse.swt.events.ModifyListener;

-import org.eclipse.swt.events.SelectionAdapter;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.graphics.Cursor;

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.graphics.Rectangle;

-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.Control;

-import org.eclipse.swt.widgets.Display;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.swt.widgets.Menu;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.swt.widgets.TabFolder;

-import org.eclipse.swt.widgets.TabItem;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.swt.widgets.TreeItem;

-import org.eclipse.ui.help.WorkbenchHelp;

-import org.eclipse.ui.model.WorkbenchViewerSorter;

-

-/**

- * The dialog used to edit and launch launch configurations.

- */

-public class LaunchConfigurationDialog extends TitleAreaDialog 

-										implements ISelectionChangedListener, 

-													ILaunchConfigurationListener, 

-													ILaunchConfigurationDialog, 

-													IDoubleClickListener {

-

-	/**

-	 * The tree of launch configurations

-	 */

-	private TreeViewer fConfigTree;

-	

-	/**

-	 * The workbench context present when this dialog is opened.

-	 */

-	private Object fContext;

-	

-	/**

-	 * The IResource corresponding to <code>fContext</code>.

-	 */

-	private IResource fResourceContext;

-	

-	/**

-	 * The mode (run or debug) for this dialog.

-	 */

-	private String fMode;

-	

-	/**

-	 * The Composite used to insert an adjustable 'sash' between the tree and the tabs.

-	 */

-	private SashForm fSashForm;

-	

-	/**

-	 * Default weights for the SashForm that specify how wide the selection and

-	 * edit areas aree relative to each other.

-	 */

-	private static final int[] DEFAULT_SASH_WEIGHTS = new int[] {11, 30};

-	

-	/**

-	 * The launch configuration selection area.

-	 */

-	private Composite fSelectionArea;	

-	

-	/**

-	 * The launch configuration edit area.

-	 */

-	private Composite fEditArea;

-	

-	/**

-	 * The 'New configuration' action.

-	 */

-	private ButtonAction fButtonActionNew;

-	

-	/**

-	 * The 'Duplicate configuration' action.

-	 */

-	private ButtonAction fButtonActionDuplicate;

-	

-	/**

-	 * The 'Delete configuration' action.

-	 */

-	private ButtonAction fButtonActionDelete;

-	

-	/**

-	 * The 'apply' button

-	 */

-	private Button fApplyButton;	

-	

-	/**

-	 * The 'revert' button

-	 */

-	private Button fRevertButton;

-	

-	/**

-	 * The 'cancel' button that appears when the in-dialog progress monitor is shown.

-	 */

-	private Button fProgressMonitorCancelButton;

-	

-	/**

-	 * Flag indicating if the progress monitor part's Cancel button has been pressed.

-	 */

-	private boolean fCancelButtonPressed;

-	

-	/**

-	 * The text widget displaying the name of the

-	 * launch configuration under edit

-	 */

-	private Text fNameText;

-	

-	private String fLastSavedName = null;

-	

-	/**

-	 * Container for the edit area <code>TabFolder</code>

-	 */

-	private Composite fTabComposite;

-	

-	/**

-	 * The tab folder that contains tabs for the selected configuration

-	 */

-	private TabFolder fTabFolder;

-	

-	/**

-	 * Flag that indicates when the tabs are being disposed.

-	 */

-	private boolean fDisposingTabs = false;

-	

-	/**

-	 * The current (working copy) launch configuration

-	 * being displayed/edited or <code>null</code> if

-	 * none

-	 */

-	private ILaunchConfigurationWorkingCopy fWorkingCopy;

-	

-	/**

-	 * The actual (non-working copy) launch configuration that underlies the current working copy

-	 */

-	private ILaunchConfiguration fUnderlyingConfig;

-	

-	/**

-	 * Clients of this dialog may set an 'initial configuration type', which means that when

-	 * the dialog is opened, a configuration of that type will be created, initialized, and

-	 * saved.  Note that the initial config type is ignored if single-click launching is enabled.

-	 */

-	private ILaunchConfigurationType fInitialConfigType;

-	

-	/**

-	 * When this dialog is opened in <code>LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION</code>

-	 * mode, this specifies the selection that is initially shown in the dialog.

-	 */

-	private IStructuredSelection fInitialSelection;

-	

-	/**

-	 * The current tab group being displayed

-	 */

-	private ILaunchConfigurationTabGroup fTabGroup;

-	

-	/**

-	 * The type of config tabs are currently displayed

-	 * for

-	 */

-	private ILaunchConfigurationType fTabType;

-	

-	/** 

-	 * The index of the currently selected tab

-	 */

-	private int fCurrentTabIndex;

-	

-	private ProgressMonitorPart fProgressMonitorPart;

-	private Cursor waitCursor;

-	private Cursor arrowCursor;

-	private MessageDialog fWindowClosingDialog;

-	

-	/**

-	 * Whether initlialing tabs

-	 */

-	private boolean fInitializingTabs = false;

-		

-	/**

-	 * Indicates if selection changes in the tree should be ignored

-	 */

-	private boolean fIgnoreSelectionChanges = false;

-	

-	/**

-	 * Previously selected element in the tree

-	 */

-	private Object fSelectedTreeObject;

-	

-	/**

-	 * The number of 'long-running' operations currently taking place in this dialog

-	 */	

-	private long fActiveRunningOperations = 0;

-		

-	/**

-	 * Id for 'Launch' button.

-	 */

-	protected static final int ID_LAUNCH_BUTTON = IDialogConstants.CLIENT_ID + 1;

-	

-	/**

-	 * Id for 'Close' button.

-	 */

-	protected static final int ID_CLOSE_BUTTON = IDialogConstants.CLIENT_ID + 2;

-	

-	/**

-	 * Id for 'Cancel' button.

-	 */

-	protected static final int ID_CANCEL_BUTTON = IDialogConstants.CLIENT_ID + 3;

-	

-	/**

-	 * Constrant String used as key for setting and retrieving current Control with focus

-	 */

-	private static final String FOCUS_CONTROL = "focusControl";//$NON-NLS-1$

-

-	/**

-	 * The height in pixels of this dialog's progress indicator

-	 */

-	private static int PROGRESS_INDICATOR_HEIGHT = 18;

-

-	/**

-	 * Constant specifying how wide this dialog is allowed to get (as a percentage of

-	 * total available screen width) as a result of tab labels in the edit area.

-	 */

-	private static final float MAX_DIALOG_WIDTH_PERCENT = 0.75f;

-

-	/**

-	 * Empty array

-	 */

-	protected static final Object[] EMPTY_ARRAY = new Object[0];	

-	

-	protected static final String DEFAULT_NEW_CONFIG_NAME = LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.New_configuration_1"); //$NON-NLS-1$

-	

-	/**

-	 * Size of this dialog if there is no preference specifying a size.

-	 */

-	protected static final Point DEFAULT_INITIAL_DIALOG_SIZE = new Point(620, 560);

-

-	/**

-	 * Status area messages

-	 */

-	protected static final String LAUNCH_STATUS_OK_MESSAGE = LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Ready_to_launch_2"); //$NON-NLS-1$

-	protected static final String LAUNCH_STATUS_STARTING_FROM_SCRATCH_MESSAGE 

-										= LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Select_a_configuration_to_launch_or_a_config_type_to_create_a_new_configuration_3"); //$NON-NLS-1$

-

-	private String fCantSaveErrorMessage;

-

-	/**

-	 * Constant specifying that the launch configuration dialog should not actually open,

-	 * but instead should attempt to re-launch the last configuration that was sucessfully

-	 * launched in the workspace.  If there is no last launched configuration, just open the dialog.

-	 */

-	public static final int LAUNCH_CONFIGURATION_DIALOG_LAUNCH_LAST = 0;

-	

-	/**

-	 * Constant specifying that this dialog should be opened with a new configuration of a type

-	 * specified via <code>setInitialConfigType()</code> selected.

-	 */

-	public static final int LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_NEW_CONFIG_OF_TYPE = 1;

-	

-	/**

-	 * Constant specifying that this dialog should be opened with the last configuration launched

-	 * in the workspace selected.

-	 */

-	public static final int LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_LAST_LAUNCHED = 2;

-

-	/**

-	 * Constant specifying that this dialog should be opened with the value specified via 

-	 * <code>setInitialSelection()</code> selected.

-	 */

-	public static final int LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION = 3;

-	

-	/**

-	 * Specifies how this dialog behaves when opened.  Value is one of the 

-	 * 'LAUNCH_CONFIGURATION_DIALOG' constants defined in this class.

-	 */

-	private int fOpenMode = LAUNCH_CONFIGURATION_DIALOG_LAUNCH_LAST;

-	

-	/**

-	 * Constructs a new launch configuration dialog on the given

-	 * parent shell.

-	 * 

-	 * @param shell the parent shell

-	 * @param selection the selection used to initialize this dialog, typically the 

-	 *  current workbench selection

-	 * @param mode one of <code>ILaunchManager.RUN_MODE</code> or 

-	 *  <code>ILaunchManager.DEBUG_MODE</code>

-	 */

-	public LaunchConfigurationDialog(Shell shell, IStructuredSelection selection, String mode) {

-		super(shell);

-		setShellStyle(getShellStyle() | SWT.RESIZE);

-		setContext(resolveContext(selection));

-		setMode(mode);

-	}

-	

-	/**

-	 * Set the flag indicating how this dialog behaves when the <code>open()</code> method is called.

-	 * Valid values are defined by the LAUNCH_CONFIGURATION_DIALOG... constants in this class.

-	 */

-	public void setOpenMode(int mode) {

-		fOpenMode = mode;

-	}

-	

-	protected int getOpenMode() {

-		return fOpenMode;

-	}

-	

-	/**

-	 * Returns the Object to be used as context for this dialog, derived from the specified selection.

-	 * If the specified selection has as its first element an IFile whose extension matches

-	 * <code>ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION</code>, then return

-	 * the launch configuration declared in the IFile.  Otherwise, return the first element 

-	 * in the specified selection.

-	 */

-	protected Object resolveContext(IStructuredSelection selection) {

-		

-		// Empty selection means no context

-		if ((selection == null) || (selection.isEmpty())) {

-			return null;

-		} 

-

-		// If first element is a launch config file, create a launch configuration from it

-		// and make this the context, otherwise just return the first element

-		Object firstSelected = selection.getFirstElement();

-		if (firstSelected instanceof IFile) {

-			IFile file = (IFile) firstSelected;

-			if (ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION.equals(file.getFileExtension())) {

-				return getLaunchManager().getLaunchConfiguration(file);

-			}

-		}

-		return firstSelected;

-	}

-	

-	/**

-	 * A launch configuration dialog overrides this method

-	 * to create a custom set of buttons in the button bar.

-	 * This dialog has 'Launch' and 'Cancel'

-	 * buttons.

-	 * 

-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(Composite)

-	 */

-	protected void createButtonsForButtonBar(Composite parent) {

-		createButton(parent, ID_LAUNCH_BUTTON, getLaunchButtonText(), true);

-		createButton(parent, ID_CLOSE_BUTTON, LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Close_1"), false);  //$NON-NLS-1$

-	}

-	

-	/**

-	 * Handle the 'save and launch' & 'launch' buttons here, all others are handled

-	 * in <code>Dialog</code>

-	 * 

-	 * @see Dialog#buttonPressed(int)

-	 */

-	protected void buttonPressed(int buttonId) {

-		if (buttonId == ID_LAUNCH_BUTTON) {

-			handleLaunchPressed();

-		} else if (buttonId == ID_CLOSE_BUTTON) {

-			handleClosePressed();

-		} else {

-			super.buttonPressed(buttonId);

-		}

-	}

-

-	/**

-	 * Returns the appropriate text for the launch button - run or debug.

-	 */

-	protected String getLaunchButtonText() {

-		if (getMode() == ILaunchManager.DEBUG_MODE) {

-			return LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Deb&ug_4"); //$NON-NLS-1$

-		} else {

-			return LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.R&un_5"); //$NON-NLS-1$

-		}

-	}

-

-	/**

-	 * @see Dialog#createContents(Composite)

-	 */

-	protected Control createContents(Composite parent) {

-		Control contents = super.createContents(parent);

-		initializeBounds();

-		initializeSashForm();

-		createContextMenu(getTreeViewer().getControl());

-		getLaunchManager().addLaunchConfigurationListener(this);

-		ensureSelectionAreaWidth();

-		doInitialTreeSelection();

-		return contents;

-	}

-

-	/**

-	 * Initialize the relative weights (widths) of the 2 sides of the sash.

-	 */

-	protected void initializeSashForm() {

-		int[] sashWeights = DEFAULT_SASH_WEIGHTS;

-		String sashWeightString = getPreferenceStore().getString(IDebugPreferenceConstants.PREF_LAUNCH_CONFIGURATION_DIALOG_SASH_WEIGHTS);

-		if (sashWeightString.length() > 0) {

-			Point sashWeightPoint = parseCoordinates(sashWeightString);

-			if (sashWeightPoint != null) {

-				sashWeights[0] = sashWeightPoint.x;

-				sashWeights[1] = sashWeightPoint.y;

-			}

-		}

-		getSashForm().setWeights(sashWeights);

-	}

-

-	/**

-	 * Check if the selection area is currently wide enough so that both the 'New' &

-	 * 'Delete' buttons are shown without truncation.  If so, do nothing.  Otherwise,

-	 * increase the width of this dialog's Shell just enough so that both buttons 

-	 * are shown cleanly.

-	 */

-	protected void ensureSelectionAreaWidth() {

-		Button newButton = getButtonActionNew().getButton();

-		Button deleteButton = getButtonActionDelete().getButton();		

-		int requiredWidth = newButton.getBounds().width + deleteButton.getBounds().width;

-		int marginWidth = ((GridLayout)getSelectionArea().getLayout()).marginWidth;

-		int horizontalSpacing = ((GridLayout)getSelectionArea().getLayout()).horizontalSpacing;

-		requiredWidth += (2 * marginWidth) + horizontalSpacing;

-		int currentWidth = getSelectionArea().getBounds().width;

-

-		if (requiredWidth > currentWidth) {

-			int[] newSashWeights = new int[2];

-			newSashWeights[0] = requiredWidth;

-			newSashWeights[1] = getEditArea().getBounds().width;

-			Shell shell= getShell();

-			Point shellSize= shell.getSize();

-			setShellSize(shellSize.x + (requiredWidth - currentWidth), shellSize.y);

-			getSashForm().setWeights(newSashWeights);			

-		}

-	}

-	

-	/**

-	 * Creates a pop-up menu on the specified control.

-	 */

-	protected void createContextMenu(Control menuControl) {

-		MenuManager menuMgr= new MenuManager("#PopUp"); //$NON-NLS-1$

-		menuMgr.setRemoveAllWhenShown(true);

-		menuMgr.addMenuListener(new IMenuListener() {

-			public void menuAboutToShow(IMenuManager mgr) {

-				fillContextMenu(mgr);

-			}

-		});

-		Menu menu= menuMgr.createContextMenu(menuControl);

-		menuControl.setMenu(menu);

-	}

-	

-	/**

-	 * Fill the specified context menu with the basic launch configuration

-	 * management actions - New, Duplicate & Delete.

-	 */

-	protected void fillContextMenu(IMenuManager menu) {	

-		if (getButtonActionNew().isEnabled()) {

-			menu.add(getButtonActionNew());

-		}

-		if (getButtonActionDuplicate().isEnabled()) {

-			menu.add(getButtonActionDuplicate());

-		}

-		if (getButtonActionDelete().isEnabled()) {

-			menu.add(getButtonActionDelete());

-		}

-	}	

-	

-	/**

-	 * Set the initial selection in the tree.

-	 */

-	protected void doInitialTreeSelection() {

-		getTreeViewer().setSelection(getInitialSelection());

-	}

-	

-	/**

-	 * Write out this dialog's Shell size, location & sash weights to the preference store.

-	 */

-	protected void persistShellGeometry() {

-		Point shellLocation = getShell().getLocation();

-		Point shellSize = getShell().getSize();

-		int[] sashWeights = getSashForm().getWeights();

-		String locationString = serializeCoords(shellLocation);

-		String sizeString = serializeCoords(shellSize);

-		String sashWeightString = serializeCoords(new Point(sashWeights[0], sashWeights[1]));

-		getPreferenceStore().setValue(IDebugPreferenceConstants.PREF_LAUNCH_CONFIGURATION_DIALOG_LOCATION, locationString);

-		getPreferenceStore().setValue(IDebugPreferenceConstants.PREF_LAUNCH_CONFIGURATION_DIALOG_SIZE, sizeString);

-		getPreferenceStore().setValue(IDebugPreferenceConstants.PREF_LAUNCH_CONFIGURATION_DIALOG_SASH_WEIGHTS, sashWeightString);

-	}

-	

-	/**

-	 * @see Window#close()

-	 */

-	public boolean close() {

-		getLaunchManager().removeLaunchConfigurationListener(this);

-		persistShellGeometry();

-		return super.close();

-	}

-	

-	/**

-	 * Determine the first configuration for this dialog.  If single-click launching is 

-	 * enabled, launch the configuration WITHOUT realizing the dialog.  If single-click 

-	 * launching was successful, this method returns 

-	 * <code>ILaunchConfigurationDialog.SINGLE_CLICK_LAUNCHED</code>.  Otherwise, open the

-	 * dialog in the specified mode.

-	 * 

-	 * @see Window#open()

-	 */

-	public int open() {		

-		int mode = getOpenMode();	

-		if (mode == LAUNCH_CONFIGURATION_DIALOG_LAUNCH_LAST) {

-			return doLastLaunchedConfig(true);

-		} else if (mode == LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_LAST_LAUNCHED) {

-			return doLastLaunchedConfig(false);

-		} else if (mode == LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_NEW_CONFIG_OF_TYPE) {

-			return openDialogOnNewConfigOfSpecifiedType();

-		} else if (mode == LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION) {

-			return openDialogOnSelection();

-		}		

-		return super.open();

-	}

-	

-	/**

-	 * Retrieve the last launched configuration in the workspace.  If <code>launch</code>

-	 * is <code>true</code>, launch this configuration without showing the dialog, otherwise 

-	 * just set the initial selection in the dialog to the last launched configuration.

-	 */

-	protected int doLastLaunchedConfig(boolean launch) {

-		ILaunchConfiguration lastLaunchedConfig = getLastLaunchedWorkbenchConfiguration();

-		if (launch) {

-			try {

-				if (lastLaunchedConfig != null) {

-					if (lastLaunchedConfig.supportsMode(getMode())) {

-						fUnderlyingConfig = lastLaunchedConfig;

-						doLaunch(lastLaunchedConfig);

-					} else {

-						// If we're trying to launch, but the last launched config doesn't 

-						// support the current mode of the dialog, show an error dialog

-						String configName = lastLaunchedConfig.getName();

-						String title = LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Cannot_relaunch_1"); //$NON-NLS-1$

-						String message = MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Cannot_relaunch_[{1}]_because_it_does_not_support_{2}_mode_2"), new String[] {configName, getMode()}); //$NON-NLS-1$

-						MessageDialog.openError(getShell(), title, message);										

-					}

-					return ILaunchConfigurationDialog.LAUNCHED_BEFORE_OPENING;

-				}

-			} catch(CoreException e) {

-				DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Launch_Configuration_Error_6"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Exception_occurred_processing_launch_configuration._See_log_for_more_information_7"), e); //$NON-NLS-1$ //$NON-NLS-2$

-			}

-		}

-		if (lastLaunchedConfig != null) {

-			setInitialSelection(new StructuredSelection(lastLaunchedConfig));

-		}			

-		return super.open();

-	}

-	

-	/**

-	 * Realize this dialog so that a new configuration of the type that was specified via

-	 * <code>setInitialConfigType()</code> is selected.

-	 */

-	protected int openDialogOnNewConfigOfSpecifiedType() {

-		ILaunchConfigurationType configType = getInitialConfigType();

-		ILaunchConfiguration config = null;

-		if (configType != null) {

-			config = createConfigOfType(configType);			

-		}		

-		if (config != null) {

-			setInitialSelection(new StructuredSelection(config));

-		}

-		return super.open();

-	}

-	

-	/**

-	 * Open this dialog with the selection set to the value specified by 

-	 * <code>setInitialSelection()</code>.

-	 */

-	protected int openDialogOnSelection() {

-		// Nothing special is required, the dialog will open and whatever was specified

-		// via setInitialSelection() will be selected in the tree

-		return super.open();

-	}

-	

-	/**

-	 * Return the last launched configuration in the workspace.

-	 */

-	protected ILaunchConfiguration getLastLaunchedWorkbenchConfiguration() {

-		LaunchConfigurationHistoryElement historyElement = DebugUIPlugin.getLaunchConfigurationManager().getLastLaunch();

-		if (historyElement != null) {

-			return historyElement.getLaunchConfiguration();

-		}

-		return null;			

-	}

-	

-	/**

-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(Composite)

-	 */

-	protected Control createDialogArea(Composite parent) {

-		GridData gd;

-		Composite dialogComp = (Composite)super.createDialogArea(parent);

-		Composite topComp = new Composite(dialogComp, SWT.NONE);

-		gd = new GridData(GridData.FILL_BOTH);

-		topComp.setLayoutData(gd);

-		GridLayout topLayout = new GridLayout();

-		topLayout.numColumns = 2;

-		topLayout.marginHeight = 5;

-		topLayout.marginWidth = 0;

-		topComp.setLayout(topLayout);

-

-		// Set the things that TitleAreaDialog takes care of

-		setTitle(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Create,_manage,_and_run_launch_configurations_8")); //$NON-NLS-1$

-		setMessage(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Ready_to_launch_2")); //$NON-NLS-1$

-		setModeLabelState();

-

-		// Create the SashForm that contains the selection area on the left,

-		// and the edit area on the right

-		setSashForm(new SashForm(topComp, SWT.NONE));

-		getSashForm().setOrientation(SWT.HORIZONTAL);

-		gd = new GridData(GridData.FILL_BOTH);

-		gd.horizontalSpan = 2;

-		getSashForm().setLayoutData(gd);

-		

-		// Build the launch configuration selection area and put it into the composite.

-		Composite launchConfigSelectionArea = createLaunchConfigurationSelectionArea(getSashForm());

-		gd = new GridData(GridData.FILL_VERTICAL);

-		launchConfigSelectionArea.setLayoutData(gd);

-	

-		// Build the launch configuration edit area and put it into the composite.

-		Composite editAreaComp = createLaunchConfigurationEditArea(getSashForm());

-		gd = new GridData(GridData.FILL_BOTH);

-		editAreaComp.setLayoutData(gd);

-			

-		// Build the separator line that demarcates the button bar

-		Label separator = new Label(topComp, SWT.HORIZONTAL | SWT.SEPARATOR);

-		gd = new GridData(GridData.FILL_HORIZONTAL);

-		gd.horizontalSpan = 2;

-		separator.setLayoutData(gd);

-		

-		dialogComp.layout(true);

-		

-		return dialogComp;

-	}

-	

-	/**

-	 * Create and return a launch configuration of the specified type.

-	 * This method is intended to be called before the UI has been realized, such as in

-	 * the case of single-click launching or creating a config for an initial configuration

-	 * type.

-	 */

-	protected ILaunchConfiguration createConfigOfType(ILaunchConfigurationType configType) {		

-		ILaunchConfigurationWorkingCopy workingCopy = null;

-		try {

-			workingCopy = configType.newInstance(null, getLaunchManager().generateUniqueLaunchConfigurationNameFrom(DEFAULT_NEW_CONFIG_NAME));

-		} catch (CoreException ce) {

-			DebugUIPlugin.log(ce);

-			return null;

-		}

-

-		ILaunchConfiguration config = null;

-		try {

-	 		ILaunchConfigurationTabGroup group= createGroup(configType);

-	 		group.setDefaults(workingCopy);

-	 		group.dispose();

-

- 			// Assign a name to the config if it doesn't already have one

-	 		if (workingCopy.getName().trim().length() == 0) {

-	 			IResource res = getResourceContext();

-	 			String name = "";       //$NON-NLS-1$

-	 			if (res != null) {

-	 				name = res.getName();

-	 			}

-	 			name = generateName(name);

-	 			workingCopy.rename(name);

-	 		}

-	 		

-	 		config = workingCopy.doSave();

-		} catch (CoreException e) {

-			DebugUIPlugin.log(e);

-			return null;

-		}

-		

-		return config;

-	}

-	

-	/**

-	 * Returns tab group for the given type of launch configuration.

-	 * Tabs are initialized to be contained in this dialog.

-	 * 

-	 * @exception CoreException if unable to instantiate a tab group

-	 */

-	protected ILaunchConfigurationTabGroup createGroup(final ILaunchConfigurationType configType) throws CoreException {

-		// Use a final Object array to store the tab group and any exception that

-		// results from the Runnable

-		final Object[] finalArray = new Object[2]; 		

- 		Runnable runnable = new Runnable() {

- 			public void run() {

-		 		ILaunchConfigurationTabGroup tabGroup = null;

-				try {

-					tabGroup = LaunchConfigurationPresentationManager.getDefault().getTabGroup(configType);

-					finalArray[0] = tabGroup;

-				} catch (CoreException ce) {

-					finalArray[1] = ce;

-					return;

-				}

-		 		tabGroup.createTabs(LaunchConfigurationDialog.this, getMode());

-		 		ILaunchConfigurationTab[] tabs = tabGroup.getTabs();

-		 		for (int i = 0; i < tabs.length; i++) {

-		 			tabs[i].setLaunchConfigurationDialog(LaunchConfigurationDialog.this);

-		 		}

- 			}

- 		};

- 		

- 		// Creating the tabs can result in plugin loading, so we show the busy cursor

- 		BusyIndicator.showWhile(getDisplay(), runnable);

- 		

- 		// Re-throw any CoreException if there was one

- 		if (finalArray[1] != null) {

- 			throw (CoreException)finalArray[1];

- 		}

- 		

- 		// Otherwise return the tab group

- 		return (ILaunchConfigurationTabGroup)finalArray[0];

-	}

-	

-	/**

-	 * Returns the selected IResource context from the workbench,

-	 * or <code>null</code> if there was no context in the workbench.

-	 */

-	protected IResource getResourceContext() {

-		if (fResourceContext == null) {

-			Object workbenchSelection = getContext();

-			if (workbenchSelection instanceof IResource) {

-				fResourceContext = (IResource)workbenchSelection;

-			} else if (workbenchSelection instanceof IAdaptable) {

-				fResourceContext = (IResource) ((IAdaptable)workbenchSelection).getAdapter(IResource.class);

-			}

-		}

-		return fResourceContext;		

-	}

-	

-	/**

-	 * Set the title area image based on the mode this dialog was initialized with

-	 */

-	protected void setModeLabelState() {

-		Image image;

-		if (getMode().equals(ILaunchManager.DEBUG_MODE)) {

-			image = DebugUITools.getImage(IDebugUIConstants.IMG_WIZBAN_DEBUG);

-		} else {

-			image = DebugUITools.getImage(IDebugUIConstants.IMG_WIZBAN_RUN);

-		}

-		setTitleImage(image);

-	}

-	

-	/**

-	 * Convenience method to set the selection on the configuration tree.

-	 */

-	protected void setTreeViewerSelection(ISelection selection) {

-		getTreeViewer().setSelection(selection);

-	}

-	

-	private void setLastSavedName(String lastSavedName) {

-		this.fLastSavedName = lastSavedName;

-	}

-

-	private String getLastSavedName() {

-		return fLastSavedName;

-	}

-	

-	/**

-	 * Update buttons and message.

-	 */

-	protected void refreshStatus() {

-		updateButtons();

-		updateMessage();

-	}

-	

-	/**

-	 * Verify the attributes common to all launch configuration.

-	 * Indicate failure by throwing a <code>CoreException</code>.

-	 */

-	protected void verifyStandardAttributes() throws CoreException {

-		verifyName();

-	}

-	

-	/**

-	 * Verify that the launch configuration name is valid.

-	 */

-	protected void verifyName() throws CoreException {

-		String currentName = getNameTextWidget().getText().trim();

-

-		// If there is no name, complain

-		if (currentName.length() < 1) {

-			throw new CoreException(new Status(IStatus.ERROR,

-												 DebugUIPlugin.getUniqueIdentifier(),

-												 0,

-												 LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Name_required_for_launch_configuration_11"), //$NON-NLS-1$

-												 null));			

-		}

-

-		// If the name hasn't changed from the last saved name, do nothing

-		if (currentName.equals(getLastSavedName())) {

-			return;

-		}	

-		

-		// See if name contains any 'illegal' characters

-		IStatus status = ResourcesPlugin.getWorkspace().validateName(currentName, IResource.FILE);

-		if (status.getCode() != IStatus.OK) {

-			throw new CoreException(new Status(IStatus.ERROR,

-												 DebugUIPlugin.getDefault().getDescriptor().getUniqueIdentifier(),

-												 0,

-												 status.getMessage(),

-												 null));									

-		}			

-		

-		// Otherwise, if there's already a config with the same name, complain

-		if (getLaunchManager().isExistingLaunchConfigurationName(currentName)) {

-			throw new CoreException(new Status(IStatus.ERROR,

-												 DebugUIPlugin.getDefault().getDescriptor().getUniqueIdentifier(),

-												 0,

-												 LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Launch_configuration_already_exists_with_this_name_12"), //$NON-NLS-1$

-												 null));						

-		}						

-	}

-	

-	/**

-	 * If the name is valid, rename the current launch configuration.  Otherwise, show an

-	 * appropriate error message.

-	 */

-	protected void updateConfigFromName() {

-		if (getLaunchConfiguration() != null) {

-			try {

-				verifyName();

-			} catch (CoreException ce) {

-				refreshStatus();

-				return;				

-			}

-						

-			getLaunchConfiguration().rename(getNameTextWidget().getText().trim());

-			refreshStatus();

-		}

-	}

-	

-	protected Display getDisplay() {

-		Shell shell = getShell();

-		if (shell != null) {

-			return shell.getDisplay();

-		} else {

-			return Display.getDefault();

-		}

-	}

-		

-	/**

-	 * Creates the launch configuration selection area of the dialog.

-	 * This area displays a tree of launch configurations that the user

-	 * may select, and allows users to create new configurations, and

-	 * delete and duplicate existing configurations.

-	 * 

-	 * @return the composite used for launch configuration selection area

-	 */ 

-	protected Composite createLaunchConfigurationSelectionArea(Composite parent) {

-		Composite comp = new Composite(parent, SWT.NONE);

-		setSelectionArea(comp);

-		GridLayout layout = new GridLayout();

-		layout.numColumns = 3;

-		layout.marginHeight = 0;

-		layout.marginWidth = 5;

-		comp.setLayout(layout);

-		

-		Label treeLabel = new Label(comp, SWT.NONE);

-		treeLabel.setText(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Launch_Con&figurations__1")); //$NON-NLS-1$

-		GridData gd = new GridData();

-		gd.horizontalSpan = 3;

-		treeLabel.setLayoutData(gd);

-		

-		TreeViewer tree = new TreeViewer(comp);

-		gd = new GridData(GridData.FILL_BOTH);

-		gd.horizontalSpan = 3;

-		// Set width hint to 0 to force tree to only be as wide as the combined

-		// width of the 'New' & 'Delete' buttons.  Otherwise tree wants to be much wider.

-		gd.widthHint = 0;

-		tree.getControl().setLayoutData(gd);

-		tree.setContentProvider(new LaunchConfigurationContentProvider());

-		tree.setLabelProvider(DebugUITools.newDebugModelPresentation());

-		tree.setSorter(new WorkbenchViewerSorter());

-		setTreeViewer(tree);

-		tree.addSelectionChangedListener(this);

-		tree.setInput(ResourcesPlugin.getWorkspace().getRoot());

-		tree.expandAll();

-		tree.addDoubleClickListener(this);

-		tree.getControl().addKeyListener(new KeyAdapter() {

-			public void keyPressed(KeyEvent e) {

-				handleKeyPressed(e);

-			}

-		});

-		

-		Button newButton = SWTUtil.createPushButton(comp, LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Ne&w_13"), null); //$NON-NLS-1$

-		setButtonActionNew(new ButtonActionNew(newButton.getText(), newButton));

-		

-		Button deleteButton = SWTUtil.createPushButton(comp, LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Dele&te_14"), null); //$NON-NLS-1$

-		setButtonActionDelete(new ButtonActionDelete(deleteButton.getText(), deleteButton));

-		

-		setButtonActionDuplicate(new ButtonActionDuplicate(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Duplicate_1"), null)); //$NON-NLS-1$

-		

-		return comp;

-	}	

-	

-	/**

-	 * Creates the launch configuration edit area of the dialog.

-	 * This area displays the name of the launch configuration

-	 * currently being edited, as well as a tab folder of tabs

-	 * that are applicable to the launch configuration.

-	 * 

-	 * @return the composite used for launch configuration editing

-	 */ 

-	protected Composite createLaunchConfigurationEditArea(Composite parent) {

-		Composite outerComp = new Composite(parent, SWT.NONE);

-		GridLayout outerCompLayout = new GridLayout();

-		outerCompLayout.numColumns = 1;

-		outerCompLayout.marginHeight = 0;

-		outerCompLayout.marginWidth = 0;

-		outerComp.setLayout(outerCompLayout);

-		

-		Composite comp = new Composite(outerComp, SWT.NONE);

-		setEditArea(comp);

-		GridLayout layout = new GridLayout();

-		layout.numColumns = 2;

-		layout.marginHeight = 0;

-		layout.marginWidth = 5;

-		comp.setLayout(layout);		

-		GridData gd = new GridData(GridData.FILL_BOTH);

-		comp.setLayoutData(gd);

-		

-		Label nameLabel = new Label(comp, SWT.HORIZONTAL | SWT.LEFT);

-		nameLabel.setText(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.&Name__16")); //$NON-NLS-1$

-		gd = new GridData(GridData.BEGINNING);

-		nameLabel.setLayoutData(gd);

-		

-		Text nameText = new Text(comp, SWT.SINGLE | SWT.BORDER);

-		gd = new GridData(GridData.FILL_HORIZONTAL);

-		nameText.setLayoutData(gd);

-		setNameTextWidget(nameText);

-		

-		getNameTextWidget().addModifyListener(

-			new ModifyListener() {

-				public void modifyText(ModifyEvent e) {

-					updateConfigFromName();

-				}

-			}

-		);		

-		

-		Label spacer = new Label(comp, SWT.NONE);

-		gd = new GridData();

-		gd.horizontalSpan = 2;

-		spacer.setLayoutData(gd);

-		

-		fTabComposite = new Composite(comp, SWT.NONE);

-		GridLayout outerTabCompositeLayout = new GridLayout();

-		outerTabCompositeLayout.marginHeight = 0;

-		outerTabCompositeLayout.marginWidth = 0;

-		fTabComposite.setLayout(outerTabCompositeLayout);

-		gd = new GridData(GridData.FILL_BOTH);

-		gd.horizontalSpan = 2;

-		fTabComposite.setLayoutData(gd);		

-		

-		TabFolder tabFolder = new TabFolder(fTabComposite, SWT.NONE);

-		setTabFolder(tabFolder);

-		gd = new GridData(GridData.FILL_BOTH);

-		tabFolder.setLayoutData(gd);

-		getTabFolder().addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent evt) {

-				handleTabSelected();

-			}

-		});

-		

-		Composite buttonComp = new Composite(comp, SWT.NONE);

-		GridLayout buttonCompLayout = new GridLayout();

-		buttonCompLayout.numColumns = 2;

-		buttonComp.setLayout(buttonCompLayout);

-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);

-		gd.horizontalSpan = 2;

-		buttonComp.setLayoutData(gd);

-		

-		setApplyButton(new Button(buttonComp, SWT.PUSH));

-		getApplyButton().setText(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.&Apply_17")); //$NON-NLS-1$

-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);

-		getApplyButton().setLayoutData(gd);

-		SWTUtil.setButtonDimensionHint(getApplyButton());

-		getApplyButton().addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent evt) {

-				handleApplyPressed();

-			}

-		});

-		

-		setRevertButton(new Button(buttonComp, SWT.PUSH));

-		getRevertButton().setText(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Revert_2"));   //$NON-NLS-1$

-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);

-		getRevertButton().setLayoutData(gd);

-		SWTUtil.setButtonDimensionHint(getRevertButton());

-		getRevertButton().addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent evt) {

-				handleRevertPressed();

-			}

-		});

-		

-		return outerComp;

-	}	

-	

-	/**

-	 * @see Dialog#createButtonBar(Composite)

-	 */

-	protected Control createButtonBar(Composite parent) {

-		Composite composite= new Composite(parent, SWT.NULL);

-		GridLayout layout= new GridLayout();

-		layout.numColumns= 2;

-		layout.marginHeight= 0;

-		layout.marginWidth= 0;

-		composite.setLayout(layout);

-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

-

-		GridLayout pmLayout = new GridLayout();

-		pmLayout.numColumns = 3;

-		setProgressMonitorPart(new ProgressMonitorPart(composite, pmLayout, PROGRESS_INDICATOR_HEIGHT));

-		Button cancelButton = createButton(getProgressMonitorPart(), ID_CANCEL_BUTTON, LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Cancel_3"), true); //$NON-NLS-1$

-		setProgressMonitorCancelButton(cancelButton);

-		getProgressMonitorCancelButton().addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent evt) {

-				setCancelButtonPressed(true);

-			}

-		});

-		getProgressMonitorPart().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

-		getProgressMonitorPart().setVisible(false);

-

-		return super.createButtonBar(composite);

-	}

-	

-	/**

-	 * Sets the title for the dialog, and establishes the help context.

-	 * 

-	 * @see org.eclipse.jface.window.Window#configureShell(Shell);

-	 */

-	protected void configureShell(Shell shell) {

-		super.configureShell(shell);

-		shell.setText(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Launch_Configurations_18")); //$NON-NLS-1$

-		WorkbenchHelp.setHelp(

-			shell,

-			IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG);

-	}

-	

-	/**

-	 * @see Window#getInitialLocation(Point)

-	 */

-	protected Point getInitialLocation(Point initialSize) {	

-		String locationString = getPreferenceStore().getString(IDebugPreferenceConstants.PREF_LAUNCH_CONFIGURATION_DIALOG_LOCATION);

-		if (locationString.length() > 0) {

-			Point locationPoint = parseCoordinates(locationString);

-			if (locationPoint != null) {

-				return locationPoint;

-			}

-		}

-		return super.getInitialLocation(initialSize);

-	}

-

-	/**

-	 * @see Window#getInitialSize()

-	 */

-	protected Point getInitialSize() {

-		String sizeString = getPreferenceStore().getString(IDebugPreferenceConstants.PREF_LAUNCH_CONFIGURATION_DIALOG_SIZE);

-		if (sizeString.length() > 0) {

-			Point sizePoint = parseCoordinates(sizeString);

-			if (sizePoint != null) {

-				return sizePoint;

-			}

-		}

-		return DEFAULT_INITIAL_DIALOG_SIZE;

-	}

-	

-	/**

-	 * Given a coordinate String of the form "123x456" return a Point object whose

-	 * X value is 123 and Y value is 456.  Return <code>null</code> if the String

-	 * is not in the specified form.

-	 */

-	protected Point parseCoordinates(String coordString) {

-		int byIndex = coordString.indexOf('x');

-		if (byIndex < 0) {

-			return null;

-		}

-		

-		try {

-			int x = Integer.parseInt(coordString.substring(0, byIndex));

-			int y = Integer.parseInt(coordString.substring(byIndex + 1));			

-			return new Point(x, y);

-		} catch (NumberFormatException nfe) {

-			return null;

-		}

-	}

-	

-	/**

-	 * Given a Point object, return a String of the form "XCoordxYCoord".

-	 */

-	protected String serializeCoords(Point coords) {

-		StringBuffer buffer = new StringBuffer();

-		buffer.append(coords.x);

-		buffer.append('x');

-		buffer.append(coords.y);

-		return buffer.toString();

-	}

-	

-	private void setSashForm(SashForm sashForm) {

-		fSashForm = sashForm;

-	}

-	

-	protected SashForm getSashForm() {

-		return fSashForm;

-	}

-

-	/**

-	 * Sets the tree viewer used to display launch configurations.

-	 * 

-	 * @param viewer the tree viewer used to display launch

-	 *  configurations

-	 */

-	private void setTreeViewer(TreeViewer viewer) {

-		fConfigTree = viewer;

-	}

-	

-	/**

-	 * Returns the tree viewer used to display launch configurations.

-	 * 

-	 * @param the tree viewer used to display launch configurations

-	 */

-	protected TreeViewer getTreeViewer() {

-		return fConfigTree;

-	}

-	

-	protected IStructuredSelection getTreeViewerSelection() {

-		return (IStructuredSelection)getTreeViewer().getSelection();

-	}

-	

-	protected Object getTreeViewerFirstSelectedElement() {

-		IStructuredSelection selection = getTreeViewerSelection();

-		if (selection == null) {

-			return null;

-		}

-		return selection.getFirstElement();

-	}

-		

-	/**

-	 * Content provider for launch configuration tree.

-	 */

-	class LaunchConfigurationContentProvider implements ITreeContentProvider {

-		

-		/**

-		 * Actual launch configurations have no children.  Launch configuration types have

-		 * all configurations of that type as children, minus any configurations that are 

-		 * marked as private.

-		 * 

-		 * @see ITreeContentProvider#getChildren(Object)

-		 */

-		public Object[] getChildren(Object parentElement) {

-			if (parentElement instanceof ILaunchConfiguration) {

-				return EMPTY_ARRAY;

-			} else if (parentElement instanceof ILaunchConfigurationType) {

-				try {

-					ILaunchConfigurationType type = (ILaunchConfigurationType)parentElement;

-					ILaunchConfiguration[] allConfigs = getLaunchManager().getLaunchConfigurations(type);

-					ArrayList filteredConfigs = new ArrayList(allConfigs.length);

-					for (int i = 0; i < allConfigs.length; i++) {

-						ILaunchConfiguration config = allConfigs[i];

-						if (config.getAttribute(IDebugUIConstants.ATTR_PRIVATE, false)) {

-							continue;

-						}

-						filteredConfigs.add(config);

-					}

-					return filteredConfigs.toArray();

-				} catch (CoreException e) {

-					DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Error_19"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.An_exception_occurred_while_retrieving_launch_configurations_20"), e); //$NON-NLS-1$ //$NON-NLS-2$

-				}

-			} else {

-				return getLaunchManager().getLaunchConfigurationTypes();

-			}

-			return EMPTY_ARRAY;

-		}

-

-		/**

-		 * @see ITreeContentProvider#getParent(Object)

-		 */

-		public Object getParent(Object element) {

-			if (element instanceof ILaunchConfiguration) {

-				if (!((ILaunchConfiguration)element).exists()) {

-					return null;

-				}

-				try {

-					return ((ILaunchConfiguration)element).getType();

-				} catch (CoreException e) {

-					DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Error_19"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.An_exception_occurred_while_retrieving_launch_configurations_20"), e); //$NON-NLS-1$ //$NON-NLS-2$

-				}

-			} else if (element instanceof ILaunchConfigurationType) {

-				return ResourcesPlugin.getWorkspace().getRoot();

-			}

-			return null;

-		}

-

-		/**

-		 * @see ITreeContentProvider#hasChildren(Object)

-		 */

-		public boolean hasChildren(Object element) {

-			if (element instanceof ILaunchConfiguration) {

-				return false;

-			} else {

-				return getChildren(element).length > 0;

-			}

-		}

-

-		/**

-		 * Return only the launch configuration types that support the current mode AND

-		 * are marked as 'public'.

-		 * 

-		 * @see IStructuredContentProvider#getElements(Object)

-		 */

-		public Object[] getElements(Object inputElement) {

-			ILaunchConfigurationType[] allTypes = getLaunchManager().getLaunchConfigurationTypes();

-			ArrayList list = new ArrayList(allTypes.length);

-			String mode = getMode();

-			for (int i = 0; i < allTypes.length; i++) {

-				ILaunchConfigurationType configType = allTypes[i];

-				if (configType.supportsMode(mode) && configType.isPublic()) {

-					list.add(configType);

-				}

-			}			

-			return list.toArray();

-		}

-

-		/**

-		 * @see IContentProvider#dispose()

-		 */

-		public void dispose() {

-		}

-

-		/**

-		 * @see IContentProvider#inputChanged(Viewer, Object, Object)

-		 */

-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {

-		}

-

-	}

-	

-	/**

-	 * Returns the launch manager.

-	 * 

-	 * @return the launch manager

-	 */

-	protected ILaunchManager getLaunchManager() {

-		return DebugPlugin.getDefault().getLaunchManager();

-	}

-

-	/**

-	 * Returns whether this dialog is currently open

-	 */

-	protected boolean isVisible() {

-		return getTreeViewer() != null;

-	}	

-		

-	/**

-	 * Notification that selection has changed in the launch configuration tree.

-	 * <p>

-	 * If the currently displayed configuration is not saved,

-	 * prompt for saving before moving on to the new selection.

-	 * </p>

-	 * 

-	 * @param event selection changed event

-	 */

- 	public void selectionChanged(SelectionChangedEvent event) {

- 		

- 		// Ignore selectionChange events that occur while saving

- 		if (ignoreSelectionChanges()) {

- 			return;

- 		}

- 		

- 		// Get the new selection		

- 		IStructuredSelection selection = (IStructuredSelection)event.getSelection();

- 		if (selection.isEmpty()) {

- 			getEditArea().setVisible(false);

- 			setWorkingCopy(null);

- 			setSelectedTreeObject(null);

- 			updateButtons();

- 			return;

- 		}

- 		

- 		// Get details of the new selection

- 		Object firstSelectedElement = selection.getFirstElement();		

- 		boolean singleSelection = selection.size() == 1;

-		boolean configSelected = firstSelectedElement instanceof ILaunchConfiguration;

-

- 		// If selection is the same, don't bother

- 		Object lastSelectedTreeObj = getSelectedTreeObject();

- 		if (singleSelection && (lastSelectedTreeObj != null) && lastSelectedTreeObj.equals(firstSelectedElement)) {

- 			getEditArea().setVisible(lastSelectedTreeObj instanceof ILaunchConfiguration);

- 			return;

- 		}

- 		

-		// Take care of any unsaved changes.  If the user aborts, reset selection

-		// to whatever it was previously selected

-		boolean canReplaceConfig = canDiscardCurrentConfig();

- 		if (!canReplaceConfig) {

- 			StructuredSelection prevSelection;

-			if (lastSelectedTreeObj == null) {

-				prevSelection = StructuredSelection.EMPTY;

-			} else {

-				prevSelection = new StructuredSelection(lastSelectedTreeObj);

-			}

- 			setTreeViewerSelection(prevSelection);

- 			return;

- 		}			

- 				 		 		 

-		// If a config is selected, update the edit area for it, if a config type is

-		// selected, clear the edit area

- 		if (singleSelection && configSelected) {

- 			ILaunchConfiguration config = (ILaunchConfiguration) firstSelectedElement; 			

- 			setLastSavedName(config.getName());

- 			setLaunchConfiguration(config, false);

- 		} else if (singleSelection && firstSelectedElement instanceof ILaunchConfigurationType) {

-			if (canReplaceConfig) {

-				clearLaunchConfiguration();

-				getEditArea().setVisible(false);

-				disposeExistingTabs();

-			}

- 		} else {

- 			// multi-selection

- 			clearLaunchConfiguration();

- 			getEditArea().setVisible(false);

- 		}

- 		

- 		updateButtons();

- 		if (singleSelection) {

-	 		setSelectedTreeObject(firstSelectedElement);

- 		} else {

- 			setSelectedTreeObject(null);

- 		}

- 	}

- 	

- 	protected void setProgressMonitorPart(ProgressMonitorPart part) {

- 		fProgressMonitorPart = part;

- 	}

- 	

- 	protected ProgressMonitorPart getProgressMonitorPart() {

- 		return fProgressMonitorPart;

- 	}

- 	

- 	protected void setProgressMonitorCancelButton(Button button) {

- 		fProgressMonitorCancelButton = button;

- 	}

- 	

- 	protected Button getProgressMonitorCancelButton() {

- 		return fProgressMonitorCancelButton;

- 	}

- 	

- 	/**

- 	 * Sets the configuration to display/edit.

- 	 * Updates the tab folder to contain the appropriate pages.

- 	 * Sets all configuration-related state appropriately.

- 	 * 

- 	 * @param config the launch configuration to display/edit

- 	 * @param init whether to initialize the config with default values

- 	 */

- 	protected void setLaunchConfiguration(ILaunchConfiguration config, boolean init) {

-		try {

-			

-			// turn on initializing flag to ignore message updates

-			setInitializingTabs(true);

-			

-			getEditArea().setVisible(true);

-			showTabsForConfigType(config.getType());

-			

-			if (config.isWorkingCopy()) {

-		 		setWorkingCopy((ILaunchConfigurationWorkingCopy)config);

-			} else {

-				setWorkingCopy(config.getWorkingCopy());

-			}

-			fUnderlyingConfig = getLaunchConfiguration().getOriginal();

-	 		

-	 		// update the name field before to avoid verify error 

-	 		getNameTextWidget().setText(config.getName());	 		

-	 			 		

-	 		// Set the defaults for all tabs before any are initialized

-	 		// so that every tab can see ALL the default values

-	 		if (init) {

-				getTabGroup().setDefaults(getLaunchConfiguration());

-	 		}

-

-	 		// update the tabs with the new working copy	 		

-			getTabGroup().initializeFrom(getLaunchConfiguration());

-	 		

-	 		// update the name field after in case client changed it 

-	 		getNameTextWidget().setText(config.getName());

-	 				

-	 		// turn off initializing flag to update message

-			setInitializingTabs(false);

-			

-	 		refreshStatus();

-	 		

-		} catch (CoreException ce) {

- 			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Error_19"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Exception_occurred_setting_launch_configuration_24"), ce); //$NON-NLS-1$ //$NON-NLS-2$

- 			clearLaunchConfiguration();

- 			return;					

-		}

- 	} 

- 	

- 	/**

- 	 * Clears the configuration being shown/edited.   

- 	 * Resets all configuration-related state.

- 	 */

- 	protected void clearLaunchConfiguration() {

- 		setWorkingCopy(null);

- 		fUnderlyingConfig = null;

- 		setLastSavedName(null);

- 		getNameTextWidget().setText("");  //$NON-NLS-1$

- 		refreshStatus();

- 	}

- 	

- 	/**

- 	 * Populate the tabs in the configuration edit area to be appropriate to the current

- 	 * launch configuration type.

- 	 */

- 	protected void showTabsForConfigType(ILaunchConfigurationType configType) {		

- 		

- 		// Don't do any work if the current tabs are for the current config type

- 		if (getTabType() != null && getTabType().equals(configType)) {

- 			return;

- 		}

- 		

- 		// Avoid flicker

- 		getEditArea().setVisible(false);

- 		

-		// Dispose the current tabs

-		disposeExistingTabs();

-

-		// Build the new tabs

- 		ILaunchConfigurationTabGroup group = null;

- 		try {

-	 		group = createGroup(configType);

- 		} catch (CoreException ce) {

- 			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Error_19"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Exception_occurred_creating_launch_configuration_tabs_27"),ce); //$NON-NLS-1$ //$NON-NLS-2$

- 			return;

- 		}

- 		

- 		// Create the Control for each tab, and determine the maximum tab dimensions

- 		PixelConverter pixelConverter = new PixelConverter(getTabFolder());

- 		int runningTabWidth = 0;

- 		ILaunchConfigurationTab[] tabs = group.getTabs();

- 		Point contentSize = new Point(0, 0);

- 		for (int i = 0; i < tabs.length; i++) {

- 			TabItem tab = new TabItem(getTabFolder(), SWT.NONE);

- 			String name = tabs[i].getName();

- 			if (name == null) {

- 				name = LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.unspecified_28"); //$NON-NLS-1$

- 			}

- 			tab.setText(name);

- 			Image image = tabs[i].getImage();

- 			tab.setImage(image);

- 			runningTabWidth += pixelConverter.convertWidthInCharsToPixels(name.length() + 5);

- 			if (image != null) {

-	 			runningTabWidth += image.getBounds().width;

- 			}

- 			tabs[i].createControl(tab.getParent());

- 			Control control = tabs[i].getControl();

- 			if (control != null) {

-	 			tab.setControl(control);

-	 			Point size = control.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);

-	 			if (size.x > contentSize.x) {

-	 				contentSize.x = size.x;

-	 			}

-	 			if (size.y > contentSize.y) {

-	 				contentSize.y = size.y;

-	 			}

- 			}

- 		}

- 		

- 		// Determine if more space is needed to show all tab labels across the top of the

- 		// tab folder.  If so, only increase size of dialog to some percent of the available

- 		// screen real estate.

-		if (runningTabWidth > contentSize.x) {

-			int maxAllowedWidth = (int) (getDisplay().getBounds().width * MAX_DIALOG_WIDTH_PERCENT);

-			int otherWidth = getSashForm().SASH_WIDTH + getSelectionArea().getBounds().width;

-			int totalWidth = runningTabWidth + otherWidth;

-			if (totalWidth > maxAllowedWidth) {

-				contentSize.x = maxAllowedWidth - otherWidth;

-			} else {

-				contentSize.x = runningTabWidth;

-			} 

-		}

- 		

- 		// Adjust the maximum tab dimensions to account for the extra space required for the tab labels

- 		Rectangle tabFolderBoundingBox = getTabFolder().computeTrim(0, 0, contentSize.x, contentSize.y);

-		contentSize.x = tabFolderBoundingBox.width;

-		contentSize.y = tabFolderBoundingBox.height;

-

- 		// Force recalculation of sizes	

-		getTabFolder().layout(true);

-		

-		// Calculate difference between required space for tab folder and current size,

-		// then increase size of this dialog's Shell by that amount

- 		Rectangle rect = fTabComposite.getClientArea();

-		Point containerSize= new Point(rect.width, rect.height);

-		int hdiff= contentSize.x - containerSize.x;

-		int vdiff= contentSize.y - containerSize.y;

-		// Only increase size of dialog, never shrink it

-		if (hdiff > 0 || vdiff > 0) {

-			int[] newSashWeights = null;

-			if (hdiff > 0) {			

-				newSashWeights = calculateNewSashWeights(hdiff);				

-			}

-			hdiff= Math.max(0, hdiff);

-			vdiff= Math.max(0, vdiff);

-			Shell shell= getShell();

-			Point shellSize= shell.getSize();

-			setShellSize(shellSize.x + hdiff, shellSize.y + vdiff);

-			// Adjust the sash weights so that all of the increase in width

-			// is given to the tab area

-			if (newSashWeights != null) {

-				getSashForm().setWeights(newSashWeights);

-			}

-		}

-

- 		setTabGroup(group);

- 		setTabType(configType);

- 		getEditArea().setVisible(true);

- 	}

- 	

- 	/**

- 	 * Calculate & return a 2 element integer array that specifies the relative 

- 	 * weights of the selection area and the edit area, based on the specified

- 	 * increase in width of the owning shell.  The point of this method is calculate 

- 	 * sash weights such that when the shell gets wider, all of the increase in width

- 	 * is given to the edit area (tab folder), and the selection area (tree) stays

- 	 * the same width.

- 	 */

-	protected int[] calculateNewSashWeights(int widthIncrease) {

-		int[] newWeights = new int[2];

-		newWeights[0] = getSelectionArea().getBounds().width;

-		newWeights[1] = getEditArea().getBounds().width + widthIncrease;

-		return newWeights;

-	}

-

- 	/**

- 	 * Increase the size of this dialog's <code>Shell</code> by the specified amounts.

- 	 * Do not increase the size of the Shell beyond the bounds of the Display.

- 	 */

-	private void setShellSize(int width, int height) {

-		Rectangle bounds = getShell().getDisplay().getBounds();

-		getShell().setSize(Math.min(width, bounds.width), Math.min(height, bounds.height));

-	}

-	

- 	protected void disposeExistingTabs() {

-		setDisposingTabs(true);

-		TabItem[] oldTabs = getTabFolder().getItems();

-		for (int i = 0; i < oldTabs.length; i++) {

-			oldTabs[i].dispose();

-		} 		

-		if (getTabGroup() != null) {

-			getTabGroup().dispose();

-		}

-		setTabGroup(null);

-		setTabType(null);

-		setDisposingTabs(false);

- 	}

- 	

- 	/**

- 	 * Sets the current launch configuration that is being

- 	 * displayed/edited.

- 	 */

- 	protected void setWorkingCopy(ILaunchConfigurationWorkingCopy workingCopy) {

- 		fWorkingCopy = workingCopy;

- 	}

- 	

- 	protected boolean isWorkingCopyDirty() {

- 		ILaunchConfigurationWorkingCopy workingCopy = getLaunchConfiguration();

- 		if (workingCopy == null) {

- 			return false;

- 		}

- 		

- 		// Working copy hasn't been saved

- 		if (workingCopy.getOriginal() == null) {

- 			return true;

- 		}

- 		

- 		// Name has changed.  Normally, this would be caught in the 'contentsEqual'

- 		// check below, however there are some circumstances where this fails, such as

- 		// when the name is invalid

- 		if (isNameDirty()) {

- 			return true;

- 		}

-

- 		updateWorkingCopyFromPages();

- 		ILaunchConfiguration original = workingCopy.getOriginal();

- 		return !original.contentsEqual(workingCopy);

- 	}

- 	

- 	/**

- 	 * Return <code>true</code> if the name has been modified since the last time it was saved.

- 	 */

- 	protected boolean isNameDirty() {

- 		String currentName = getNameTextWidget().getText().trim();

- 		return !currentName.equals(getLastSavedName());

- 	}

- 	

- 	protected void setContext(Object context) {

- 		fContext = context;

- 	}

- 	

- 	protected Object getContext() {

- 		return fContext;

- 	}

- 	 	

- 	protected void setMode(String mode) {

- 		fMode = mode;

- 	}

- 	

- 	/** 

- 	 * @see ILaunchConfigurationDialog#getMode()

- 	 */

- 	public String getMode() {

- 		return fMode;

- 	}

- 	

-	/**

-	 * Sets the text widget used to display the name

-	 * of the configuration being displayed/edited

-	 * 

-	 * @param widget the text widget used to display the name

-	 *  of the configuration being displayed/edited

-	 */

-	private void setNameTextWidget(Text widget) {

-		fNameText = widget;

-	}

-	

-	/**

-	 * Returns the text widget used to display the name

-	 * of the configuration being displayed/edited

-	 * 

-	 * @return the text widget used to display the name

-	 *  of the configuration being displayed/edited

-	 */

-	protected Text getNameTextWidget() {

-		return fNameText;

-	} 

-	

- 	/**

- 	 * Sets the 'apply' button.

- 	 * 

- 	 * @param button the 'apply' button.

- 	 */	

- 	private void setApplyButton(Button button) {

- 		fApplyButton = button;

- 	}

- 	

- 	/**

- 	 * Returns the 'apply' button

- 	 * 

- 	 * @return the 'apply' button

- 	 */

- 	protected Button getApplyButton() {

- 		return fApplyButton;

- 	}	

- 	

- 	/**

- 	 * Sets the 'revert' button.

- 	 * 

- 	 * @param button the 'revert' button.

- 	 */	

- 	private void setRevertButton(Button button) {

- 		fRevertButton = button;

- 	}

- 	

- 	/**

- 	 * Returns the 'revert' button

- 	 * 

- 	 * @return the 'revert' button

- 	 */

- 	protected Button getRevertButton() {

- 		return fRevertButton;

- 	}	

- 	

- 	private void setDisposingTabs(boolean disposing) {

- 		fDisposingTabs = disposing;

- 	}

- 	

- 	private boolean isDisposingTabs() {

- 		return fDisposingTabs;

- 	}

- 

- 	/**

- 	 * Sets the tab folder

- 	 * 

- 	 * @param folder the tab folder

- 	 */	

- 	private void setTabFolder(TabFolder folder) {

- 		fTabFolder = folder;

- 	}

- 	

- 	/**

- 	 * Returns the tab folder

- 	 * 

- 	 * @return the tab folder

- 	 */

- 	protected TabFolder getTabFolder() {

- 		return fTabFolder;

- 	}	 	

- 	

- 	/**

- 	 * Sets the current tab group being displayed

- 	 * 

- 	 * @param group the current tab group being displayed

- 	 */

- 	private void setTabGroup(ILaunchConfigurationTabGroup group) {

- 		fTabGroup = group;

- 	}

- 	

- 	/**

- 	 * Returns the current tab group

- 	 * 

- 	 * @return the current tab group, or <code>null</code> if none

- 	 */

- 	public ILaunchConfigurationTabGroup getTabGroup() {

- 		return fTabGroup;

- 	}

- 	

- 	/**

- 	 * @see ILaunchConfigurationDialog#getTabs()

- 	 */

- 	public ILaunchConfigurationTab[] getTabs() {

- 		if (getTabGroup() == null) {

- 			return null;

- 		} else {

- 			return getTabGroup().getTabs();

- 		}

- 	} 	

- 	

-	/**

-	 * @see ILaunchConfigurationListener#launchConfigurationAdded(ILaunchConfiguration)

-	 */

-	public void launchConfigurationAdded(ILaunchConfiguration configuration) {

-		setIgnoreSelectionChanges(true);

-		try {

-			setWorkingCopy(configuration.getWorkingCopy());

-			fUnderlyingConfig = configuration;

-		} catch (CoreException e) {

-			DebugUIPlugin.log(e);

-		}

-		getTreeViewer().refresh();	

-		updateButtons();

-		setIgnoreSelectionChanges(false);

-	}

-

-	/**

-	 * @see ILaunchConfigurationListener#launchConfigurationChanged(ILaunchConfiguration)

-	 */

-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {

-	}

-

-	/**

-	 * @see ILaunchConfigurationListener#launchConfigurationRemoved(ILaunchConfiguration)

-	 */

-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {

-		getTreeViewer().remove(configuration);		

-	}

-	

-	protected void setIgnoreSelectionChanges(boolean ignore) {

-		fIgnoreSelectionChanges = ignore;

-	}

-	

-	protected boolean ignoreSelectionChanges() {

-		return fIgnoreSelectionChanges;

-	}

-	

-	/**

-	 * Return whether the current configuration can be discarded.  This involves determining

-	 * if it is dirty, and if it is, asking the user what to do.

-	 */

-	protected boolean canDiscardCurrentConfig() {		

-		// If there is no working copy, there's no problem, return true

-		ILaunchConfigurationWorkingCopy workingCopy = getLaunchConfiguration();

-		if (workingCopy == null) {

-			return true;

-		}

-		

-		if (isWorkingCopyDirty()) {

-			return showUnsavedChangesDialog();

-		} else {

-			return true;

-		}

-	}

-	

-	/**

-	 * Show the user a dialog appropriate to whether the unsaved changes in the current config

-	 * can be saved or not.  Return <code>true</code> if the user indicated that they wish to replace

-	 * the current config, either by saving changes or by discarding the, return <code>false</code>

-	 * otherwise.

-	 */

-	protected boolean showUnsavedChangesDialog() {

-		if (canSaveConfig()) {

-			return showSaveChangesDialog();

-		} else {

-			return showDiscardChangesDialog();

-		}

-	}

-	

-	/**

-	 * Create and return a dialog that asks the user whether they want to save

-	 * unsaved changes.  Return <code>true </code> if they chose to save changes,

-	 * <code>false</code> otherwise.

-	 */

-	protected boolean showSaveChangesDialog() {

-		StringBuffer buffer = new StringBuffer(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.The_configuration___29")); //$NON-NLS-1$

-		buffer.append(getLaunchConfiguration().getName());

-		buffer.append(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.__has_unsaved_changes.__Do_you_wish_to_save_them__30")); //$NON-NLS-1$

-		MessageDialog dialog = new MessageDialog(getShell(), 

-												 LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Save_changes__31"), //$NON-NLS-1$

-												 null,

-												 buffer.toString(),

-												 MessageDialog.QUESTION,

-												 new String[] {LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Yes_32"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.No_33"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Cancel_34")}, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

-												 0);

-		// If user clicked 'Cancel' or closed dialog, return false

-		int selectedButton = dialog.open();

-		if ((selectedButton < 0) || (selectedButton == 2)) {

-			return false;

-		}

-		

-		// If they hit 'Yes', save the working copy 

-		if (selectedButton == 0) {

-			saveConfig();

-		}

-		

-		return true;

-	}

-	

-	/**

-	 * Create and return a dialog that asks the user whether they want to discard

-	 * unsaved changes.  Return <code>true</code> if they chose to discard changes,

-	 * <code>false</code> otherwise.

-	 */

-	protected boolean showDiscardChangesDialog() {

-		StringBuffer buffer = new StringBuffer(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.The_configuration___35")); //$NON-NLS-1$

-		buffer.append(getNameTextWidget().getText());

-		buffer.append(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.__has_unsaved_changes_that_CANNOT_be_saved_because_of_the_following_error_36")); //$NON-NLS-1$

-		buffer.append(fCantSaveErrorMessage);

-		buffer.append(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Do_you_wish_to_discard_changes_37")); //$NON-NLS-1$

-		MessageDialog dialog = new MessageDialog(getShell(), 

-												 LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Discard_changes__38"), //$NON-NLS-1$

-												 null,

-												 buffer.toString(),

-												 MessageDialog.QUESTION,

-												 new String[] {LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Yes_32"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.No_33")}, //$NON-NLS-1$ //$NON-NLS-2$

-												 1);

-		// If user clicked 'Yes', return true

-		int selectedButton = dialog.open();

-		if (selectedButton == 0) {

-			return true;

-		}

-		return false;

-	}

-	

-	/**

-	 * Return <code>true</code> if the current configuration can be saved, <code>false</code>

-	 * otherwise.  Note this is NOT the same thing as the config simply being valid.  It is

-	 * possible to save a config that does not validate.  This method determines whether the

-	 * config can be saved without causing a serious error.  For example, a shared config that

-	 * has no specified location would cause this method to return <code>false</code>.

-	 */

-	protected boolean canSaveConfig() {

-		

-		fCantSaveErrorMessage = null;

-

-		// First make sure that name doesn't prevent saving the config

-		try {

-			verifyName();

-		} catch (CoreException ce) {

-			fCantSaveErrorMessage = ce.getStatus().getMessage();

-			return false;

-		}

-		

-		// Next, make sure none of the tabs object to saving the config

-		ILaunchConfigurationTab[] tabs = getTabs();

-		if (tabs == null) {

-			fCantSaveErrorMessage = LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.No_tabs_found_41"); //$NON-NLS-1$

-			return false;

-		}

-		for (int i = 0; i < tabs.length; i++) {

-			if (!tabs[i].canSave()) {

-				fCantSaveErrorMessage = tabs[i].getErrorMessage();

-				return false;

-			}

-		}

-		return true;		

-	}

-

-	/**

-	 * Notification the 'New' action has been activated.

-	 */

-	protected void handleNewAction() {

-		

-		// Take care of any unsaved changes

-		if (!canDiscardCurrentConfig()) {

-			return;

-		}

-		

-		// The 'New' action should only be enabled if a single config type is selected

-		Object selectedElement = getTreeViewerFirstSelectedElement();

-		if (!(selectedElement instanceof ILaunchConfigurationType)) {

-			return;

-		}

-		

-		// Construct a new config of the selected type and select the result in the tree

-		ILaunchConfigurationType configType = (ILaunchConfigurationType) selectedElement;

-		constructNewConfig(configType);

-		getTreeViewer().setSelection(new StructuredSelection(fUnderlyingConfig));		

-	}	

-	

-	/**

-	 * Notification the 'Duplicate' action has been activated.

-	 */

-	protected void handleDuplicateAction() {

-

-		// Take care of any unsaved changes

-		if (!canDiscardCurrentConfig()) {

-			return;

-		}

-		

-		// The 'Duplicate' action should only be enabled if a single config is selected

-		Object selectedElement = getTreeViewerFirstSelectedElement();

-		if (!(selectedElement instanceof ILaunchConfiguration)) {

-			return;

-		}

-		

-		// Duplicate the selected config and select the dupe in the tree

-		ILaunchConfiguration copyFromConfig = (ILaunchConfiguration) selectedElement;

-		String newName = getLaunchManager().generateUniqueLaunchConfigurationNameFrom(copyFromConfig.getName());

-		try {

-			ILaunchConfigurationWorkingCopy newWorkingCopy = copyFromConfig.copy(newName);

-			setLaunchConfiguration(newWorkingCopy, false);

-			doSave();

-			getTreeViewer().setSelection(new StructuredSelection(fUnderlyingConfig));

-		} catch (CoreException ce) {

-			DebugUIPlugin.log(ce);			

-		}							

-	}

-	

-	/**

-	 * Create a new configuration of the specified type and select it in the tree.

-	 */

-	protected void doHandleNewConfiguration(ILaunchConfigurationType configType) {

-		constructNewConfig(configType);

-		getTreeViewer().setSelection(new StructuredSelection(fUnderlyingConfig));		

-	}

-	

-	/**

-	 * Make a copy of the specified configuration and select it in the tree.

-	 */

-	protected void doHandleCopyConfiguration(ILaunchConfiguration copyFromConfig) {

-		String newName = getLaunchManager().generateUniqueLaunchConfigurationNameFrom(copyFromConfig.getName());

-		try {

-			ILaunchConfigurationWorkingCopy newWorkingCopy = copyFromConfig.copy(newName);

-			setLaunchConfiguration(newWorkingCopy, false);

-			doSave();

-			getTreeViewer().setSelection(new StructuredSelection(fUnderlyingConfig));

-		} catch (CoreException ce) {

-			DebugUIPlugin.log(ce);			

-		}					

-	}

-	

-	/** 

-	 * If a config type is selected, create a new config of that type initialized to 

-	 * fWorkbenchSelection.  If a config is selected, create of new config of the

-	 * same type as the selected config.

-	 * protected void constructNewConfig() {

-	 */

-	protected void constructNewConfig(ILaunchConfigurationType configType) {	

-		try {

-			ILaunchConfigurationWorkingCopy wc = configType.newInstance(null, getLaunchManager().generateUniqueLaunchConfigurationNameFrom(DEFAULT_NEW_CONFIG_NAME));

-			setLastSavedName(null);

-			setLaunchConfiguration(wc, true);

-			doSave();

-		} catch (CoreException ce) {

-			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Error_19"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Exception_creating_new_launch_configuration_45"), ce); //$NON-NLS-1$ //$NON-NLS-2$

- 			clearLaunchConfiguration();

- 			return;			

-		}		

-	}

-	

-	/**

-	 * Notification the 'Delete' action has been activated

-	 */

-	protected void handleDeleteAction() {		

-		IStructuredSelection selection = getTreeViewerSelection();

-		

-		// The 'Delete' button is disabled if the selection contains anything other than configurations (no types)

-		ILaunchConfiguration firstSelectedConfig = (ILaunchConfiguration) selection.getFirstElement();

-		ILaunchConfigurationType firstSelectedConfigType = null;

-		try {

-			firstSelectedConfigType = firstSelectedConfig.getType();

-		} catch (CoreException ce) {

-			DebugUIPlugin.log(ce);						

-		}

-		

-		// Initialize data used to set the selection after deletion

-		int typeIndex= -1; // The index of the deleted configuration's type

-		int configIndex= -1; // The index of the deleted configuration

-		TreeItem[] items= getTreeViewer().getTree().getItems();

-		TreeItem typeItem;

-		for (int i= 0, numTypes= items.length; i < numTypes; i++) {

-			typeItem= items[i];

-			if (typeItem.getData() == firstSelectedConfigType) {

-				typeIndex= i;

-				TreeItem[] configs= typeItem.getItems();

-				for (int j= 0, numConfigs= configs.length; j < numConfigs; j++) {

-					if (configs[j].getData() == firstSelectedConfig) {

-						configIndex= j;

-						break;

-					}

-				}

-			}

-			

-		}

-

-		// Make the user confirm the deletion

-		String dialogMessage = selection.size() > 1 ? LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Do_you_wish_to_delete_the_selected_launch_configurations__1") : LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Do_you_wish_to_delete_the_selected_launch_configuration__2"); //$NON-NLS-1$ //$NON-NLS-2$

-		boolean ok = MessageDialog.openQuestion(this.getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Confirm_Launch_Configuration_Deletion_3"), dialogMessage); //$NON-NLS-1$

-		if (!ok) {

-			return;

-		}

-

-

-		Iterator iterator = selection.iterator();

-		while (iterator.hasNext()) {

-			clearLaunchConfiguration();

-			Object selectedElement = iterator.next();

-			if (selectedElement instanceof ILaunchConfiguration) {

-				try {

-					((ILaunchConfiguration)selectedElement).delete();

-				} catch (CoreException ce) {

-					DebugUIPlugin.log(ce);			

-				}

-			}

-		}

-		

-		IStructuredSelection newSelection= null;

-		if (typeIndex != -1 && configIndex != -1) {

-			// Reset selection to the next config

-			TreeItem[] configItems= getTreeViewer().getTree().getItems()[typeIndex].getItems();

-			int numItems= configItems.length;

-			if (numItems > configIndex) { // Select the item at the same index as the deleted

-				newSelection= new StructuredSelection(configItems[configIndex].getData());

-			} else if (numItems > 0) { // Deleted the last item(s). Select the last item

-				newSelection= new StructuredSelection(configItems[numItems - 1].getData());

-			}

-		} 

-		if (newSelection == null) {

-			// Reset selection to the config type of the first selected configuration

-			newSelection = new StructuredSelection(firstSelectedConfigType);

-		}

-		getTreeViewer().setSelection(newSelection);

-	}	

-	

-	/**

-	 * Notification the 'Close' button has been pressed.

-	 */

-	protected void handleClosePressed() {

-		if (canDiscardCurrentConfig()) {

-			disposeExistingTabs();

-			cancelPressed();

-		}

-	}

-	

-	/**

-	 * Notification that the 'Apply' button has been pressed

-	 */

-	protected void handleApplyPressed() {

-		saveConfig();

-		getTreeViewer().setSelection(new StructuredSelection(fUnderlyingConfig));

-	}

-	

-	/**

-	 * Notification that the 'Revert' button has been pressed

-	 */

-	protected void handleRevertPressed() {

-		setLaunchConfiguration(getLaunchConfiguration().getOriginal(), false);

-	}

-	

-	protected void saveConfig() {

-		try {

-			// trim name

-			Text widget = getNameTextWidget();

-			widget.setText(widget.getText().trim());

-			doSave();

-		} catch (CoreException e) {

-			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Launch_Configuration_Error_46"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Exception_occurred_while_saving_launch_configuration_47"), e); //$NON-NLS-1$ //$NON-NLS-2$

-			return;

-		}

-		

-		updateButtons();		

-	}

-	

-	/**

-	 * Notification that a tab has been selected

-	 * 

-	 * Disallow tab changing when the current tab is invalid.

-	 * Update the config from the tab being left, and refresh

-	 * the tab being entered.

-	 */

-	protected void handleTabSelected() {

-		if (isDisposingTabs()) {

-			return;

-		}

-		ILaunchConfigurationTab[] tabs = getTabs();

-		if (fCurrentTabIndex == getTabFolder().getSelectionIndex() || tabs == null || tabs.length == 0 || fCurrentTabIndex > (tabs.length - 1)) {

-			return;

-		}

-		if (fCurrentTabIndex != -1) {

-			ILaunchConfigurationTab tab = tabs[fCurrentTabIndex];

-			ILaunchConfigurationWorkingCopy wc = getLaunchConfiguration();

-			if (wc != null) {

-				// apply changes when leaving a tab

-				tab.performApply(getLaunchConfiguration());

-				// re-initialize a tab when entering it

-				getActiveTab().initializeFrom(wc);

-			}

-		}

-		fCurrentTabIndex = getTabFolder().getSelectionIndex();

-		refreshStatus();

-	}	

-	

-	/**

-	 * Iterate over the pages to update the working copy

-	 */

-	protected void updateWorkingCopyFromPages() {

-		ILaunchConfigurationWorkingCopy workingCopy = getLaunchConfiguration();

-		if (getTabGroup() != null) {

-			getTabGroup().performApply(workingCopy);

-		}

-	}

-	

-	/**

-	 * Do the save

-	 */

-	protected void doSave() throws CoreException {

-		ILaunchConfigurationWorkingCopy workingCopy = getLaunchConfiguration();

-		updateWorkingCopyFromPages();

-		if (isWorkingCopyDirty()) {

-			fUnderlyingConfig = workingCopy.doSave();

-			setWorkingCopy(fUnderlyingConfig.getWorkingCopy());

-			setLastSavedName(fUnderlyingConfig.getName()); 

-		}

-	}

-	

-	/**

-	 * Notification the 'launch' button has been pressed.

-	 * Save and launch.

-	 */

-	protected void handleLaunchPressed() {

-		int result = CANCEL;

-		try {

-			doSave();

-			result = doLaunch(getLaunchConfiguration());

-		} catch (CoreException e) {

-			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Launch_Configuration_Error_6"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Exception_occurred_while_launching_configuration._See_log_for_more_information_49"), e); //$NON-NLS-1$ //$NON-NLS-2$

-			return;

-		}

-		if (result == OK) {

-			if (fUnderlyingConfig != null) {

-				try {

-					getPreferenceStore().setValue(IDebugPreferenceConstants.PREF_LAST_LAUNCH_CONFIGURATION_SELECTION, fUnderlyingConfig.getMemento());

-				} catch (CoreException e) {

-					DebugUIPlugin.log(e);

-				}

-			}

-			disposeExistingTabs();

-			close();

-		} else {

-			getShell().setFocus();

-		}

-	}

-	

-	/**

-	 * Save the working copy if necessary, then launch the underlying configuration.

-	 * 

-	 * @return one of CANCEL or OK

-	 */

-	protected int doLaunch(ILaunchConfiguration config) throws CoreException {

-		

-		if (!DebugUITools.saveAndBuildBeforeLaunch()) {

-			return CANCEL;

-		}

-		

-		// If the configuration is a working copy and is dirty or doesn't yet exist, save it

-		if (config instanceof ILaunchConfigurationWorkingCopy) {

-			ILaunchConfigurationWorkingCopy workingCopy = (ILaunchConfigurationWorkingCopy) config;

-			if (isWorkingCopyDirty() || !workingCopy.exists()) {

-				fUnderlyingConfig = workingCopy.doSave();

-			} 

-		}

-		

-		// liftoff

-		ILaunch launch = launchWithProgress();

-		

-		// If the launch was cancelled, get out.  Otherwise, notify the tabs of the successful launch.

-		if (cancelButtonPressed()) {

-			launch.terminate();

-			return CANCEL;

-		} else if (launch != null) {

-			ILaunchConfigurationTabGroup group = getTabGroup();

-			boolean disposeTabs = false;

-			if (group == null) {

-				// when launching without realizing this dialog, the tabs

-				// may not exist - create and then dispose so we can notify them of a launch

-				disposeTabs = true;

-				group = createGroup(config.getType());

-			}

-			group.launched(launch);

-			if (disposeTabs) {

-				group.dispose();

-			}

-		}

-		

-		return OK;

-	}

-	

-	/**

-	 * @return the resulting launch, or <code>null</code> if cancelled.

-	 * @exception CoreException if an exception occurrs launching

-	 */

-	private ILaunch launchWithProgress() throws CoreException {

-		final ILaunch[] launchResult = new ILaunch[1];

-		// Do the launch

-		IRunnableWithProgress runnable = new IRunnableWithProgress() {

-			public void run(IProgressMonitor monitor) throws InvocationTargetException {

-				try {

-					launchResult[0] = fUnderlyingConfig.launch(getMode(), monitor);

-				} catch (CoreException e) {

-					throw new InvocationTargetException(e);

-				}

-			}

-		};

-		try {

-			run(true, true, runnable);

-		} catch (InterruptedException e) {

-			return null;

-		} catch (InvocationTargetException e) {

-			Throwable t = e.getTargetException();

-			if (t instanceof CoreException) {

-				throw (CoreException)t;

-			} else {

-				IStatus status = new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, DebugException.INTERNAL_ERROR, LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Exception_occurred_while_launching_50"), t); //$NON-NLS-1$

-				throw new CoreException(status);

-			}

-		} finally {

-			//remove any "error" launch

-			ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();

-			ILaunch[] launches= manager.getLaunches();

-			for (int i = 0; i < launches.length; i++) {
-				ILaunch iLaunch = launches[i];
-				if (!iLaunch.hasChildren()) {

-					manager.removeLaunch(iLaunch);

-				}
-			}

-		}

-				

-		return launchResult[0];		

-	}

-	

-	protected IPreferenceStore getPreferenceStore() {

-		return DebugUIPlugin.getDefault().getPreferenceStore();

-	}

-

-	/***************************************************************************************

-	 * 

-	 * ProgressMonitor & IRunnableContext related methods

-	 * 

-	 ***************************************************************************************/

-

-	/**

-	 * @see IRunnableContext#run(boolean, boolean, IRunnableWithProgress)

-	 */

-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {

-		if (isVisible()) {

-			// The operation can only be canceled if it is executed in a separate thread.

-			// Otherwise the UI is blocked anyway.

-			Object state = aboutToStart();

-			fActiveRunningOperations++;

-			try {

-				ModalContext.run(runnable, fork, fProgressMonitorPart, getShell().getDisplay());

-			} finally {

-				fActiveRunningOperations--;

-				stopped(state);

-			}

-		} else {

-			ProgressMonitorDialog dialog = new ProgressMonitorDialog(DebugUIPlugin.getShell());

-			dialog.run(fork, cancelable, runnable);

-		}

-	}

-	

-	/**

-	 * About to start a long running operation triggered through

-	 * the dialog. Shows the progress monitor and disables the dialog's

-	 * buttons and controls.

-	 *

-	 * @return the saved UI state

-	 */

-	private Object aboutToStart() {

-		Map savedState = null;

-		if (getShell() != null) {

-			// Save focus control

-			Control focusControl = getShell().getDisplay().getFocusControl();

-			if (focusControl != null && focusControl.getShell() != getShell()) {

-				focusControl = null;

-			}

-			

-			// Set the busy cursor to all shells.

-			Display d = getShell().getDisplay();

-			waitCursor = new Cursor(d, SWT.CURSOR_WAIT);

-			setDisplayCursor(waitCursor);

-					

-			// Set the arrow cursor to the cancel component.

-			arrowCursor= new Cursor(d, SWT.CURSOR_ARROW);

-			getProgressMonitorCancelButton().setCursor(arrowCursor);

-	

-			// Deactivate shell

-			savedState = saveUIState();

-			if (focusControl != null) {

-				savedState.put(FOCUS_CONTROL, focusControl);

-			}

-				

-			// Attach the progress monitor part to the cancel button

-			getProgressMonitorCancelButton().setEnabled(true);

-			setCancelButtonPressed(false);

-			getProgressMonitorPart().attachToCancelComponent(getProgressMonitorCancelButton());

-			getProgressMonitorPart().setVisible(true);

-			getProgressMonitorCancelButton().setFocus();

-		}

-		return savedState;

-	}

-

-	/**

-	 * A long running operation triggered through the dialog

-	 * was stopped either by user input or by normal end.

-	 * Hides the progress monitor and restores the enable state

-	 * of the dialog's buttons and controls.

-	 *

-	 * @param savedState the saved UI state as returned by <code>aboutToStart</code>

-	 * @see #aboutToStart

-	 */

-	private void stopped(Object savedState) {

-		if (getShell() != null) {

-			getProgressMonitorPart().setVisible(false);

-			getProgressMonitorPart().removeFromCancelComponent(getProgressMonitorCancelButton());

-			Map state = (Map)savedState;

-			restoreUIState(state);

-	

-			setDisplayCursor(null);	

-			waitCursor.dispose();

-			waitCursor = null;

-			arrowCursor.dispose();

-			arrowCursor = null;

-			Control focusControl = (Control)state.get(FOCUS_CONTROL);

-			if (focusControl != null) {

-				focusControl.setFocus();

-			}

-		}

-	}

-

-	/**

-	 * Captures and returns the enabled/disabled state of the wizard dialog's

-	 * buttons and the tree of controls for the currently showing page. All

-	 * these controls are disabled in the process, with the possible excepton of

-	 * the Cancel button.

-	 *

-	 * @return a map containing the saved state suitable for restoring later

-	 *   with <code>restoreUIState</code>

-	 * @see #restoreUIState

-	 */

-	private Map saveUIState() {

-		Map savedState= new HashMap(10);

-		saveEnableStateAndSet(getButtonActionNew().getButton(), savedState, "new", false);//$NON-NLS-1$

-		saveEnableStateAndSet(getButtonActionDelete().getButton(), savedState, "delete", false);//$NON-NLS-1$

-		saveEnableStateAndSet(getApplyButton(), savedState, "apply", false);//$NON-NLS-1$

-		saveEnableStateAndSet(getRevertButton(), savedState, "revert", false);//$NON-NLS-1$

-		saveEnableStateAndSet(getButton(ID_LAUNCH_BUTTON), savedState, "launch", false);//$NON-NLS-1$

-		saveEnableStateAndSet(getButton(ID_CLOSE_BUTTON), savedState, "close", false);//$NON-NLS-1$

-		savedState.put("editarea", ControlEnableState.disable(getEditArea()));//$NON-NLS-1$

-		savedState.put("tree", ControlEnableState.disable(getTreeViewer().getControl()));//$NON-NLS-1$

-		return savedState;

-	}

-

-	/**

-	 * Saves the enabled/disabled state of the given control in the

-	 * given map, which must be modifiable.

-	 *

-	 * @param w the control, or <code>null</code> if none

-	 * @param h the map (key type: <code>String</code>, element type:

-	 *   <code>Boolean</code>)

-	 * @param key the key

-	 * @param enabled <code>true</code> to enable the control, 

-	 *   and <code>false</code> to disable it

-	 * @see #restoreEnableStateAndSet

-	 */

-	private void saveEnableStateAndSet(Control w, Map h, String key, boolean enabled) {

-		if (w != null) {

-			h.put(key, new Boolean(w.isEnabled()));

-			w.setEnabled(enabled);

-		}

-	}

-

-	/**

-	 * Restores the enabled/disabled state of the wizard dialog's

-	 * buttons and the tree of controls for the currently showing page.

-	 *

-	 * @param state a map containing the saved state as returned by 

-	 *   <code>saveUIState</code>

-	 * @see #saveUIState

-	 */

-	private void restoreUIState(Map state) {

-		restoreEnableState(getButtonActionNew().getButton(), state, "new");//$NON-NLS-1$

-		restoreEnableState(getButtonActionDelete().getButton(), state, "delete");//$NON-NLS-1$

-		restoreEnableState(getApplyButton(), state, "apply");//$NON-NLS-1$

-		restoreEnableState(getRevertButton(), state, "revert");//$NON-NLS-1$

-		restoreEnableState(getButton(ID_LAUNCH_BUTTON), state, "launch");//$NON-NLS-1$

-		restoreEnableState(getButton(ID_CLOSE_BUTTON), state, "close");//$NON-NLS-1$

-		ControlEnableState tabState = (ControlEnableState) state.get("editarea");//$NON-NLS-1$

-		tabState.restore();

-		ControlEnableState treeState = (ControlEnableState) state.get("tree");//$NON-NLS-1$

-		treeState.restore();		

-	}

-

-	/**

-	 * Restores the enabled/disabled state of the given control.

-	 *

-	 * @param w the control

-	 * @param h the map (key type: <code>String</code>, element type:

-	 *   <code>Boolean</code>)

-	 * @param key the key

-	 * @see #saveEnableStateAndSet

-	 */

-	private void restoreEnableState(Control w, Map h, String key) {

-		if (w != null) {

-			Boolean b = (Boolean) h.get(key);

-			if (b != null)

-				w.setEnabled(b.booleanValue());

-		}

-	}

-	

-	protected void setCancelButtonPressed(boolean pressed) {

-		fCancelButtonPressed = pressed;

-	}

-	

-	protected boolean cancelButtonPressed() {

-		return fCancelButtonPressed;

-	}

-

-	/**

-	 * Sets the given cursor for all shells currently active

-	 * for this window's display.

-	 *

-	 * @param cursor the cursor

-	 */

-	private void setDisplayCursor(Cursor cursor) {

-		Shell[] shells = getShell().getDisplay().getShells();

-		for (int i = 0; i < shells.length; i++)

-			shells[i].setCursor(cursor);

-	}

-	

-	/**

-	 * Checks whether it is alright to close this dialog

-	 * and performed standard cancel processing. If there is a

-	 * long running operation in progress, this method posts an

-	 * alert message saying that the dialog cannot be closed.

-	 * 

-	 * @return <code>true</code> if it is alright to close this dialog, and

-	 *  <code>false</code> if it is not

-	 */

-	private boolean okToClose() {

-		if (fActiveRunningOperations > 0) {

-			synchronized (this) {

-				fWindowClosingDialog = createDialogClosingDialog();

-			}	

-			fWindowClosingDialog.open();

-			synchronized (this) {

-				fWindowClosingDialog = null;

-			}

-			return false;

-		}

-		

-		return true;

-	}

-

-	/**

-	 * Creates and return a new wizard closing dialog without opening it.

-	 */ 

-	private MessageDialog createDialogClosingDialog() {

-		MessageDialog result= new MessageDialog(

-			getShell(),

-			JFaceResources.getString("WizardClosingDialog.title"),//$NON-NLS-1$

-			null,

-			JFaceResources.getString("WizardClosingDialog.message"),//$NON-NLS-1$

-			MessageDialog.QUESTION,

-			new String[] {IDialogConstants.OK_LABEL},

-			0 ); 

-		return result;

-	}

-	

-	/**

-	 * @see ILaunchConfigurationDialog#canLaunch()

-	 */

-	public boolean canLaunch() {

-		try {

-			verifyStandardAttributes();

-		} catch (CoreException e) {

-			return false;

-		}

-		

-		ILaunchConfigurationTab[] tabs = getTabs();

-		if (tabs == null) {

-			return false;

-		}

-		for (int i = 0; i < tabs.length; i++) {

-			if (!tabs[i].isValid(getLaunchConfiguration())) {

-				return false;

-			}

-		}

-		return true;

-	}

-

-	protected ILaunchConfigurationWorkingCopy getLaunchConfiguration() {

-		return fWorkingCopy;

-	}

-

-	/**

-	 * @see ILaunchConfigurationDialog#updateButtons()

-	 */

-	public void updateButtons() {

-		if (isInitializingTabs()) {

-			return;

-		}

-		

-		// Get the current selection

-		IStructuredSelection sel = (IStructuredSelection)getTreeViewer().getSelection();

-		boolean singleSelection = sel.size() == 1;

-		boolean firstItemLaunchConfig = sel.getFirstElement() instanceof ILaunchConfiguration;

-		boolean firstItemLaunchConfigType = sel.getFirstElement() instanceof ILaunchConfigurationType;

-		

-		// New action

- 		getButtonActionNew().setEnabled(singleSelection && firstItemLaunchConfigType);

-		

-		// Duplicate action

-		getButtonActionDuplicate().setEnabled(singleSelection && firstItemLaunchConfig);

-		

-		// Delete action

-		if (sel.isEmpty()) {

-			getButtonActionDelete().setEnabled(false); 		

-		} else {

-			Iterator iter = sel.iterator();

-			boolean enable = true;

-			while (iter.hasNext()) {

-				if (iter.next() instanceof ILaunchConfigurationType) {

-					enable = false;

-					break;

-				}

-			}

-			getButtonActionDelete().setEnabled(enable);

-		}

-		

-

-		// Apply & Launch buttons

-		if (sel.isEmpty()) {

-			getApplyButton().setEnabled(false);

-			getButton(ID_LAUNCH_BUTTON).setEnabled(false);

-		} else {

-			boolean canLaunch = canLaunch();

-			getApplyButton().setEnabled(canLaunch);

-			getButton(ID_LAUNCH_BUTTON).setEnabled(canLaunch);		

-		}

-		

-		// Revert button

-		if (sel.isEmpty() || sel.size() > 1) {

-			getRevertButton().setEnabled(false);

-		} else {

-			if (firstItemLaunchConfig && isWorkingCopyDirty()) {

-				getRevertButton().setEnabled(true);

-			} else {

-				getRevertButton().setEnabled(false);

-			}

-		}

-	}

-	

-	/**

-	 * @see ILaunchConfigurationDialog#getActiveTab()

-	 */

-	public ILaunchConfigurationTab getActiveTab() {

-		TabFolder folder = getTabFolder();

-		ILaunchConfigurationTab[] tabs = getTabs();

-		if (folder != null && tabs != null) {

-			int pageIndex = folder.getSelectionIndex();

-			if (pageIndex >= 0) {		

-				return tabs[pageIndex];		

-			}

-		}

-		return null;

-	}

-	

-	/**

-	 * Returns the currently active TabItem

-	 * 

-	 * @return launch configuration tab item

-	 */

-	protected TabItem getActiveTabItem() {

-		TabFolder folder = getTabFolder();

-		TabItem tabItem = null;

-		int selectedIndex = folder.getSelectionIndex();

-		if (selectedIndex >= 0) {

-			tabItem = folder.getItem(selectedIndex);

-		}		

-		return tabItem;

-	}

-

-	/**

-	 * @see ILaunchConfigurationDialog#updateMessage()

-	 */

-	public void updateMessage() {

-		if (isInitializingTabs()) {

-			return;

-		}

-		

-		// If there is no current working copy, show a default informational message and clear the error message

-		if (getLaunchConfiguration() == null) {

-			setErrorMessage(null);

-			setMessage(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Select_a_type_of_configuration_to_create,_and_press___new__51")); //$NON-NLS-1$

-			return;

-		}

-		

-		try {

-			verifyStandardAttributes();

-		} catch (CoreException ce) {

-			setErrorMessage(ce.getMessage());

-			return;

-		}

-		

-		// Get the active tab.  If there isn't one, clear the informational & error messages

-		ILaunchConfigurationTab activeTab = getActiveTab();

-		if (activeTab == null) {

-			setMessage(null);

-			setErrorMessage(null);

-			return;

-		}

-		

-		// Always set the informational (non-error) message based on the active tab		

-		setMessage(activeTab.getMessage());

-		

-		// The bias is to show the active page's error message, but if there isn't one,

-		// show the error message for one of the other tabs that has an error.  Set the icon

-		// for all tabs according to whether they contain errors.

-		String errorMessage = checkTabForError(activeTab);

-		boolean errorOnActiveTab = errorMessage != null;

-		setTabIcon(getActiveTabItem(), errorOnActiveTab, activeTab);

-		

-		ILaunchConfigurationTab[] allTabs = getTabs();

-		for (int i = 0; i < allTabs.length; i++) {

-			if (getTabFolder().getSelectionIndex() == i) {

-				continue;

-			}

-			String tabError = checkTabForError(allTabs[i]);				

-			TabItem tabItem = getTabFolder().getItem(i);

-			boolean errorOnTab = tabError != null;

-			setTabIcon(tabItem, errorOnTab, allTabs[i]);

-			if (errorOnTab && !errorOnActiveTab) {

-				errorMessage = '[' + removeAmpersandsFrom(tabItem.getText()) + "]: " + tabError; //$NON-NLS-1$

-			}

-		}

-		setErrorMessage(errorMessage);				

-	}

-	

-	/**

-	 * Force the tab to update it's error state and return any error message.

-	 */

-	protected String checkTabForError(ILaunchConfigurationTab tab) {

-		tab.isValid(getLaunchConfiguration());

-		return tab.getErrorMessage();

-	}

-	

-	/**

-	 * Set the specified tab item's icon to an error icon if <code>error</code> is true,

-	 * or a transparent icon of the same size otherwise.

-	 */

-	protected void setTabIcon(TabItem tabItem, boolean error, ILaunchConfigurationTab tab) {

-		Image image = null;

-		if (error) {			

-			image = LaunchConfigurationManager.getDefault().getErrorTabImage(tab);

-		} else {

-			image = tab.getImage();

-		}

-		tabItem.setImage(image);								

-	}

-	

-	/**

-	 * Return a copy of the specified string 

-	 */

-	protected String removeAmpersandsFrom(String string) {

-		String newString = new String(string);

-		int index = newString.indexOf('&');

-		while (index != -1) {

-			newString = string.substring(0, index) + newString.substring(index + 1, newString.length());

-			index = newString.indexOf('&');

-		}

-		return newString;

-	}

-

-	/**

-	 * Returns the launch configuration selection area control.

-	 * 

-	 * @return control

-	 */

-	protected Composite getSelectionArea() {

-		return fSelectionArea;

-	}

-

-	/**

-	 * Sets the launch configuration selection area control.

-	 * 

-	 * @param editArea control

-	 */

-	private void setSelectionArea(Composite selectionArea) {

-		fSelectionArea = selectionArea;

-	}

-

-	/**

-	 * Returns the launch configuration edit area control.

-	 * 

-	 * @return control

-	 */

-	protected Composite getEditArea() {

-		return fEditArea;

-	}

-

-	/**

-	 * Sets the launch configuration edit area control.

-	 * 

-	 * @param editArea control

-	 */

-	private void setEditArea(Composite editArea) {

-		fEditArea = editArea;

-	}

-

-	/**

-	 * Returns the type that tabs are currently displayed

-	 * for, or <code>null</code> if none.

-	 * 

-	 * @return launch configuration type or <code>null</code>

-	 */

-	protected ILaunchConfigurationType getTabType() {

-		return fTabType;

-	}

-

-	/**

-	 * Sets the type that tabs are currently displayed

-	 * for, or <code>null</code> if none.

-	 * 

-	 * @param tabType launch configuration type

-	 */

-	private void setTabType(ILaunchConfigurationType tabType) {

-		fTabType = tabType;

-	}

-

-	protected Object getSelectedTreeObject() {

-		return fSelectedTreeObject;

-	}

-	

-	protected void setSelectedTreeObject(Object obj) {

-		fSelectedTreeObject = obj;

-	}	

-	

-	/**

-	 * @see ILaunchConfigurationDialog#setName(String)

-	 */

-	public void setName(String name) {

-		if (isVisible()) {

-			if (name == null) {

-				name = ""; //$NON-NLS-1$

-			}

-			fNameText.setText(name.trim());

-			refreshStatus();

-		}

-	}

-	

-	/**

-	 * @see ILaunchConfigurationDialog#generateName(String)

-	 */

-	public String generateName(String name) {

-		if (name == null) {

-			name = ""; //$NON-NLS-1$

-		}

-		return getLaunchManager().generateUniqueLaunchConfigurationNameFrom(name);

-	}

-

-	/**

-	 * @see IDoubleClickListener#doubleClick(DoubleClickEvent)

-	 */

-	public void doubleClick(DoubleClickEvent event) {		

-		ISelection selection = event.getSelection();		

-		if (selection instanceof IStructuredSelection) {

-			IStructuredSelection structuredSelection = (IStructuredSelection) selection;

-			Object firstSelected = structuredSelection.getFirstElement();

-			if (firstSelected instanceof ILaunchConfigurationType) {

-				if (getButtonActionNew().isEnabled()) {

-					getButtonActionNew().run();

-				}

-			} else if (firstSelected instanceof ILaunchConfiguration) {

-				if (canLaunch()) {

-					handleLaunchPressed();

-				}				

-			}

-		}		

-	}

-	

-	/**

-	 * Sets whether this dialog is initializing pages

-	 * and should not bother to refresh status (butttons

-	 * and message).

-	 */

-	private void setInitializingTabs(boolean init) {

-		fInitializingTabs = init;

-	}

-	

-	/**

-	 * Returns whether this dialog is initializing pages

-	 * and should not bother to refresh status (butttons

-	 * and message).

-	 */

-	protected boolean isInitializingTabs() {

-		return fInitializingTabs;

-	}	

-	

-	/**

-	 * Returns the initial launch configuration type, or <code>null</code> if none has been set.

-	 */

-	protected ILaunchConfigurationType getInitialConfigType() {

-		return fInitialConfigType;

-	}

-	

-	/**

-	 * Sets the initial launch configuration type to be used when this dialog is opened.

-	 */

-	public void setInitialConfigType(ILaunchConfigurationType configType) {

-		fInitialConfigType = configType;

-	}

-	

-	/**

-	 * Returns the initial selection shown in this dialog when opened in

-	 * <code>LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION</code> mode.

-	 */

-	protected IStructuredSelection getInitialSelection() {

-		return fInitialSelection;

-	}

-	

-	/**

-	 * Sets the initial selection for the dialog when opened in 

-	 * <code>LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION</code> mode.

-	 */

-	public void setInitialSelection(IStructuredSelection selection) {

-		fInitialSelection = selection;

-	}

-	

-	/**

-	 * Handles key events in tree viewer. Specifically

-	 * when the delete key is pressed.

-	 */

-	protected void handleKeyPressed(KeyEvent event) {

-		if (event.character == SWT.DEL && event.stateMask == 0) {

-			if (getButtonActionDelete().isEnabled()) {

-				getButtonActionDelete().run();

-			}

-		}

-	}

-	

-	protected void setButtonActionNew(ButtonAction action) {

-		fButtonActionNew = action;

-	}

-	

-	protected ButtonAction getButtonActionNew() {

-		return fButtonActionNew;

-	}

-

-	protected void setButtonActionDuplicate(ButtonAction action) {

-		fButtonActionDuplicate = action;

-	}

-	

-	protected ButtonAction getButtonActionDuplicate() {

-		return fButtonActionDuplicate;

-	}

-

-	protected void setButtonActionDelete(ButtonAction action) {

-		fButtonActionDelete = action;

-	}

-	

-	protected ButtonAction getButtonActionDelete() {

-		return fButtonActionDelete;

-	}

-

-	/**

-	 * Extension of <code>Action</code> that manages a <code>Button</code>

-	 * widget.  This allows common handling for actions that must appear in

-	 * a pop-up menu and also as a (non-toolbar) button in the UI.

-	 */

-	private abstract class ButtonAction extends Action {

-		

-		protected Button fButton;

-		

-		/**

-		 * Construct a ButtonAction handler.  All details of the specified

-		 * <code>Button</code>'s layout and appearance should be handled 

-		 * external to this class.

-		 */

-		public ButtonAction(String text, Button button) {

-			super(text);

-			fButton = button;

-			if (fButton != null) {

-				fButton.addSelectionListener(new SelectionAdapter() {

-					public void widgetSelected(SelectionEvent evt) {

-						ButtonAction.this.run();

-					}

-				});

-			}

-		}

-		

-		public Button getButton() {

-			return fButton;

-		}

-		

-		/**

-		 * @see IAction#setEnabled(boolean)

-		 */

-		public void setEnabled(boolean enabled) {

-			super.setEnabled(enabled);

-			if (fButton != null) {

-				fButton.setEnabled(enabled);

-			}

-		}

-	}

-	

-	/**

-	 * Handler for creating a new configuration.

-	 */

-	private class ButtonActionNew extends ButtonAction {

-		

-		public ButtonActionNew(String text, Button button) {

-			super(text, button);

-		}

-		

-		public void run() {

-			handleNewAction();

-		}

-	}

-

-	/**

-	 * Handler for duplicating a configuration.

-	 */

-	private class ButtonActionDuplicate extends ButtonAction {

-		

-		public ButtonActionDuplicate(String text, Button button) {

-			super(text, button);

-		}

-		

-		public void run() {

-			handleDuplicateAction();

-		}

-	}

-

-	/**

-	 * Handler for deleting a configuration.

-	 */

-	private class ButtonActionDelete extends ButtonAction {

-		

-		public ButtonActionDelete(String text, Button button) {

-			super(text, button);

-		}

-		

-		public void run() {

-			handleDeleteAction();

-		}

-	}

-

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationHistoryElement.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationHistoryElement.java
deleted file mode 100644
index d75891d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationHistoryElement.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.debug.internal.ui.launchConfigurations;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.ui.IDebugUIConstants;

-

-/**

- * A wrapper for entries in a launch history list.  

- */

-public class LaunchConfigurationHistoryElement {	

-	/**

-	 * The launch configuration

-	 */

-	private ILaunchConfiguration fLaunchConfiguration;

-	

-	/**

-	 * The mode in which the launch configuration was launched

-	 */

-	private String fMode;

-	

-	public LaunchConfigurationHistoryElement(ILaunchConfiguration launchConfiguration, 

-											  String mode) {

-		setLaunchConfiguration(launchConfiguration);

-		setMode(mode);

-	}

-	

-	/**

-	 * Sets the launch configuration for this history element

-	 */

-	private void setLaunchConfiguration(ILaunchConfiguration launchConfiguration) {

-		fLaunchConfiguration = launchConfiguration;

-	}

-

-	/**

-	 * Returns the launch configuration for this history element

-	 */

-	public ILaunchConfiguration getLaunchConfiguration() {

-		return fLaunchConfiguration;

-	}

-

-	/**

-	 * Sets the mode for this history element

-	 */

-	private void setMode(String mode) {

-		fMode = mode;

-	}

-

-	/**

-	 * Returns the mode for this history element

-	 */

-	public String getMode() {

-		return fMode;

-	}

-		

-	/**

-	 * Returns the label for this history element

-	 */

-	public String getLabel() {

-		return DebugUIPlugin.getDefaultLabelProvider().getText(getLaunchConfiguration());

-	}

-	

-	/**

-	 * Returns whether this history element represents

-	 * a favorite launch configuration.

-	 * 

-	 * @return whether this history element represents

-	 * a favorite launch configuration

-	 */

-	public boolean isFavorite() {

-		if (getLaunchConfiguration() != null) {

-			try {

-				if (getMode().equals(ILaunchManager.DEBUG_MODE)) {

-					return getLaunchConfiguration().getAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, false);

-				} else {

-					return getLaunchConfiguration().getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false);

-				}

-			} catch (CoreException e) {

-				DebugUIPlugin.log(e);

-			}

-		}

-		return false;

-	}

-	

-	/**

-	 * @see Object#equals(java.lang.Object)

-	 */

-	public boolean equals(Object o) {

-		if (o instanceof LaunchConfigurationHistoryElement) {

-			LaunchConfigurationHistoryElement e= (LaunchConfigurationHistoryElement)o;

-			return getLaunchConfiguration().equals(e.getLaunchConfiguration()) &&

-			getMode().equals(e.getMode());

-		}

-		return false;

-	}

-	

-	/**

-	 * @see Object#hashCode()

-	 */

-	public int hashCode() {

-		return getLaunchConfiguration().hashCode();

-	}

-		

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
deleted file mode 100644
index af2bd1d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
+++ /dev/null
@@ -1,963 +0,0 @@
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.xerces.dom.DocumentImpl;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.ILaunchHistoryChangedListener;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-public class LaunchConfigurationManager implements ILaunchListener, 
-														ILaunchConfigurationListener, 
-														IPropertyChangeListener,
-														ILaunchHistoryChangedListener  {
-	/**
-	 * The singleton instance of the launch configuration manager
-	 */
-	private static LaunchConfigurationManager fgLaunchConfigurationManager;
-	/**
-	 * The length of the Run & Debug history lists.  
-	 */
-	protected int fMaxHistorySize;
-	
-	/**
-	 * The most recent debug launches
-	 */
-	private Vector fDebugHistory;
-	
-	/**
-	 * The most recent run launches
-	 */
-	private Vector fRunHistory;
-	
-	/**
-	 * The most recent debug launches
-	 */
-	protected Vector fDebugFavorites;
-	
-	/**
-	 * The most recent run launches
-	 */
-	protected Vector fRunFavorites;
-	
-	protected boolean fHistoryInitialized= false;
-	
-	/**
-	 * The list of most recent launches, independent of mode.
-	 * This list may be empty, but should never be <code>null</code>.
-	 */
-	protected List fLastLaunchList;	
-		
-	/**
-	 * The list of registered implementors of <code>ILaunchHistoryChangedListener</code>
-	 */
-	protected List fLaunchHistoryChangedListeners = new ArrayList(3);	
-
-	/**
-	 * Launch shortcuts
-	 */
-	private List fLaunchShortcuts = null;
-	
-	/**
-	 * Launch shortcuts, cached by perspective ids
-	 */
-	private Map fLaunchShortcutsByPerspective = null;
-		
-	/**
-	 * Cache of launch configuration tab images with error overlays
-	 */
-	protected ImageRegistry fErrorImages = null;
-		
-	/**
-	 * The name of the file used to persist the launch history.
-	 */
-	private static final String LAUNCH_CONFIGURATION_HISTORY_FILENAME = "launchConfigurationHistory.xml"; //$NON-NLS-1$
-	
-	/**
-	 * The 'HISTORY_' fields are constants that represent node & attribute names used when
-	 * writing out the launch history XML file.
-	 */
-	private static final String HISTORY_ROOT_NODE = "launchHistory"; //$NON-NLS-1$
-	private static final String HISTORY_LAUNCH_NODE = "launch"; //$NON-NLS-1$
-	private static final String HISTORY_LAST_LAUNCH_NODE = "lastLaunch"; //$NON-NLS-1$
-	private static final String HISTORY_MEMENTO_ATT = "memento"; //$NON-NLS-1$
-	private static final String HISTORY_MODE_ATT = "mode"; //$NON-NLS-1$
-	
-	private LaunchConfigurationManager() {		
-		setEmptyLaunchHistories();		
-		fMaxHistorySize = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugUIConstants.PREF_MAX_HISTORY_SIZE);
-		fLastLaunchList = new ArrayList(fMaxHistorySize);
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		launchManager.addLaunchListener(this);	
-		launchManager.addLaunchConfigurationListener(this);
-
-		//update histories for launches already registered
-		ILaunch[] launches= launchManager.getLaunches();
-		for (int i = 0; i < launches.length; i++) {
-			launchAdded(launches[i]);
-		}
-		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		addLaunchHistoryListener(this);
-	}
-
-	protected void setRunHistoryVector(Vector runHistory) {
-		fRunHistory = runHistory;
-	}
-
-	protected Vector getRunHistoryVector() {
-		if (!fHistoryInitialized) {
-			restoreLaunchHistory();
-		}
-		return fRunHistory;
-	}
-
-	protected void setDebugHistoryVector(Vector debugHistory) {
-		fDebugHistory = debugHistory;
-	}
-
-	protected Vector getDebugHistoryVector() {
-		if (!fHistoryInitialized) {
-			restoreLaunchHistory();
-		}
-		return fDebugHistory;
-	}
-	
-	public static LaunchConfigurationManager getDefault() {
-		if (fgLaunchConfigurationManager == null) {
-			fgLaunchConfigurationManager= new LaunchConfigurationManager();
-		}
-		return fgLaunchConfigurationManager;
-	}
-	
-	/**
-	 * Returns whether the singleton instance of the manager exists
-	 */
-	public static boolean defaultExists() {
-		return fgLaunchConfigurationManager != null;
-	}
-	
-	public void shutdown() throws CoreException {
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		launchManager.removeLaunchListener(this);
-		launchManager.removeLaunchConfigurationListener(this);
-		removeLaunchHistoryListener(this);		
-		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-	}
-	
-	/**
-	 * @see ILaunchListener#launchRemoved(ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-	}
-	
-	/**
-	 * @see ILaunchListener#launchChanged(ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {	
-
-	}
-
-	/**
-	 * Must not assume that will only be called from the UI thread.
-	 *
-	 * @see ILaunchListener#launchAdded(ILaunch)
-	 */
-	public void launchAdded(final ILaunch launch) {
-		updateHistories(launch);
-		removeTerminatedLaunches(launch);
-	}
-	
-	protected void removeTerminatedLaunches(ILaunch newLaunch) {
-		if (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_AUTO_REMOVE_OLD_LAUNCHES)) {
-			ILaunchManager lManager= DebugPlugin.getDefault().getLaunchManager();
-			Object[] launches= lManager.getLaunches();
-			for (int i= 0; i < launches.length; i++) {
-				ILaunch launch= (ILaunch)launches[i];
-				if (launch != newLaunch && launch.isTerminated()) {
-					lManager.removeLaunch(launch);
-				}
-			}
-		}
-	}
-	
-	protected void updateFavorites(ILaunchConfiguration config) {
-		try {
-			if (config.getAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, false)) {
-				addDebugFavorite(config);
-				removeLaunchConfigurationFromHistoryList(getDebugHistoryVector(), config);
-			} else {
-				removeDebugFavorite(config);
-			}
-			if (config.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false)) {
-				addRunFavorite(config);
-				removeLaunchConfigurationFromHistoryList(getRunHistoryVector(), config);
-			} else {
-				removeRunFavorite(config);
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}	
-	}
-	
-	/**
-	 * @see ILaunchConfigurationListener#launchConfigurationAdded(ILaunchConfiguration)
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration config) {		
-		updateFavorites(config);
-	}
-	
-	/**
-	 * @see ILaunchConfigurationListener#launchConfigurationChanged(ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration config) {		
-		if (!config.isWorkingCopy()) {
-			updateFavorites(config);
-		}
-	}
-	
-	/**
-	 * If the deleted config appeared in either of the history lists, delete it from the list(s).
-	 * 
-	 * @see ILaunchConfigurationListener#launchConfigurationRemoved(ILaunchConfiguration)
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration config) {
-		boolean modified = removeLaunchConfigurationFromHistoryList(getRunHistoryVector(), config);
-		modified |= removeLaunchConfigurationFromHistoryList(getDebugHistoryVector(), config);
-		modified |= removeLaunchConfigurationFromHistoryList(fDebugFavorites, config);
-		modified |= removeLaunchConfigurationFromHistoryList(fRunFavorites, config);
-		modified |= removeLaunchConfigurationFromHistoryList(fLastLaunchList, config);
-				
-		if (modified) {
-			fireLaunchHistoryChanged();
-		}
-	}
-	
-	/**
-	 * Remove the specified launch configuration from the specified history list.  If the 
-	 * configuration does not appear in the list, this method does nothing.  Return <code>true</code>
-	 * if the configuration was removed, <code>false</code> otherwise.
-	 */
-	protected boolean removeLaunchConfigurationFromHistoryList(List list, ILaunchConfiguration config) {
-		ListIterator iterator = list.listIterator();
-		while (iterator.hasNext()) {
-			LaunchConfigurationHistoryElement element = (LaunchConfigurationHistoryElement) iterator.next();
-			ILaunchConfiguration elementConfig = element.getLaunchConfiguration();
-			if (config.equals(elementConfig)) {
-				iterator.remove();
-				return true;
-			}
-		}
-		return false;
-	}
-		
-	/**
-	 * Returns an array of the most recent debug launches, which can be empty.
-	 *
-	 * @return an array of launches
-	 */	
-	public LaunchConfigurationHistoryElement[] getDebugHistory() {
-		return getHistoryArray(getDebugHistoryVector());
-	}
-	
-	/**
-	 * Returns an array of the favorite debug launches, which can be empty.
-	 *
-	 * @return an array of launches
-	 */	
-	public LaunchConfigurationHistoryElement[] getDebugFavorites() {
-		return getHistoryArray(fDebugFavorites);
-	}
-	
-	/**
-	 * Sets the favorite debug launches, which can be empty.
-	 *
-	 * @param favorites an array of launches
-	 */	
-	public void setDebugFavorites(Vector favorites) {
-		fDebugFavorites = favorites;
-	}	
-	
-	/**
-	 * Sets the recent debug launches, which can be empty.
-	 *
-	 * @param hsitory an array of launches
-	 */	
-	public void setDebugHistory(Vector history) {
-		setDebugHistoryVector(history);
-		fireLaunchHistoryChanged();
-	}	
-	
-	/**
-	 * Sets the recent run launches, which can be empty.
-	 *
-	 * @param hsitory an array of launches
-	 */	
-	public void setRunHistory(Vector history) {
-		setRunHistoryVector(history);
-		fireLaunchHistoryChanged();
-	}			
-	
-	/**
-	 * Sets the favorite run launches, which can be empty.
-	 *
-	 * @param favorites an array of launches
-	 */	
-	public void setRunFavorites(Vector favorites) {
-		fRunFavorites = favorites;
-	}
-		
-	/**
-	 * Returns an array of the most recent run launches, which can be empty.
-	 *
-	 * @return an array of launches
-	 */
-	public LaunchConfigurationHistoryElement[] getRunHistory() {
-		return getHistoryArray(getRunHistoryVector());
-	}
-	
-	/**
-	 * Returns an array of the favorite run launches, which can be empty.
-	 *
-	 * @return an array of launches
-	 */
-	public LaunchConfigurationHistoryElement[] getRunFavorites() {
-		return getHistoryArray(fRunFavorites);
-	}	
-	
-	protected LaunchConfigurationHistoryElement[] getHistoryArray(Vector history) {
-		LaunchConfigurationHistoryElement[] array = new LaunchConfigurationHistoryElement[history.size()];
-		history.copyInto(array);
-		return array;
-	}
-	
-	/**
-	 * Returns the most recent launch, or <code>null</code> if there
-	 * have been no launches.
-	 *	
-	 * @return the last launch, or <code>null</code> if none
-	 */	
-	public LaunchConfigurationHistoryElement getLastLaunch() {
-		if (!fLastLaunchList.isEmpty()) {
-			return (LaunchConfigurationHistoryElement) fLastLaunchList.get(0);
-		}
-		return null;
-	}
-		
-	/**
-	 * Erase both (run & debug) launch histories and the last launched list.
-	 */
-	protected void setEmptyLaunchHistories() {
-		setRunHistoryVector(new Vector(fMaxHistorySize));
-		setDebugHistoryVector(new Vector(fMaxHistorySize));
-		setRunFavorites(new Vector(fMaxHistorySize));
-		setDebugFavorites(new Vector(fMaxHistorySize));
-		fLastLaunchList = new ArrayList(fMaxHistorySize);
-		fireLaunchHistoryChanged();		
-	}
-	
-	/**
-	 * Given a launch, try to add it to both of the run & debug histories.
-	 * If either history was modified, fire a history modified notification.
-	 */
-	protected void updateHistories(ILaunch launch) {
-		boolean modified = updateHistory(ILaunchManager.DEBUG_MODE, getDebugHistoryVector(), fDebugFavorites, launch);
-		modified |= updateHistory(ILaunchManager.RUN_MODE, getRunHistoryVector(), fRunFavorites, launch);
-		if (modified) {
-			fireLaunchHistoryChanged();
-		}
-	}
-
-	/**
-	 * Add the given launch to the specified history if the launcher supports the mode. 
-	 * Return <code>true</code> if the history was modified, <code>false</code> otherwise.
-	 */
-	protected boolean updateHistory(String mode, Vector history, Vector favorites, ILaunch launch) {
-		
-		// First make sure the launch configuration exists, supports the mode of the history list,
-		// and isn't private
-		ILaunchConfiguration launchConfig = launch.getLaunchConfiguration();
-		if (launchConfig == null) {
-			return false;
-		}
-		try {
-			if (!launchConfig.supportsMode(mode) ||
-				 launchConfig.getAttribute(IDebugUIConstants.ATTR_PRIVATE, false)) {
-				return false;
-			}
-		} catch (CoreException ce) {
-			return false;
-		}
-		
-		// Create a new history item
-		LaunchConfigurationHistoryElement item= new LaunchConfigurationHistoryElement(launchConfig, mode);
-		
-		// Update the most recent launch list
-		boolean modified = false;
-		if (launch.getLaunchMode().equals(mode)) {
-			int index = findConfigInHistoryList(fLastLaunchList, launchConfig);
-			if (index > 0) {
-				fLastLaunchList.remove(item);
-			}	
-			if (index != 0) {		
-				fLastLaunchList.add(0, item);
-				modified = true;
-			}
-		}
-		
-		// Look for an equivalent launch in the favorites
-		int index = findConfigInHistoryList(favorites, item.getLaunchConfiguration());
-		if (index >= 0) {
-			// a favorite, do not add to history
-			return modified;
-		}
-		
-		// Look for an equivalent launch in the history list
-		index = findConfigInHistoryList(history, item.getLaunchConfiguration());
-		
-		//It's already listed as the most recent launch, so nothing to do
-		if (index == 0) {
-			return modified;
-		}
-		
-		// Make it the top item in the list, removing it from it's previous location, if there was one
-		if (index > 0) {
-			history.remove(index);
-		} 			
-		history.add(0, item);
-		
-		if (history.size() > fMaxHistorySize) {
-			history.remove(history.size() - 1);
-		}
-
-		return true;	
-	}
-	
-	/**
-	 * Add the specified listener to the list of listeners that will be notified when the
-	 * launch history changes.
-	 */
-	public void addLaunchHistoryListener(ILaunchHistoryChangedListener listener) {
-		if (!fLaunchHistoryChangedListeners.contains(listener)) {
-			fLaunchHistoryChangedListeners.add(listener);
-		}
-	}
-	
-	/**
-	 * Remove the specified listener from the list of listeners that will be notified when the
-	 * launch history changes.
-	 */
-	public void removeLaunchHistoryListener(ILaunchHistoryChangedListener listener) {
-		fLaunchHistoryChangedListeners.remove(listener);
-	}
-	
-	/**
-	 * Notify all launch history listeners that the launch history has changed in some way.
-	 */
-	protected void fireLaunchHistoryChanged() {
-		Iterator iterator = fLaunchHistoryChangedListeners.iterator();
-		while (iterator.hasNext()) {
-			ILaunchHistoryChangedListener listener = (ILaunchHistoryChangedListener) iterator.next();
-			listener.launchHistoryChanged();
-		}
-	}
-	
-	/**
-	 * Returns whether the given config is displayed in the favorites
-	 * menu
-	 * 
-	 * @param config launch configuration
-	 * @return whether the given config is displayed in the favorites
-	 *  menu
-	 */
-	public boolean isDebugFavorite(ILaunchConfiguration config) {
-		return (findConfigInHistoryList(fDebugFavorites, config)) >= 0;
-	}	
-	
-	/**
-	 * Returns whether the given config is displayed in the favorites
-	 * menu
-	 * 
-	 * @param config launch configuration
-	 * @return whether the given config is displayed in the favorites
-	 *  menu
-	 */
-	public boolean isRunFavorite(ILaunchConfiguration config) {
-		return(findConfigInHistoryList(fRunFavorites, config)) >= 0;
-	}	
-	
-	/**
-	 * Adds the given config to the debug favorites. Has no
-	 * effect if already a debug favorite.
-	 * 
-	 * @param config launch configuration
-	 */
-	public void addDebugFavorite(ILaunchConfiguration config) {
-		if (!isDebugFavorite(config)) {
-			LaunchConfigurationHistoryElement hist = new LaunchConfigurationHistoryElement(config, ILaunchManager.DEBUG_MODE);
-			fDebugFavorites.add(hist);
-		}
-	}	
-	
-	/**
-	 * Adds the given config to the run favorites. Has no
-	 * effect if already a run favorite.
-	 * 
-	 * @param config launch configuration
-	 */
-	public void addRunFavorite(ILaunchConfiguration config) {
-		if (!isRunFavorite(config)) {
-			LaunchConfigurationHistoryElement hist = new LaunchConfigurationHistoryElement(config, ILaunchManager.RUN_MODE);
-			fRunFavorites.add(hist);
-		}
-	}	
-	
-	/**
-	 * Removes the given config from the debug favorites. Has no
-	 * effect if not a favorite.
-	 * 
-	 * @param config launch configuration
-	 */
-	public void removeDebugFavorite(ILaunchConfiguration config) {
-		int index = findConfigInHistoryList(fDebugFavorites, config);
-		if (index >= 0) {
-			fDebugFavorites.remove(index);
-		}
-	}	
-	
-	/**
-	 * Adds the given config to the run favorites. Has no
-	 * effect if already a run favorite.
-	 * 
-	 * @param config launch configuration
-	 */
-	public void removeRunFavorite(ILaunchConfiguration config) {
-		int index = findConfigInHistoryList(fRunFavorites, config);
-		if (index >= 0) {
-			fRunFavorites.remove(index);
-		}
-	}
-	
-	/**
-	 * Find the specified history element in the specified list and return the index at which
-	 * it was found.  Return -1 if the element wasn't found in the list.
-	 */
-	protected int findConfigInHistoryList(List list, ILaunchConfiguration config) {
-		for (int i = 0; i < list.size(); i++) {
-			LaunchConfigurationHistoryElement historyElement = (LaunchConfigurationHistoryElement) list.get(i);
-			if (historyElement != null) {
-				ILaunchConfiguration historyConfig = historyElement.getLaunchConfiguration();
-				if ((historyConfig != null) && historyConfig.equals(config)) {
-					return i;
-				}
-			}
-		}
-		
-		// Element wasn't in list
-		return -1;
-	}
-	
-	/**
-	 * Find the specified history element in the history list for the mode that is not the one
-	 * specified.  For example, if mode is 'debug', the 'run' list is searched.
-	 */
-	protected int findConfigInOtherHistoryList(String mode, ILaunchConfiguration config) {
-		Vector historyList = getOtherHistoryList(mode);
-		return findConfigInHistoryList(historyList, config);
-	}
-	
-	/**
-	 * Return the 'other' history list from the mode specified.  For example, if
-	 * mode is 'debug', return the 'run' history list.
-	 */
-	protected Vector getOtherHistoryList(String mode) {
-		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-			return getRunHistoryVector();
-		} else {
-			return getDebugHistoryVector();
-		}
-	}
-	
-	protected String getHistoryAsXML() throws IOException, CoreException {
-		org.w3c.dom.Document doc = new DocumentImpl();
-		Element historyRootElement = doc.createElement(HISTORY_ROOT_NODE); 
-		doc.appendChild(historyRootElement);
-		
-		List all = new ArrayList(getDebugHistoryVector().size() + fDebugFavorites.size() + getRunHistoryVector().size() + fRunFavorites.size());
-		all.addAll(fDebugFavorites);
-		all.addAll(fRunFavorites);
-		all.addAll(getDebugHistoryVector());
-		all.addAll(getRunHistoryVector());
-		
-
-		Iterator iter = all.iterator();
-		while (iter.hasNext()) {
-			Element historyElement = getHistoryEntryAsXMLElement(doc, (LaunchConfigurationHistoryElement)iter.next());
-			if (historyElement != null) {
-				historyRootElement.appendChild(historyElement);
-			}
-		}
-		if (!fLastLaunchList.isEmpty()) {
-			Element recent = getRecentLaunchAsXMLElement(doc, (LaunchConfigurationHistoryElement) fLastLaunchList.get(0));
-			if (recent != null) {
-				historyRootElement.appendChild(recent);
-			}
-		}
-
-		return DebugUIPlugin.serializeDocument(doc);
-	}
-	
-	protected Element getHistoryEntryAsXMLElement(org.w3c.dom.Document doc, LaunchConfigurationHistoryElement element) throws CoreException {
-		Element entry = doc.createElement(HISTORY_LAUNCH_NODE); 
-		return setAttributes(entry, element);
-	}
-	
-	protected Element getRecentLaunchAsXMLElement(org.w3c.dom.Document doc, LaunchConfigurationHistoryElement element) throws CoreException {
-		Element entry = doc.createElement(HISTORY_LAST_LAUNCH_NODE); 
-		return setAttributes(entry, element);
-	}
-	
-	protected Element setAttributes(Element entry, LaunchConfigurationHistoryElement element) throws CoreException {
-		if (element == null) {
-			return null;
-		}
-		ILaunchConfiguration config = element.getLaunchConfiguration();
-		if (config instanceof ILaunchConfigurationWorkingCopy) {
-			config = ((ILaunchConfigurationWorkingCopy)config).getOriginal();
-		}
-		if (config == null) {
-			return null;
-		}		
-		String memento = config.getMemento();
-		entry.setAttribute(HISTORY_MEMENTO_ATT, memento); 
-		entry.setAttribute(HISTORY_MODE_ATT, element.getMode());			 
-		return entry;
-	}
-				
-	protected IPath getHistoryFilePath() {
-		return DebugUIPlugin.getDefault().getStateLocation().append(LAUNCH_CONFIGURATION_HISTORY_FILENAME); 
-	}
-
-	/**
-	 * Write out an XML file indicating the entries on the run & debug history lists and
-	 * the most recent launch.
-	 */
-	protected void persistLaunchHistory() throws IOException, CoreException {
-		IPath historyPath = getHistoryFilePath();
-		String osHistoryPath = historyPath.toOSString();
-		String xml = getHistoryAsXML();
-		File file = new File(osHistoryPath);
-		file.createNewFile();
-		
-		FileOutputStream stream = new FileOutputStream(file);
-		stream.write(xml.getBytes("UTF8")); //$NON-NLS-1$
-		stream.close();
-	}
-	
-	/**
-	 * Find the XML history file and parse it.  Place the corresponding history elements
-	 * in the appropriate history lists, and set the most recent launch.
-	 */
-	protected void restoreLaunchHistory() {
-		fHistoryInitialized= true;
-		// Find the history file
-		IPath historyPath = getHistoryFilePath();
-		String osHistoryPath = historyPath.toOSString();
-		File file = new File(osHistoryPath);
-		
-		// If no history file, nothing to do
-		if (!file.exists()) {
-			return;
-		}
-		FileInputStream stream= null;
-		Element rootHistoryElement= null;
-		try {
-			// Parse the history file
-			stream = new FileInputStream(file);
-			rootHistoryElement = null;
-			try {
-				DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-				rootHistoryElement = parser.parse(new InputSource(stream)).getDocumentElement();
-			} catch (SAXException e) {
-				DebugUIPlugin.log(e);
-				return;
-			} catch (ParserConfigurationException e) {
-				DebugUIPlugin.log(e);
-				return;
-			} finally {
-				stream.close();
-			}
-		} catch (IOException exception) {
-			DebugUIPlugin.log(exception);
-			return;
-		}
-		
-		// If root node isn't what we expect, return
-		if (!rootHistoryElement.getNodeName().equalsIgnoreCase(HISTORY_ROOT_NODE)) { 
-			return;
-		}
-
-		// For each child of the root node, construct a history element wrapper and add it to
-		// the appropriate history list, or set the most recent launch
-		NodeList list = rootHistoryElement.getChildNodes();
-		int length = list.getLength();
-		for (int i = 0; i < length; ++i) {
-			Node node = list.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element entry = (Element) node;
-				if (entry.getNodeName().equalsIgnoreCase(HISTORY_LAUNCH_NODE)) { 
-					LaunchConfigurationHistoryElement item = createHistoryElement(entry);
-					if (item != null) {
-						if (item.isFavorite()) {
-							if (item.getMode().equals(ILaunchManager.DEBUG_MODE)) {
-								fDebugFavorites.add(item);
-							} else {
-								fRunFavorites.add(item);
-							}							
-						} else {
-							if (item.getMode().equals(ILaunchManager.DEBUG_MODE)) {
-								getDebugHistoryVector().add(item);
-							} else {
-								getRunHistoryVector().add(item);
-							}
-						}
-					}
-				} else if (entry.getNodeName().equalsIgnoreCase(HISTORY_LAST_LAUNCH_NODE)) { 
-					fLastLaunchList.add(0, createHistoryElement(entry));
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Construct & return a <code>LaunchConfigurationHistoryElement</code> corresponding to
-	 * the specified XML element.
-	 */
-	protected LaunchConfigurationHistoryElement createHistoryElement(Element entry) {
-		String memento = entry.getAttribute(HISTORY_MEMENTO_ATT); 
-		String mode = entry.getAttribute(HISTORY_MODE_ATT);       
-		LaunchConfigurationHistoryElement hist = null;
-		try {
-			ILaunchConfiguration launchConfig = DebugPlugin.getDefault().getLaunchManager().getLaunchConfiguration(memento);
-			if (launchConfig.exists()) {
-				hist = new LaunchConfigurationHistoryElement(launchConfig, mode);
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}	
-		return hist;
-	}
-	
-	/**
-	 * Load all registered extensions of the 'launch shortcut' extension point.
-	 */
-	private void loadLaunchShortcuts() {
-		// Get the configuration elements
-		IPluginDescriptor descriptor= DebugUIPlugin.getDefault().getDescriptor();
-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(IDebugUIConstants.EXTENSION_POINT_LAUNCH_SHORTCUTS);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-
-		// Load the configuration elements into a Map 
-		fLaunchShortcuts = new ArrayList(infos.length);
-		for (int i = 0; i < infos.length; i++) {
-			LaunchShortcutExtension ext = new LaunchShortcutExtension(infos[i]);
-			fLaunchShortcuts.add(ext);
-		}
-	}
-	
-	
-	/**
-	 * Returns all launch shortcuts
-	 * 
-	 * @return all launch shortcuts
-	 */
-	public List getLaunchShortcuts() {
-		if (fLaunchShortcuts == null) {
-			loadLaunchShortcuts();
-		}
-		return fLaunchShortcuts;
-	}
-	
-	/**
-	 * Returns all launch shortcuts defined for the given perspective,
-	 * or <code>null</code> if none
-	 * 
-	 * @param perpsective perspective identifier
-	 * @return all launch shortcuts defined for the given perspective,
-	 * or <code>null</code> if none
-	 */
-	public List getLaunchShortcuts(String perpsective) {
-		if (fLaunchShortcutsByPerspective == null) {
-			Iterator shortcuts = getLaunchShortcuts().iterator();
-			fLaunchShortcutsByPerspective = new HashMap(10);
-			while (shortcuts.hasNext()) {
-				LaunchShortcutExtension ext = (LaunchShortcutExtension)shortcuts.next();
-				Iterator perspectives = ext.getPerspectives().iterator();
-				while (perspectives.hasNext()) {
-					String id = (String)perspectives.next();
-					List list = (List)fLaunchShortcutsByPerspective.get(id);
-					if (list == null) {
-						list = new ArrayList(4);
-						fLaunchShortcutsByPerspective.put(id, list);
-					}
-					list.add(ext);
-				}
-			}	
-			// sort the lists
-			Iterator perspectives = fLaunchShortcutsByPerspective.keySet().iterator();		
-			while (perspectives.hasNext()) {
-				String id = (String)perspectives.next();
-				List list = (List)fLaunchShortcutsByPerspective.get(id);
-				Collections.sort(list, new ShortcutComparator());
-			}
-		}
-		return (List)fLaunchShortcutsByPerspective.get(perpsective);
-
-	}
-	
-	/**
-	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(IDebugUIConstants.PREF_MAX_HISTORY_SIZE)) {
-			IPreferenceStore prefs = DebugUIPlugin.getDefault().getPreferenceStore();
-			int newValue = prefs.getInt(IDebugUIConstants.PREF_MAX_HISTORY_SIZE);
-			if (fMaxHistorySize != newValue) {
-				shortenHistoryLists(newValue);
-				fMaxHistorySize = newValue;
-				fireLaunchHistoryChanged();
-			}
-		}
-	}
-	
-	/**
-	 * Adjust the lengths of the history lists, throwing away any entries that are past the new end
-	 * of the lists. 
-	 */
-	protected void shortenHistoryLists(int newLength) {		
-		if (newLength < getRunHistoryVector().size()) {
-			setRunHistoryVector(new Vector(getRunHistoryVector().subList(0, newLength)));
-		}
-		if (newLength < getDebugHistoryVector().size()) {
-			setDebugHistoryVector(new Vector(getDebugHistoryVector().subList(0, newLength)));
-		}
-		if (newLength < fLastLaunchList.size()) {
-			fLastLaunchList = new ArrayList(fLastLaunchList.subList(0, newLength));		
-		}
-	}
-
-	/**
-	 * @see ILaunchHistoryChangedListener#launchHistoryChanged()
-	 */
-	public void launchHistoryChanged() {
-		try {
-			persistLaunchHistory();
-		} catch (IOException e) {
-			DebugUIPlugin.log(e);
-		} catch (CoreException ce) {
-			DebugUIPlugin.log(ce);			
-		}		
-	}
-	
-	/**
-	 * Returns the image used to display an error in the given tab
-	 */
-	public Image getErrorTabImage(ILaunchConfigurationTab tab) {
-		if (fErrorImages == null) {
-			fErrorImages = new ImageRegistry();
-		}
-		String key = tab.getClass().getName();
-		Image image = fErrorImages.get(key);
-		if (image == null) {
-			// create image
-			Image base = tab.getImage();
-			if (base == null) {
-				base = DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OVR_TRANSPARENT);
-			}
-			base = new Image(Display.getCurrent(), base, SWT.IMAGE_COPY);
-			LaunchConfigurationTabImageDescriptor desc = new LaunchConfigurationTabImageDescriptor(base, LaunchConfigurationTabImageDescriptor.ERROR);
-			image = desc.createImage();
-			fErrorImages.put(key, image);
-		}
-		return image;
-	}
-
-}
-
-class ShortcutComparator implements Comparator {
-	/**
-	 * @see Comparator#compare(Object, Object)
-	 */
-	public int compare(Object a, Object b) {
-		String labelA = ((LaunchShortcutExtension)a).getLabel();
-		String labelB = ((LaunchShortcutExtension)b).getLabel();
-		
-		// null labels sort last (i.e. highest)
-		if (labelA == labelB) {
-			return 0;
-		}
-		if (labelA == null) {
-			return 1;
-		}
-		if (labelB == null) {
-			return -1;
-		}
-		
-		return labelA.compareToIgnoreCase(labelB);
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
deleted file mode 100644
index 4331197..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.eclipse.debug.internal.ui.launchConfigurations;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.text.MessageFormat;

-import java.util.Hashtable;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.core.runtime.IExtension;

-import org.eclipse.core.runtime.IExtensionPoint;

-import org.eclipse.core.runtime.IPluginDescriptor;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunchConfigurationType;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.ui.IDebugUIConstants;

-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;

-

-/**

- * Manages contributed launch configuration tabs

- */ 

-public class LaunchConfigurationPresentationManager {

-	

-	/**

-	 * The singleton launch configuration presentation manager

-	 */

-	private static LaunchConfigurationPresentationManager fgDefault;

-			

-	/**

-	 * Collection of launch configuration tab group extensions

-	 * defined in plug-in xml. Entries are keyed by launch

-	 * configuration type identifier (<code>String</code>),

-	 * and entires are <code>LaunchConfigurationTabGroupExtension</code>.

-	 */

-	private Hashtable fTabGroupExtensions;	

-		

-	/**

-	 * Constructs the singleton launch configuration presentation

-	 * manager.

-	 */

-	private LaunchConfigurationPresentationManager() {

-		fgDefault = this;

-		initializeTabGroupExtensions();

-	}

-

-	/**

-	 * Returns the launch configuration presentation manager

-	 */

-	public static LaunchConfigurationPresentationManager getDefault() {

-		if (fgDefault == null) {

-			fgDefault = new LaunchConfigurationPresentationManager();

-		}

-		return fgDefault;

-	}

-		

-	/**

-	 * Creates launch configuration tab group extensions for each extension

-	 * defined in XML, and adds them to the table of tab group extensions.

-	 */

-	private void initializeTabGroupExtensions() {

-		fTabGroupExtensions = new Hashtable();

-		IPluginDescriptor descriptor= DebugUIPlugin.getDefault().getDescriptor();

-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(IDebugUIConstants.EXTENSION_POINT_LAUNCH_CONFIGURATION_TAB_GROUPS);

-		IConfigurationElement[] groups = extensionPoint.getConfigurationElements();

-		for (int i = 0; i < groups.length; i++) {

-			LaunchConfigurationTabGroupExtension group = new LaunchConfigurationTabGroupExtension(groups[i]);

-			String typeId = group.getTypeIdentifier();

-			if (typeId == null) {

-				IExtension ext = groups[i].getDeclaringExtension();

-				IStatus status = new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.STATUS_INVALID_EXTENSION_DEFINITION,

-					 MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationPresentationManager.Launch_configuration_tab_group_extension_{0}_does_not_specify_launch_configuration_type_1"), (new String[] {ext.getUniqueIdentifier()})), null); //$NON-NLS-1$

-					DebugUIPlugin.log(status);

-			} else {

-				// verify it references a valid launch configuration type

-				ILaunchConfigurationType lct = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(typeId);

-				if (lct == null) {

-					IExtension ext = groups[i].getDeclaringExtension();

-					IStatus status = new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.STATUS_INVALID_EXTENSION_DEFINITION,

-					 MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationPresentationManager.Launch_configuration_tab_group_extension_{0}_refers_to_non-existant_launch_configuration_type_{1}_2"), (new String[] {ext.getUniqueIdentifier(), typeId})), null); //$NON-NLS-1$

-					DebugUIPlugin.log(status);

-				}

-			}

-			if (typeId != null) {

-				fTabGroupExtensions.put(typeId, group);

-			}

-		}

-	}	

-	

-	/**

-	 * Returns the tab group for the given type of launch configuration.

-	 * 

-	 * @return the tab group for the given type of launch configuration

-	 * @exception CoreException if an exception occurrs creating the group

-	 */

-	public ILaunchConfigurationTabGroup getTabGroup(ILaunchConfigurationType type) throws CoreException {

-		LaunchConfigurationTabGroupExtension ext = (LaunchConfigurationTabGroupExtension)fTabGroupExtensions.get(type.getIdentifier());

-		if (ext == null) {

-			IStatus status = new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR,

-			 MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationPresentationManager.No_tab_group_defined_for_launch_configuration_type_{0}_3"), (new String[] {type.getIdentifier()})), null);			; //$NON-NLS-1$

-			 throw new CoreException(status);

-		} else {

-			return ext.newTabGroup();

-		}

-		

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
deleted file mode 100644
index 3dda3b9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
-
-
-/**
- * Proxy to a launch configuration tab group element
- */
-public class LaunchConfigurationTabGroupExtension {
-	
-	/**
-	 * The configuration element defining this tab group.
-	 */
-	private IConfigurationElement fConfig;
-	
-	/**
-	 * Constructs a launch configuration tab extension based
-	 * on the given configuration element
-	 * 
-	 * @param element the configuration element defining the
-	 *  attribtues of this launch configuration tab extension
-	 * @return a new launch configuration tab extension
-	 */
-	public LaunchConfigurationTabGroupExtension(IConfigurationElement element) {
-		setConfigurationElement(element);
-	}
-	
-	/**
-	 * Sets the configuration element that defines the attributes
-	 * for this launch configuration tab group extension.
-	 * 
-	 * @param element configuration element
-	 */
-	private void setConfigurationElement(IConfigurationElement element) {
-		fConfig = element;
-	}
-	
-	/**
-	 * Returns the configuration element that defines the attributes
-	 * for this launch configuration tab group extension.
-	 * 
-	 * @param configuration element that defines the attributes
-	 *  for this launch configuration tab extension
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fConfig;
-	}
-	
-	/**
-	 * Returns the type of launch configuration this tab group is associated with
-	 * 
-	 * @return the type of launch configuration this tab group is associated with
-	 */
-	public ILaunchConfigurationType getType() {
-		return DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(getTypeIdentifier());
-	}
-	
-	/**
-	 * Returns the identifier of the type of launch configuration this
-	 * tab group is associated with
-	 * 
-	 * @return the identifier of the type of launch configuration this
-	 *  tab group is associated with
-	 */	
-	protected String getTypeIdentifier() {
-		return getConfigurationElement().getAttribute("type"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns a new tab group defined by this extension
-	 * 
-	 * @return a new tab group defined by this extension
-	 * @exception CoreException if an exception occurrs instantiating
-	 * 	the tab group
-	 */
-	public ILaunchConfigurationTabGroup newTabGroup() throws CoreException {
-		return (ILaunchConfigurationTabGroup)getConfigurationElement().createExecutableExtension("class"); //$NON-NLS-1$
-	}
-
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java
deleted file mode 100644
index f5c932e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * A JDIImageDescriptor consists of a main icon and several adornments. The adornments
- * are computed according to flags set on creation of the descriptor.
- */
-public class LaunchConfigurationTabImageDescriptor extends CompositeImageDescriptor {
-	
-	/** Flag to render the error adornment */
-	public final static int ERROR= 		0x001;
-
-	private Image fBaseImage;
-	private int fFlags;
-	private Point fSize;
-	
-	/**
-	 * Create a new JDIImageDescriptor.
-	 * 
-	 * @param baseImage an image descriptor used as the base image
-	 * @param flags flags indicating which adornments are to be rendered
-	 * 
-	 */
-	public LaunchConfigurationTabImageDescriptor(Image baseImage, int flags) {
-		setBaseImage(baseImage);
-		setFlags(flags);
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#getSize()
-	 */
-	protected Point getSize() {
-		if (fSize == null) {
-			ImageData data= getBaseImage().getImageData();
-			setSize(new Point(data.width, data.height));
-		}
-		return fSize;
-	}
-	
-	/**
-	 * @see Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof LaunchConfigurationTabImageDescriptor)){
-			return false;
-		}
-			
-		LaunchConfigurationTabImageDescriptor other= (LaunchConfigurationTabImageDescriptor)object;
-		return (getBaseImage().equals(other.getBaseImage()) && getFlags() == other.getFlags());
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getBaseImage().hashCode() | getFlags();
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#drawCompositeImage(int, int)
-	 */
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg= getBaseImage().getImageData();
-		if (bg == null) {
-			bg= DEFAULT_IMAGE_DATA;
-		}
-		drawImage(bg, 0, 0);
-		drawOverlays();
-	}
-
-	/**
-	 * Add any overlays to the image as specified in the flags.
-	 */
-	protected void drawOverlays() {
-		int flags= getFlags();
-		ImageData data= null;
-		if ((flags & ERROR) != 0) {
-			data= DebugUITools.getImage(IDebugUIConstants.IMG_OVR_ERROR).getImageData();
-			drawImage(data, 0, 0);
-		}
-	}
-	
-	protected Image getBaseImage() {
-		return fBaseImage;
-	}
-
-	protected void setBaseImage(Image baseImage) {
-		fBaseImage = baseImage;
-	}
-
-	protected int getFlags() {
-		return fFlags;
-	}
-
-	protected void setFlags(int flags) {
-		fFlags = flags;
-	}
-
-	protected void setSize(Point size) {
-		fSize = size;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java
deleted file mode 100644
index a665e39..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.debug.internal.ui.launchConfigurations;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-public class LaunchConfigurationsMessages {

-

-	private static final String BUNDLE_NAME =

-		"org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsMessages";	//$NON-NLS-1$

-

-	private static final ResourceBundle RESOURCE_BUNDLE =

-		ResourceBundle.getBundle(BUNDLE_NAME);

-

-	private LaunchConfigurationsMessages() {

-	}

-

-	public static String getString(String key) {

-		try {

-			return RESOURCE_BUNDLE.getString(key);

-		} catch (MissingResourceException e) {

-			return '!' + key + '!';

-		}

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties
deleted file mode 100644
index a48bbfd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties
+++ /dev/null
@@ -1,87 +0,0 @@
-######################################################################

-# Copyright (c) 2000, 2002 IBM Corp. and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Common Public License v0.5

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/cpl-v05.html

-#

-# Contributors:

-#    IBM Corporation - Initial implementation

-######################################################################

-

-CommonTab.&Browse_6=&Browse...

-CommonTab.&Common_15=&Common

-CommonTab.&Run_11=&Run

-CommonTab.Debu&g_12=Debu&g

-CommonTab.Debug_mode_9=D&ebug mode

-CommonTab.Display_in_favorites_menu__10=Display in favorites menu:

-CommonTab.Invalid_shared_configuration_location_14=Invalid shared configuration location

-CommonTab.L&ocal_3=L&ocal

-CommonTab.Location_of_shared_confi&guration__5=&Location of shared configuration:

-CommonTab.Run_mode_8=Run mo&de

-CommonTab.S&hared_4=S&hared

-CommonTab.Select_a_location_for_the_launch_configuration_13=Select a location for the launch configuration

-CommonTab.Switch_to/Open_perspective_when_launched_in__7=Perspective to switch to or open when launched in:

-CommonTab.Type_of_launch_configuration__2=Type of launch configuration:

-CommonTab.None=None

-CommonTab.Default=Default

-

-LaunchConfigurationDialog.&Apply_17=Appl&y

-LaunchConfigurationDialog.&Name__16=&Name:

-LaunchConfigurationDialog.__has_unsaved_changes.__Do_you_wish_to_save_them__30=" has unsaved changes.  Do you wish to save them?

-LaunchConfigurationDialog.__has_unsaved_changes_that_CANNOT_be_saved_because_of_the_following_error_36=" has unsaved changes that CANNOT be saved because of the following error:\n

-LaunchConfigurationDialog.An_exception_occurred_while_retrieving_launch_configurations_20=An exception occurred while retrieving launch configurations

-LaunchConfigurationDialog.Cancel_34=Cancel

-LaunchConfigurationDialog.Create,_manage,_and_run_launch_configurations_8=Create, manage, and run launch configurations

-LaunchConfigurationDialog.Deb&ug_4=Deb&ug

-LaunchConfigurationDialog.Dele&te_14=Dele&te

-LaunchConfigurationDialog.Discard_changes__38=Discard changes?

-LaunchConfigurationDialog.Do_you_wish_to_discard_changes_37=\nDo you wish to discard changes?\n

-LaunchConfigurationDialog.Error_19=Error

-LaunchConfigurationDialog.Exception_creating_new_launch_configuration_45=Exception creating new launch configuration

-LaunchConfigurationDialog.Exception_occurred_creating_launch_configuration_tabs_27=Exception occurred creating launch configuration tabs

-LaunchConfigurationDialog.Exception_occurred_processing_launch_configuration._See_log_for_more_information_7=Exception occurred processing launch configuration. See log for more information

-LaunchConfigurationDialog.Exception_occurred_setting_launch_configuration_24=Exception occurred setting launch configuration

-LaunchConfigurationDialog.Exception_occurred_while_launching_50=Exception occurred while launching

-LaunchConfigurationDialog.Exception_occurred_while_launching_configuration._See_log_for_more_information_49=Exception occurred while launching configuration. See log for more information

-LaunchConfigurationDialog.Exception_occurred_while_saving_launch_configuration_47=Exception occurred while saving launch configuration

-LaunchConfigurationDialog.Launch_configuration_already_exists_with_this_name_12=Launch configuration already exists with this name

-LaunchConfigurationDialog.Launch_Configuration_Error_46=Launch Configuration Error

-LaunchConfigurationDialog.Launch_Configuration_Error_6=Launch Configuration Error

-LaunchConfigurationDialog.Launch_Configurations_18=Launch Configurations

-LaunchConfigurationDialog.Name_required_for_launch_configuration_11=Name required for launch configuration

-LaunchConfigurationDialog.Ne&w_13=Ne&w

-LaunchConfigurationDialog.New_configuration_1=New_configuration

-LaunchConfigurationDialog.No_33=No

-LaunchConfigurationDialog.No_tabs_found_41=No tabs found

-LaunchConfigurationDialog.R&un_5=R&un

-LaunchConfigurationDialog.Ready_to_launch_2=Ready to launch

-LaunchConfigurationDialog.Save_changes__31=Save changes?

-LaunchConfigurationDialog.Select_a_configuration_to_launch_or_a_config_type_to_create_a_new_configuration_3=Select a configuration to launch or a config type to create a new configuration

-LaunchConfigurationDialog.Select_a_type_of_configuration_to_create,_and_press___new__51=Select a type of configuration to create, and press the \'New' button

-LaunchConfigurationDialog.The_configuration___29=The configuration "

-LaunchConfigurationDialog.The_configuration___35=The configuration "

-LaunchConfigurationDialog.unspecified_28=unspecified

-LaunchConfigurationDialog.Yes_32=Yes

-LaunchConfigurationDialog.Do_you_wish_to_delete_the_selected_launch_configurations__1=Do you wish to delete the selected launch configurations?

-LaunchConfigurationDialog.Do_you_wish_to_delete_the_selected_launch_configuration__2=Do you wish to delete the selected launch configuration?

-LaunchConfigurationDialog.Confirm_Launch_Configuration_Deletion_3=Confirm Launch Configuration Deletion

-LaunchConfigurationDialog.Close_1=Close

-LaunchConfigurationDialog.Revert_2=Re&vert

-LaunchConfigurationDialog.Cancel_3=Cance&l

-LaunchConfigurationDialog.Cannot_relaunch_1=Cannot relaunch

-LaunchConfigurationDialog.Cannot_relaunch_[{1}]_because_it_does_not_support_{2}_mode_2=Cannot relaunch [{0}] because it does not support {1} mode

-LaunchConfigurationDialog.Duplicate_1=&Duplicate

-LaunchConfigurationDialog.Launch_Con&figurations__1=Launch Con&figurations:

-

-LaunchConfigurationPresentationManager.Launch_configuration_tab_group_extension_{0}_does_not_specify_launch_configuration_type_1=Launch configuration tab group extension {0} does not specify launch configuration type

-LaunchConfigurationPresentationManager.Launch_configuration_tab_group_extension_{0}_refers_to_non-existant_launch_configuration_type_{1}_2=Launch configuration tab group extension {0} refers to non-existent launch configuration type {1}

-LaunchConfigurationPresentationManager.No_tab_group_defined_for_launch_configuration_type_{0}_3=No tab group defined for launch configuration type {0}

-

-PerspectiveManager.Error_1=Error

-PerspectiveManager.Unable_to_switch_perpsectives_as_specified_by_launch__{0}_4=Unable to switch perspectives as specified by launch: {0}

-PerspectiveManager.Unable_to_switch_to_perspective__{0}_2=Unable to switch to perspective: {0}

-LaunchShortcutExtension.Error_4=Error

-LaunchShortcutExtension.Unable_to_use_launch_shortcut_5=Unable to use launch shortcut

-CommonTab.Cannot_save_launch_configuration_in_a_closed_project._1=Cannot save launch configuration in a closed project.

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
deleted file mode 100644
index a52b09a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.ILaunchShortcut;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorPart;
-
-
-/**
- * Proxy to a launch shortcut extention
- */
-public class LaunchShortcutExtension implements ILaunchShortcut {
-	
-	private ImageDescriptor fImageDescriptor = null;
-	private List fPerspectives = null;
-	private ILaunchShortcut fDelegate = null;
-	private Set fModes = null;
-	
-	/**
-	 * The configuration element defining this tab.
-	 */
-	private IConfigurationElement fConfig;
-	
-	/**
-	 * Constructs a launch configuration tab extension based
-	 * on the given configuration element
-	 * 
-	 * @param element the configuration element defining the
-	 *  attribtues of this launch configuration tab extension
-	 * @return a new launch configuration tab extension
-	 */
-	public LaunchShortcutExtension(IConfigurationElement element) {
-		setConfigurationElement(element);
-	}
-	
-	/**
-	 * Sets the configuration element that defines the attributes
-	 * for this extension.
-	 * 
-	 * @param element configuration element
-	 */
-	private void setConfigurationElement(IConfigurationElement element) {
-		fConfig = element;
-	}
-	
-	/**
-	 * Returns the configuration element that defines the attributes
-	 * for this extension.
-	 * 
-	 * @param configuration element that defines the attributes
-	 *  for this launch configuration tab extension
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fConfig;
-	}
-	
-	/**
-	 * Returns the label of this shortcut
-	 * 
-	 * @return the label of this shortcut, or <code>null</code> if not
-	 *  specified
-	 */
-	public String getLabel() {
-		return getConfigurationElement().getAttribute("label"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the path of the icon for this shortcut, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the path of the icon for this shortcut, or <code>null</code>
-	 * if none
-	 */
-	protected String getIconPath() {
-		return getConfigurationElement().getAttribute("icon"); //$NON-NLS-1$
-	}	
-	
-	/**
-	 * Returns the image for this shortcut, or <code>null</code> if none
-	 * 
-	 * @return the image for this shortcut, or <code>null</code> if none
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		if (fImageDescriptor == null) {
-			URL iconURL = getConfigurationElement().getDeclaringExtension().getDeclaringPluginDescriptor().getInstallURL();
-			String iconPath = getIconPath();
-			try {
-				iconURL = new URL(iconURL, iconPath);
-				fImageDescriptor = ImageDescriptor.createFromURL(iconURL);
-			} catch (MalformedURLException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		return fImageDescriptor;
-	}
-	
-	/**
-	 * Returns the perspectives this shortcut is registered for.
-	 * 
-	 * @return list of Strings representing perspective identifiers 
-	 */
-	public List getPerspectives() {
-		if (fPerspectives == null) {
-			IConfigurationElement[] perspectives = getConfigurationElement().getChildren("perspective"); //$NON-NLS-1$
-			fPerspectives = new ArrayList(perspectives.length);
-			for (int i = 0; i < perspectives.length; i++) {
-				fPerspectives.add(perspectives[i].getAttribute("id")); //$NON-NLS-1$
-			}
-		}
-		return fPerspectives;
-	}
-	
-	/**
-	 * Returns this shortcut's delegate, or <code>null</code> if none
-	 * 
-	 * @return this shortcut's delegate, or <code>null</code> if none
-	 */
-	protected ILaunchShortcut getDelegate() {
-		if (fDelegate == null) {
-			try {
-				fDelegate = (ILaunchShortcut)fConfig.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), LaunchConfigurationsMessages.getString("LaunchShortcutExtension.Error_4"), LaunchConfigurationsMessages.getString("LaunchShortcutExtension.Unable_to_use_launch_shortcut_5"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return fDelegate;
-	}
-	
-	/**
-	 * @see ILaunchShortcut#launch(IEditorPart, String)
-	 */
-	public void launch(IEditorPart editor, String mode) {
-		ILaunchShortcut shortcut = getDelegate();
-		if (shortcut != null) {
-			shortcut.launch(editor, mode);
-		}
-	}
-
-	/**
-	 * @see ILaunchShortcut#launch(ISelection, String)
-	 */
-	public void launch(ISelection selection, String mode) {
-		ILaunchShortcut shortcut = getDelegate();
-		if (shortcut != null) {
-			shortcut.launch(selection, mode);
-		}		
-	}
-	
-	/**
-	 * Returns the set of modes this shortcut supports.
-	 * 
-	 * @return the set of modes this shortcut supports
-	 */
-	public Set getModes() {
-		if (fModes == null) {
-			String modes= getConfigurationElement().getAttribute("modes"); //$NON-NLS-1$
-			if (modes == null) {
-				return new HashSet(0);
-			}
-			StringTokenizer tokenizer= new StringTokenizer(modes, ","); //$NON-NLS-1$
-			fModes = new HashSet(tokenizer.countTokens());
-			while (tokenizer.hasMoreTokens()) {
-				fModes.add(tokenizer.nextToken().trim());
-			}
-		}
-		return fModes;
-	}	
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
deleted file mode 100644
index abd211f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package org.eclipse.debug.internal.ui.launchConfigurations;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.text.MessageFormat;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.debug.core.DebugEvent;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.IDebugEventSetListener;

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.core.ILaunchListener;

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.core.model.IDebugElement;

-import org.eclipse.debug.core.model.IProcess;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.ui.IDebugUIConstants;

-import org.eclipse.swt.widgets.Display;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.ui.IViewPart;

-import org.eclipse.ui.IWorkbenchPage;

-import org.eclipse.ui.IWorkbenchWindow;

-import org.eclipse.ui.WorkbenchException;

-

-/**

- * The perspective manager manages the 'perspective' settings

- * defined by launch configurations. Specifically it: <ul>

- * <li>changes perspectives as launches are registered</li>

- * <li>change perspective when a thread suspends</li>

- * </ul>

- * 

- * @see IDebugUIContants.ATTR_RUN_PERSPECTIVE

- * @see IDebugUIContants.ATTR_DEBUG_PERSPECTIVE

- */

-public class PerspectiveManager implements ILaunchListener, IDebugEventSetListener {

-	

-	/**

-	 * Singleton perspective manager

-	 */

-	private static PerspectiveManager fgManager;

-	

-	/**

-	 * Constructs the perspective manager

-	 */

-	private PerspectiveManager() {

-	}

-	

-	/**

-	 * Returns the perspective manager

-	 */

-	public static PerspectiveManager getDefault() {

-		if (fgManager == null) {

-			fgManager = new PerspectiveManager();

-		}

-		return fgManager;

-	}

-	

-	/**

-	 * Called by the debug ui plug-in on startup.

-	 * The perspective manager starts listening for

-	 * launches to be registered.

-	 */

-	public void startup() {

-		DebugPlugin plugin = DebugPlugin.getDefault();

-		plugin.getLaunchManager().addLaunchListener(this);

-		plugin.addDebugEventListener(this);

-	}

-

-	/**

-	 * Called by the debug ui plug-in on shutdown.

-	 * The perspective manager de-registers as a 

-	 * launch listener.

-	 */

-	public void shutdown() {

-		DebugPlugin plugin = DebugPlugin.getDefault();

-		plugin.getLaunchManager().removeLaunchListener(this);

-		plugin.removeDebugEventListener(this);

-	}

-

-	/**

-	 * Do nothing.

-	 * 

-	 * @see ILaunchListener#launchRemoved(ILaunch)

-	 */

-	public void launchRemoved(ILaunch launch) {

-	}

-	

-	/**

-	 * Do nothing.

-	 * 

-	 * @see ILaunchListener#launchChanged(ILaunch)

-	 */

-	public void launchChanged(ILaunch launch) {

-	}	

-

-	/** 

-	 * Switch to the perspective specified by the

-	 * launch configuration.

-	 * 

-	 * @see ILaunchListener#launchAdded(ILaunch)

-	 */

-	public void launchAdded(ILaunch launch) {

-		String perspectiveId = null;

-		// check event filters

-		try {

-			perspectiveId = getPerspectiveId(launch);

-		} catch (CoreException e) {

-			String name = DebugUIPlugin.getDefault().getModelPresentation().getText(launch);

-			switchFailed(e, name);

-		}

-		if (perspectiveId != null) {

-			switchToPerspective(perspectiveId);

-		}

-	}

-

-

-	/**

-	 * Switches to the specified perspective

-	 * 

-	 * @param id perspective identifier

-	 */

-	protected void switchToPerspective(final String id) {

-		async(new Runnable() {

-			public void run() {

-				IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();

-				if (window != null) {

-					try {

-						window.getWorkbench().showPerspective(id, window);

-					} catch (WorkbenchException e) {

-						DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(),

-						LaunchConfigurationsMessages.getString("PerspectiveManager.Error_1"),  //$NON-NLS-1$

-						MessageFormat.format(LaunchConfigurationsMessages.getString("PerspectiveManager.Unable_to_switch_to_perspective__{0}_2"), new String[]{id}), //$NON-NLS-1$

-						e);

-					}

-				}

-			}

-		});	

-	}

-	

-	/**

-	 * Utility method to submit an asnychronous runnable to the UI

-	 */

-	protected void async(Runnable r) {

-		Display d = DebugUIPlugin.getDefault().getStandardDisplay();

-		if (d != null && !d.isDisposed()) {

-			d.asyncExec(r);

-		}

-	}

-	

-	/**

-	 * Utility method to submit a synchronous runnable to the UI

-	 */

-	protected void sync(Runnable r) {

-		Display d = DebugUIPlugin.getDefault().getStandardDisplay();

-		if (d != null && !d.isDisposed()) {

-			d.syncExec(r);

-		}

-	}	

-

-	/**

-	 * Reports failure to switch perspectives to the user

-	 * 

-	 * @param status exception status describing failure

-	 * @param launchName the name of the launch that the

-	 *  failure is associated with

-	 */

-	protected void switchFailed(final Throwable t, final String launchName) {

-		sync(new Runnable() {

-			public void run() {

-				DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), LaunchConfigurationsMessages.getString("PerspectiveManager.Error_1"),  //$NON-NLS-1$

-				 MessageFormat.format(LaunchConfigurationsMessages.getString("PerspectiveManager.Unable_to_switch_perpsectives_as_specified_by_launch__{0}_4"), new String[] {launchName}), //$NON-NLS-1$

-				 t);

-			}});

-	}

-	

-	/**

-	 * On a SUSPEND event, show the debug view. If no debug view is open,

-	 * switch to the perspective specified by the launcher.

-	 *

-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])

-	 */

-	public void handleDebugEvents(DebugEvent[] events) {

-		// open the debugger if this is a suspend event and the debug view is not yet open

-		// and the preferences are set to switch

-		for (int i = 0; i < events.length; i++) {

-			DebugEvent event = events[i];

-			if (event.getKind() == DebugEvent.SUSPEND && event.getDetail() == event.BREAKPOINT) {

-				// apply event filters

-				ILaunch launch = null;

-				Object source = event.getSource();

-				if (source instanceof IDebugElement) {

-					launch = ((IDebugElement)source).getLaunch();

-				} else if (source instanceof IProcess) {

-					launch = ((IProcess)source).getLaunch();

-				}

-				String perspectiveId = null;

-				try {

-					perspectiveId = getPerspectiveId(launch);

-				} catch (CoreException e) {

-					DebugUIPlugin.log(e);

-				}

-				// if no perspective specified, always switch to debug

-				// perspective 

-

-				// this has to be done in an asynch, such that the workbench

-				// window can be accessed

-				final String id = perspectiveId;

-				Runnable r = new Runnable() {

-					public void run() {

-						String targetId = id;

-						IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();

-						if (window == null) {

-							return;

-						}

-						if (targetId == null) {

-							IWorkbenchPage page = window.getActivePage();

-							if (page != null) {

-								IViewPart part = page.findView(IDebugUIConstants.ID_DEBUG_VIEW);

-								if (part == null) {

-									targetId = IDebugUIConstants.ID_DEBUG_PERSPECTIVE;

-								}

-							}

-						}

-						if (targetId != null) {

-							// re-open the window if minimized 

-							Shell shell= window.getShell();

-							if (shell != null && shell.getMinimized()) {

-								shell.setMinimized(false);

-							}						

-							switchToPerspective(targetId);

-						}

-					}

-				};

-				async(r);

-			}

-		}

-	}	

-	

-	/** 

-	 * Returns the perspective associated with the

-	 * given launch, or <code>null</code> if none.

-	 * 

-	 * @param launch a launch

-	 * @return the perspective associated with the launch,

-	 * 	or <code>null</code>

-	 * @exception CoreException if unable to retrieve a required

-	 *  launch configuration attribute

-	 */

-	protected String getPerspectiveId(ILaunch launch) throws CoreException {

-		if (launch == null) {

-			return null;

-		}

-		ILaunchConfiguration config = launch.getLaunchConfiguration();

-		String perspectiveId = null;

-		String mode = launch.getLaunchMode();

-		if (mode.equals(ILaunchManager.DEBUG_MODE)) {

-			perspectiveId = config.getAttribute(IDebugUIConstants.ATTR_TARGET_DEBUG_PERSPECTIVE, (String)null);

-			if (perspectiveId != null && perspectiveId.equals(IDebugUIConstants.PERSPECTIVE_DEFAULT)) {

-				perspectiveId = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_SHOW_DEBUG_PERSPECTIVE_DEFAULT);

-			}

-		} else {

-			perspectiveId = config.getAttribute(IDebugUIConstants.ATTR_TARGET_RUN_PERSPECTIVE, (String)null);

-			if (perspectiveId != null && perspectiveId.equals(IDebugUIConstants.PERSPECTIVE_DEFAULT)) {

-				perspectiveId = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_SHOW_RUN_PERSPECTIVE_DEFAULT);

-			}

-		}

-		if (perspectiveId != null && perspectiveId.equals(IDebugUIConstants.PERSPECTIVE_NONE)) {

-			perspectiveId = null;

-		}

-		return perspectiveId;

-	}

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java
deleted file mode 100644
index 8c6b40e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A boolean field editor that provides access to this editors boolean
- * button.
- */
-public class BooleanFieldEditor2 extends BooleanFieldEditor {
-	
-	private  Button fChangeControl;
-
-	/**
-	 * @see BooleanFieldEditor#BooleanFieldEditor(java.lang.String, java.lang.String, int, org.eclipse.swt.widgets.Composite)
-	 */
-	public BooleanFieldEditor2(
-		String name,
-		String labelText,
-		int style,
-		Composite parent) {
-		super(name, labelText, style, parent);
-	}
-
-	/**
-	 * @see BooleanFieldEditor#BooleanFieldEditor(java.lang.String, java.lang.String, org.eclipse.swt.widgets.Composite)
-	 */
-	public BooleanFieldEditor2(String name, String label, Composite parent) {
-		super(name, label, parent);
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.BooleanFieldEditor#getChangeControl(Composite)
-	 */
-	public Button getChangeControl(Composite parent) {
-		if (fChangeControl == null) {
-			fChangeControl = super.getChangeControl(parent);
-		} 
-		return fChangeControl;
-	}
-
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ComboFieldEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ComboFieldEditor.java
deleted file mode 100644
index c5abb56..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ComboFieldEditor.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A field editor for a combo box that allows the drop-down selection of one of a list of items.
- */
-public class ComboFieldEditor extends FieldEditor {
-
-	/**
-	 * The <code>Combo</code> widget.
-	 */
-	private Combo fCombo;
-	
-	/**
-	 * The value (not the name) of the currently selected item in the Combo widget.
-	 */
-	private String fValue;
-	
-	/**
-	 * The names (labels) and underlying values to populate the combo widget.  These should be
-	 * arranged as: { {name1, value1}, {name2, value2}, ...}
-	 */
-	private String[][] fEntryNamesAndValues;
-
-	public ComboFieldEditor(String name, String labelText, String[][] entryNamesAndValues, Composite parent) {
-		init(name, labelText);
-		Assert.isTrue(checkArray(entryNamesAndValues));
-		fEntryNamesAndValues = entryNamesAndValues;
-		createControl(parent);		
-	}
-
-	/**
-	 * Checks whether given <code>String[][]</code> is of "type" 
-	 * <code>String[][2]</code>.
-	 *
-	 * @return <code>true</code> if it is ok, and <code>false</code> otherwise
-	 */
-	private boolean checkArray(String[][] table) {
-		if (table == null) {
-			return false;
-		}
-		for (int i = 0; i < table.length; i++) {
-			String[] array = table[i];
-			if (array == null || array.length != 2) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * @see FieldEditor#adjustForNumColumns(int)
-	 */
-	protected void adjustForNumColumns(int numColumns) {
-		Control control = getLabelControl();
-		if (control != null) {
-			((GridData)control.getLayoutData()).horizontalSpan = numColumns;
-		}
-		((GridData)fCombo.getLayoutData()).horizontalSpan = numColumns;
-	}
-
-	/**
-	 * @see FieldEditor#doFillIntoGrid(Composite, int)
-	 */
-	protected void doFillIntoGrid(Composite parent, int numColumns) {
-		Control control = getLabelControl(parent);
-		GridData gd = new GridData();
-		gd.horizontalSpan = numColumns;
-		control.setLayoutData(gd);
-		control = getComboBoxControl(parent);
-		gd = new GridData();
-		gd.horizontalSpan = numColumns;
-		control.setLayoutData(gd);
-	}
-
-	/**
-	 * @see FieldEditor#doLoad()
-	 */
-	protected void doLoad() {
-		updateComboForValue(getPreferenceStore().getString(getPreferenceName()));
-	}
-
-	/**
-	 * @see FieldEditor#doLoadDefault()
-	 */
-	protected void doLoadDefault() {
-		updateComboForValue(getPreferenceStore().getDefaultString(getPreferenceName()));
-	}
-
-	/**
-	 * @see FieldEditor#doStore()
-	 */
-	protected void doStore() {
-		if (fValue == null) {
-			getPreferenceStore().setToDefault(getPreferenceName());
-			return;
-		}
-	
-		getPreferenceStore().setValue(getPreferenceName(), fValue);
-	}
-
-	/**
-	 * @see FieldEditor#getNumberOfControls()
-	 */
-	public int getNumberOfControls() {
-		return 1;
-	}
-
-	/**
-	 * Lazily create and return the Combo control.
-	 */
-	public Combo getComboBoxControl(Composite parent) {
-		if (fCombo == null) {
-			fCombo = new Combo(parent, SWT.READ_ONLY);
-			for (int i = 0; i < fEntryNamesAndValues.length; i++) {
-				fCombo.add(fEntryNamesAndValues[i][0], i);
-			}
-			
-			fCombo.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent evt) {
-					String oldValue = fValue;
-					String name = fCombo.getText();
-					fValue = getValueForName(name);
-					setPresentsDefaultValue(false);
-					fireValueChanged(VALUE, oldValue, fValue);					
-				}
-			});
-		}
-		return fCombo;
-	}
-	
-	/**
-	 * Given the name (label) of an entry, return the corresponding value.
-	 */
-	protected String getValueForName(String name) {
-		for (int i = 0; i < fEntryNamesAndValues.length; i++) {
-			String[] entry = fEntryNamesAndValues[i];
-			if (name.equals(entry[0])) {
-				return entry[1];
-			}
-		}
-		return fEntryNamesAndValues[0][0];
-	}
-	
-	/**
-	 * Set the name in the combo widget to match the specified value.
-	 */
-	protected void updateComboForValue(String value) {
-		fValue = value;
-		for (int i = 0; i < fEntryNamesAndValues.length; i++) {
-			if (value.equals(fEntryNamesAndValues[i][1])) {
-				fCombo.setText(fEntryNamesAndValues[i][0]);
-				return;
-			}
-		}
-		if (fEntryNamesAndValues.length > 0) {
-			fValue = fEntryNamesAndValues[0][1];
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java
deleted file mode 100644
index 100b739..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.ColorFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.texteditor.WorkbenchChainedTextFontFieldEditor;
-
-/**
- * A page to set the preferences for the console
- */
-public class ConsolePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-	
-	private BooleanFieldEditor2 fWrapEditor = null;
-	private IntegerFieldEditor fWidthEditor = null;
-	/**
-	 * Create the console page.
-	 */
-	public ConsolePreferencePage() {
-		super(GRID);
-		setDescription(DebugPreferencesMessages.getString("ConsolePreferencePage.Console_settings")); //$NON-NLS-1$
-		setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
-	}
-
-	/**
-	 * @see PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(
-			parent,
-			IDebugHelpContextIds.CONSOLE_PREFERENCE_PAGE );
-	}
-	
-	/**
-	 * Create all field editors for this page
-	 */
-	public void createFieldEditors() {
-		
-		fWrapEditor = new BooleanFieldEditor2(IDebugPreferenceConstants.CONSOLE_WRAP, DebugPreferencesMessages.getString("ConsolePreferencePage.Wrap_text_1"), SWT.NONE, getFieldEditorParent()); //$NON-NLS-1$
-		addField(fWrapEditor);
-		
-		fWidthEditor = new IntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_WIDTH, DebugPreferencesMessages.getString("ConsolePreferencePage.Console_width"), getFieldEditorParent()); //$NON-NLS-1$
-		addField(fWidthEditor);
-		fWidthEditor.setValidRange(1, Integer.MAX_VALUE);
-		
-		fWrapEditor.getChangeControl(getFieldEditorParent()).addSelectionListener(
-			new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					updateWidthEditor();
-				}
-			}
-		);
-		
-		addField(new BooleanFieldEditor(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT, DebugPreferencesMessages.getString("ConsolePreferencePage.Show_&Console_View_when_there_is_program_output_3"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		addField(new BooleanFieldEditor(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR, DebugPreferencesMessages.getString("ConsolePreferencePage.Show_&Console_View_when_there_is_program_error_3"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-
-		// Note: first String value is the key for the preference bundle and second the
-		// second String value is the label displayed in front of the editor.
-		ColorFieldEditor sysout= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_OUT_RGB, DebugPreferencesMessages.getString("ConsolePreferencePage.Standard_Out__2"), getFieldEditorParent()); //$NON-NLS-1$
-		ColorFieldEditor syserr= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_ERR_RGB, DebugPreferencesMessages.getString("ConsolePreferencePage.Standard_Error__3"), getFieldEditorParent()); //$NON-NLS-1$
-		ColorFieldEditor sysin= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_IN_RGB, DebugPreferencesMessages.getString("ConsolePreferencePage.Standard_In__4"), getFieldEditorParent()); //$NON-NLS-1$
-		
-		WorkbenchChainedTextFontFieldEditor editor= new WorkbenchChainedTextFontFieldEditor(IDebugPreferenceConstants.CONSOLE_FONT,
-				DebugPreferencesMessages.getString("ConsolePreferencePage.Console_font_setting___5"), getFieldEditorParent()); //$NON-NLS-1$
-		
-		addField(sysout);
-		addField(syserr);
-		addField(sysin);
-		addField(editor);
-	}
-
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	/**
-	 * Returns the font data that describes the font to use for the console
-	 */
-	public static FontData getConsoleFontData() {
-		IPreferenceStore pstore= DebugUIPlugin.getDefault().getPreferenceStore();
-		FontData fontData= PreferenceConverter.getFontData(pstore, IDebugPreferenceConstants.CONSOLE_FONT);
-		return fontData;
-	}
-	
-	public static void initDefaults(IPreferenceStore store) {
-		store.setDefault(IDebugPreferenceConstants.CONSOLE_WRAP, false);
-		store.setDefault(IDebugPreferenceConstants.CONSOLE_WIDTH, 80);
-		store.setDefault(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT, true);
-		store.setDefault(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR, true);
-		WorkbenchChainedTextFontFieldEditor.startPropagate(store, IDebugPreferenceConstants.CONSOLE_FONT);
-		
-		PreferenceConverter.setDefault(store, IDebugPreferenceConstants.CONSOLE_SYS_OUT_RGB, new RGB(0, 0, 255));
-		PreferenceConverter.setDefault(store, IDebugPreferenceConstants.CONSOLE_SYS_IN_RGB, new RGB(0, 200, 125));
-		PreferenceConverter.setDefault(store, IDebugPreferenceConstants.CONSOLE_SYS_ERR_RGB, new RGB(255, 0, 0));
-	}
-		
-	/**
-	 * @see IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		boolean ok= super.performOk();
-		DebugUIPlugin.getDefault().savePluginPreferences();
-		return ok;
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#initialize()
-	 */
-	protected void initialize() {
-		super.initialize();
-		updateWidthEditor();
-	}
-	
-	/**
-	 * Update enablement of width editor based on enablement of 'fixed width' editor.
-	 */
-	protected void updateWidthEditor() {
-		Button b = fWrapEditor.getChangeControl(getFieldEditorParent());
-		fWidthEditor.getTextControl(getFieldEditorParent()).setEnabled(b.getSelection());
-		fWidthEditor.getLabelControl(getFieldEditorParent()).setEnabled(b.getSelection());				
-	}
-
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-		updateWidthEditor();
-	}
-
-
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsActionContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsActionContentProvider.java
deleted file mode 100644
index 153da6a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsActionContentProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.debug.internal.ui.preferences.DebugActionGroupsManager.DebugActionGroup;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public class DebugActionGroupsActionContentProvider implements IStructuredContentProvider {
-
-	/**
-	 * @see IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object element) {
-		List actionContributionItems= null;
-		if (element instanceof DebugActionGroup) {
-			DebugActionGroup actionSet= (DebugActionGroup)element;
-			List allActionIds= actionSet.getActionIds();
-			Iterator actionIds= allActionIds.iterator();
-			actionContributionItems= new ArrayList(allActionIds.size());
-			while (actionIds.hasNext()) {
-				String actionId= (String)actionIds.next();
-				Map idsToActions= DebugActionGroupsManager.getDefault().fDebugActionGroupActions;
-				List actions= (List)idsToActions.get(actionId);
-				if (actions != null) {
-					actionContributionItems.addAll(actions);
-				}
-			}
-		}
-		if (actionContributionItems != null) {
-			if (actionContributionItems.isEmpty()) {
-				return new String[]{DebugPreferencesMessages.getString("DebugActionGroupsActionContentProvider.Updated_when_Debug_perspective_activated_1")}; //$NON-NLS-1$
-			} else {
-				return actionContributionItems.toArray();
-			}
-		} else {
-			return new String[]{DebugPreferencesMessages.getString("DebugActionGroupsActionContentProvider.Updated_when_Debug_perspective_activated_1")}; //$NON-NLS-1$
-		}
-	}
-	/**
-	 * @see IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsContentProvider.java
deleted file mode 100644
index 4309aa2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsContentProvider.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.debug.internal.ui.preferences.DebugActionGroupsManager.DebugActionGroup;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public class DebugActionGroupsContentProvider implements IStructuredContentProvider {
-	
-	private CheckboxTableViewer fViewer;
-	
-	public DebugActionGroupsContentProvider(CheckboxTableViewer viewer) {
-		fViewer = viewer;
-		populateTable();
-	}
-
-	/**
-	 * @see IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object element) {
-		Collection allViewActionSets =
-			DebugActionGroupsManager.getDefault().fDebugActionGroups.values();
-		return allViewActionSets.toArray();
-	}
-	/**
-	 * @see IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-
-	protected void populateTable() {
-		Collection allViewActionSets =
-			DebugActionGroupsManager.getDefault().fDebugActionGroups.values();
-		Iterator iterator = allViewActionSets.iterator();
-		while (iterator.hasNext()) {
-			DebugActionGroup set = (DebugActionGroup) iterator.next();
-			fViewer.add(set);
-			fViewer.setChecked(set, set.isVisible());
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsLabelProvider.java
deleted file mode 100644
index e15384e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsLabelProvider.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
- 
-import org.eclipse.debug.internal.ui.preferences.DebugActionGroupsManager.DebugActionGroup;
-import org.eclipse.debug.internal.ui.preferences.DebugActionGroupsManager.DebugActionGroupAction;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public class DebugActionGroupsLabelProvider extends LabelProvider {
-
-	private String UNKNOWN = DebugPreferencesMessages.getString("DebugActionGroupsLabelProvider.<Unknown>_1"); //$NON-NLS-1$
-
-	public DebugActionGroupsLabelProvider() {
-		super();
-	}
-	
-	/**
-	 * @see ILabelProvider#getText(Object)
-	 */
-	public String getText(Object element) {
-		String label = UNKNOWN;
-		if (element instanceof DebugActionGroup) {
-			label = ((DebugActionGroup) element).getName();
-		} else if (element instanceof DebugActionGroupAction) {
-			label = ((DebugActionGroupAction) element).getName();
-		} else if (element instanceof String) {
-			label= (String)element;
-		}
-		return label;
-	}
-	
-	/**
-	 * @see ILabelProvider#getImage(Object)
-	 */
-	public Image getImage(Object element) {
-		Image image= null;
-		if (element instanceof DebugActionGroupAction) {
-			image = ((DebugActionGroupAction) element).getImage();
-		}
-		return image;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsManager.java
deleted file mode 100644
index 58a8e18..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsManager.java
+++ /dev/null
@@ -1,511 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
- 
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IViewPart;
-
-public class DebugActionGroupsManager implements IMenuListener {
-	
-	protected List fDebugViews= new ArrayList(6);
-	protected Map fDebugViewsWithMenu= new HashMap(6);
-	protected Map fDebugActionGroups;
-	protected Map fDebugActionGroupActionIds;
-	protected Map fDebugActionGroupActions = new HashMap();
-	
-	protected static DebugActionGroupsManager fgManager;
-
-	private DebugActionGroupsManager() {
-		//@see getDefault()
-	}
-	
-	/**
-	 * Returns the debug action groups manager
-	 */
-	public static DebugActionGroupsManager getDefault() {
-		if (fgManager == null) {
-			fgManager = new DebugActionGroupsManager();
-			fgManager.startup();
-		}
-		return fgManager;
-	}
-	
-	/**
-	 * Returns whether the singleton instance of the manager exists
-	 */
-	public static boolean defaultExists() {
-		return fgManager != null;
-	}
-	
-	/**
-	 * Called by the debug ui plug-in on startup.
-	 */
-	public void startup() {
-		initialize();
-	}
-
-	/**
-	 * Called by the debug ui plug-in on shutdown.
-	 */
-	public void shutdown() {
-		for (Iterator iterator = fDebugActionGroupActions.values().iterator(); iterator.hasNext();) {
-			List actions= (List)iterator.next();
-			for (Iterator itr = actions.iterator(); itr.hasNext();) {
-				DebugActionGroupAction action = (DebugActionGroupAction) itr.next();
-				action.dispose();
-			}
-		}
-	}
-
-	private List persistedEnabledActionGroups() {
-
-		String enabled= DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugPreferenceConstants.PREF_ENABLED_DEBUG_ACTION_GROUPS);
-		if (enabled != null) {
-			return parseList(enabled);
-		}
-		return Collections.EMPTY_LIST;
-	}
-	
-	private List persistedDisabledActionGroups() {
-
-		String enabled= DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugPreferenceConstants.PREF_DISABLED_DEBUG_ACTION_GROUPS);
-		if (enabled != null) {
-			return parseList(enabled);
-		}
-		return Collections.EMPTY_LIST;
-	}
-	
-	/**
-	 * Create the mapping of actions to debug action groups
-	 */
-	private void initialize() {
-		IPluginDescriptor descriptor = DebugUIPlugin.getDefault().getDescriptor();
-		IExtensionPoint extensionPoint =
-			descriptor.getExtensionPoint(IDebugUIConstants.EXTENSION_POINT_DEBUG_ACTION_GROUPS);
-		IConfigurationElement[] infos = extensionPoint.getConfigurationElements();
-		if (infos.length == 0) {
-			return;
-		}
-		
-		fDebugActionGroupActionIds = new HashMap();
-		fDebugActionGroups = new HashMap(10);
-		List userEnabledGroups= persistedEnabledActionGroups();
-		List userDisabledGroups= persistedDisabledActionGroups();
-		
-		for (int i = 0; i < infos.length; i++) {
-			IConfigurationElement configurationElement = infos[i];
-			String id = configurationElement.getAttribute("id"); //$NON-NLS-1$
-			String visible = configurationElement.getAttribute("visible"); //$NON-NLS-1$
-			boolean isVisible = true;
-			if (visible != null) {
-				isVisible = Boolean.valueOf(visible).booleanValue();
-			}
-			if (!isVisible && userEnabledGroups.contains(id)) {
-				isVisible= true;
-			} else if (isVisible && userDisabledGroups.contains(id)) {
-				isVisible= false;
-			}
-			
-			String name = configurationElement.getAttribute("name"); //$NON-NLS-1$
-
-			if (id != null && name != null) {
-				if (fDebugActionGroups.get(id) != null) {
-					//duplicate id..report error and ignore extension
-					DebugUIPlugin.logErrorMessage(MessageFormat.format(DebugPreferencesMessages.getString("DebugActionGroupsManager.Duplicate_action_group_id"), new String[]{id})); //$NON-NLS-1$
-					continue;
-				}
-				
-				IConfigurationElement[] children = configurationElement.getChildren();
-				if (children.length == 0) {
-					//empty action group
-					continue;
-				}
-				DebugActionGroup viewActionSet = new DebugActionGroup(id, name, isVisible);
-				fDebugActionGroups.put(id, viewActionSet);
-				for (int j = 0; j < children.length; j++) {
-					IConfigurationElement actionElement = children[j];
-					String actionId = actionElement.getAttribute("id"); //$NON-NLS-1$
-					if (actionId != null) {
-						viewActionSet.add(actionId);
-						fDebugActionGroupActionIds.put(actionId, viewActionSet.getId());
-					}
-				}
-
-			} else {
-				// invalid debug action group
-				String errorId= ""; //$NON-NLS-1$
-				if (id != null) {
-					errorId= ": "  + id; //$NON-NLS-1$
-				}
-				DebugUIPlugin.logErrorMessage(DebugPreferencesMessages.getString("DebugActionGroupsManager.Improperly_specified_debug_action_group_4") + errorId); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	/**
-	 * Updates the debug view groups for all registered views.
-	 */
-	public void updateDebugActionGroups() {
-		for (Iterator iterator = fDebugViews.iterator(); iterator.hasNext();) {
-			IDebugView view = (IDebugView) iterator.next();
-			updateDebugActionGroups(view);
-		}
-	}
-
-	protected void updateDebugActionGroups(IViewPart viewPart) {
-		IDebugView debugView= (IDebugView)viewPart.getAdapter(IDebugView.class);
-		if (debugView == null) {
-			return;
-		}
-		
-		IActionBars actionBars = viewPart.getViewSite().getActionBars();
-		IToolBarManager toolBarManager = actionBars.getToolBarManager();
-		if (processContributionItems(toolBarManager.getItems(), viewPart.getTitle(), viewPart.getSite().getId(),true)) {
-			toolBarManager.markDirty();
-			actionBars.updateActionBars();
-		}
-	}
-	
-	protected boolean processContributionItems(IContributionItem[] items, String viewName, String viewId, boolean toolbarAction) {
-		boolean visibilityChanged = false;
-		for (int i = 0; i < items.length; i++) {
-			IContributionItem iContributionItem = items[i];
-			if (!(iContributionItem instanceof ActionContributionItem)) {
-				continue;
-			}
-			ActionContributionItem item= (ActionContributionItem)iContributionItem;
-			String id = item.getId();
-			if (id != null) {
-				String viewActionSetId = (String) fDebugActionGroupActionIds.get(id);
-				if (viewActionSetId != null) {
-					DebugActionGroup actionSet = (DebugActionGroup) fDebugActionGroups.get(viewActionSetId);
-					if (actionSet != null) {
-						iContributionItem.setVisible(actionSet.isVisible());
-						visibilityChanged = true;
-						DebugActionGroupAction action= new DebugActionGroupAction(id, item.getAction().getText(), viewName, viewId, item.getAction().getImageDescriptor(), toolbarAction);
-						List actions= (List)fDebugActionGroupActions.get(id);
-						if (actions == null) {
-							actions= new ArrayList(1);
-							actions.add(action);
-							fDebugActionGroupActions.put(id, actions);
-						} else if (!actions.contains(action)) {
-							actions.add(action);
-						}
-					}
-				}
-			}
-		}
-		return visibilityChanged;
-	}
-	
-	/**
-	 * Adds this view to the collections of views that are
-	 * affected by debug action groups.  Has no effect if the view was
-	 * previously registered.
-	 */
-	public void registerView(final IDebugView view) {
-		if (fDebugActionGroupActionIds == null || fDebugViews.contains(view)) {
-			return;
-		}
-		final IMenuManager menu= view.getContextMenuManager();
-		if (menu != null) {
-			menu.addMenuListener(this);
-		}
-		
-		final Display display= view.getSite().getPage().getWorkbenchWindow().getShell().getDisplay();
-		if (display != null && !display.isDisposed()) {
-			display.asyncExec(new Runnable() {
-				public void run() {
-					if (!display.isDisposed()) {
-						updateDebugActionGroups(view);
-						fDebugViews.add(view);
-						if (menu != null) {
-							fDebugViewsWithMenu.put(menu, view);
-							//fake a showing of the context menu to get a 
-							//look at all of the items in the menu
-							Menu swtMenu= ((MenuManager)menu).getMenu();
-							if (!swtMenu.isDisposed()) {
-								swtMenu.notifyListeners(SWT.Show, new Event());
-								swtMenu.notifyListeners(SWT.Hide, new Event());
-							}
-						}
-					}
-				}
-			});
-		}
-	}
-	
-	/**
-	 * Removes this view from the collections of views that are
-	 * affected by debug action groups.  Has no effect if the view was
-	 * not previously registered.
-	 */
-	public void deregisterView(IDebugView view) {
-		if (fDebugActionGroupActionIds != null && fDebugViews.remove(view)) {
-			IMenuManager manager= view.getContextMenuManager();
-			if (manager != null) {
-				manager.removeMenuListener(this);
-				fDebugViewsWithMenu.remove(manager);
-			}
-			Collection actionCollections= fDebugActionGroupActions.values();
-			List removed= new ArrayList();
-			for (Iterator iterator = actionCollections.iterator(); iterator.hasNext();) {
-				List actions= (List)iterator.next();
-				for (Iterator itr = actions.iterator(); itr.hasNext();) {	
-					DebugActionGroupAction action = (DebugActionGroupAction) itr.next();
-					if (action.getViewId().equals(view.getSite().getId())) {
-						removed.add(action.getId());
-						action.dispose();
-					}
-				}
-			}
-			
-			for (Iterator iterator = removed.iterator(); iterator.hasNext();) {
-				String actionId= (String)iterator.next();
-				fDebugActionGroupActions.remove(actionId);
-				fDebugActionGroupActionIds.remove(actionId);
-			}
-		}
-	}
-	
-	/**
-	 * @see IMenuListener#menuAboutToShow(IMenuManager)
-	 */
-	public void menuAboutToShow(IMenuManager manager) {
-		IDebugView view= (IDebugView)fDebugViewsWithMenu.get(manager);
-		if (view != null) {
-			String viewName= view.getTitle();
-			String viewId= view.getSite().getId();
-			processContributionItems(manager.getItems(), viewName, viewId, false);
-		}
-	}
-	
-	/**
-	 * Debug view action group extensions
-	 */
-	protected class DebugActionGroup {
-
-		private String fId;
-		private boolean fVisible;
-		private String fName;
-		private List fActionIds = new ArrayList();
-
-		protected DebugActionGroup(String id, String name, boolean visible) {
-			fId = id;
-			fVisible = visible;
-			fName = name;
-		}
-
-		/**
-		 * @see Object#hashCode()
-		 */
-		public int hashCode() {
-			return fId.hashCode();
-		}
-
-		/**
-		 * @see Object#equals(Object)
-		 */
-		public boolean equals(Object obj) {
-			if (obj instanceof DebugActionGroup) {
-				DebugActionGroup s = (DebugActionGroup) obj;
-				return fId == s.fId;
-			}
-			return false;
-		}
-
-		protected void add(String actionId) {
-			fActionIds.add(actionId);
-		}
-
-		protected String getName() {
-			return fName;
-		}
-
-		protected boolean isVisible() {
-			return fVisible;
-		}
-
-		protected void setVisible(boolean visible) {
-			fVisible = visible;
-		}
-
-		protected List getActionIds() {
-			return fActionIds;
-		}
-		
-		protected String getId() {
-			return fId;
-		}
-	}
-	
-	/**
-	 * Debug view action extensions
-	 */
-	protected class DebugActionGroupAction {
-
-		private String fId;
-		private String fName;
-		private String fViewName;
-		private String fViewId;
-		private ImageDescriptor fImageDescriptor;
-		private Image fImage;
-		private boolean fToolbarAction;
-
-		protected DebugActionGroupAction(String id, String name, String viewName, String viewId, ImageDescriptor imageDescriptor, boolean toolbarAction) {
-			fToolbarAction = toolbarAction;
-			fId = id;
-			fName = cleanName(name);
-			fImageDescriptor= imageDescriptor;
-			fViewName= viewName;
-			fViewId= viewId;
-		}
-
-		/**
-		 * @see Object#hashCode()
-		 */
-		public int hashCode() {
-			if (fToolbarAction) {
-				return fId.hashCode() | fViewId.hashCode() | 1;
-			} else {
-				return fId.hashCode() | fViewId.hashCode();	
-			}
-		}
-
-		/**
-		 * @see Object#equals(Object)
-		 */
-		public boolean equals(Object obj) {
-			if (obj instanceof DebugActionGroupAction) {
-				DebugActionGroupAction s = (DebugActionGroupAction) obj;
-				return getId() == s.getId() && getViewId() == s.getViewId() && fToolbarAction == s.fToolbarAction;
-			}
-			return false;
-		}
-
-		protected String getName() {
-			StringBuffer buff= new StringBuffer(fName);
-			buff.append(" ("); //$NON-NLS-1$
-			buff.append(fViewName);
-			buff.append(DebugPreferencesMessages.getString("DebugActionGroupsManager._view__6")); //$NON-NLS-1$
-			buff.append(getDescriptor());
-			buff.append(')');
-			return buff.toString();
-		}
-
-		protected Image getImage() {
-			if (fImage == null && fImageDescriptor != null) {
-				fImage= fImageDescriptor.createImage(true);
-			}
-			return fImage;
-		}
-		
-		protected void dispose() {
-			if (fImage != null) {
-				fImage.dispose();
-			}
-		}
-		
-		protected String getDescriptor() {
-			if (fToolbarAction) {
-				return DebugPreferencesMessages.getString("DebugActionGroupsManager.toolbar_7"); //$NON-NLS-1$
-			} else {
-				return DebugPreferencesMessages.getString("DebugActionGroupsManager.context_menu_8"); //$NON-NLS-1$
-			}
-		}
-		
-		/**
-		 * Removes the '&' accelerator indicator from a label, if any.
-		 * Removes the hot key indicator, if any.
-		 */	
-		protected String cleanName(String name) {
-			int i = name.indexOf('@');
-			if (i >= 0) {
-				name = name.substring(0, i);
-			}
-			i = name.indexOf('&');
-			if (i >= 0) {
-				name = name.substring(0, i) + name.substring(i+1);
-			}
-		
-			return name;
-		}
-		
-		protected String getId() {
-			return fId;
-		}
-		
-		protected String getViewId() {
-			return fViewId;
-		}
-	}
-	
-	/**
-	 * Parses the comma separated string into list of strings
-	 * 
-	 * @return list
-	 */
-	protected List parseList(String listString) {
-		List list = new ArrayList(10);
-		StringTokenizer tokenizer = new StringTokenizer(listString, ","); //$NON-NLS-1$
-		while (tokenizer.hasMoreTokens()) {
-			String token = tokenizer.nextToken();
-			list.add(token);
-		}
-		return list;
-	}
-	
-	/**
-	 * Serializes the array of strings into one comma
-	 * separated string.
-	 * 
-	 * @param list array of strings
-	 * @return a single string composed of the given list
-	 */
-	protected String serializeList(List list) {
-		if (list == null) {
-			return ""; //$NON-NLS-1$
-		}
-		StringBuffer buffer = new StringBuffer();
-		int i= 0;
-		for (Iterator iterator = list.iterator(); iterator.hasNext(); i++) {
-			String element = (String) iterator.next();
-			if (i > 0) {
-				buffer.append(',');
-			}
-			buffer.append(element);
-		}
-		return buffer.toString();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsPreferencePage.java
deleted file mode 100644
index bb950f3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugActionGroupsPreferencePage.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.preferences.DebugActionGroupsManager.DebugActionGroup;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * Preference page to display the available debug action groups, and
- * solicits a list of selections from the user.
- */
-public class DebugActionGroupsPreferencePage  extends PreferencePage implements IWorkbenchPreferencePage {
-	// widgets.
-	private CheckboxTableViewer fDebugActionGroupViewer;
-	private Label actionLabel;
-	private TableViewer actionViewer;
-	private boolean fStateChanged= false;
-	
-	/**
-	 * Creates an action set selection preference page.
-	 */
-	public DebugActionGroupsPreferencePage() {
-		super();
-		setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
-	}
-
-	/**
-	 * @see PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(getControl(), IDebugHelpContextIds.DEBUG_ACTION_GROUPS_PREFERENCE_PAGE);
-	}
-	
-	/**
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = true;
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		composite.setLayout(layout);
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		composite.setLayoutData(data);	
-
-		// description
-		Label descLabel = new Label(composite, SWT.WRAP);
-		descLabel.setText(DebugPreferencesMessages.getString("DebugActionGroupsPreferencePage.Select_the_action_groups_to_be_displayed_in_Debug_views_1")); //$NON-NLS-1$
-		descLabel.setFont(parent.getFont());
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		descLabel.setLayoutData(data);
-
-		// Setup the action set list selection...
-		// ...first a composite group
-		Composite actionSetGroup = new Composite(composite, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		actionSetGroup.setLayout(layout);
-		data = new GridData(GridData.FILL_BOTH);
-		actionSetGroup.setLayoutData(data);
-
-		// ...second the label
-		Label selectionLabel = new Label(actionSetGroup, SWT.NONE);
-		selectionLabel.setText(DebugPreferencesMessages.getString("DebugActionGroupsPreferencePage.&Available_Debug_Action_Groups__2")); //$NON-NLS-1$
-		selectionLabel.setFont(parent.getFont());
-
-		// ...third the checkbox list
-		Table viewActionSetTable= new Table(actionSetGroup, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-		
-		TableLayout tableLayout= new TableLayout();
-		ColumnLayoutData[] columnLayoutData= new ColumnLayoutData[1];
-		columnLayoutData[0]= new ColumnWeightData(100);		
-		tableLayout.addColumnData(columnLayoutData[0]);
-		viewActionSetTable.setLayout(tableLayout);
-		new TableColumn(viewActionSetTable, SWT.NONE);
-
-		fDebugActionGroupViewer = new CheckboxTableViewer(viewActionSetTable);
-		data = new GridData(GridData.FILL_BOTH);
-		fDebugActionGroupViewer.getTable().setLayoutData(data);
-		fDebugActionGroupViewer.setLabelProvider(new DebugActionGroupsLabelProvider());
-		IContentProvider contentProvider= new DebugActionGroupsContentProvider(fDebugActionGroupViewer);
-		fDebugActionGroupViewer.setContentProvider(contentProvider);
-		fDebugActionGroupViewer.setInput(DebugUIPlugin.getDefault());
-		fDebugActionGroupViewer.setSorter(new WorkbenchViewerSorter());
-		fDebugActionGroupViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-				DebugActionGroup viewActionSet = null;
-				if (sel.getFirstElement() instanceof DebugActionGroup) {
-					viewActionSet = (DebugActionGroup) sel.getFirstElement();
-				}
-				if (viewActionSet != actionViewer.getInput()) {
-					actionViewer.setInput(viewActionSet);
-				}
-			}
-		});
-		fDebugActionGroupViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				DebugActionGroup viewActionSet = (DebugActionGroup)event.getElement();
-				viewActionSet.setVisible(event.getChecked());
-				fStateChanged= true;
-			}
-		});
-
-		// Setup the action list for the action set selected...
-		// ...first a composite group
-		Composite actionGroup = new Composite(composite, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		actionGroup.setLayout(layout);
-		data = new GridData(GridData.FILL_BOTH);
-		actionGroup.setLayoutData(data);
-
-		// ...second the label
-		actionLabel = new Label(actionGroup, SWT.NONE);
-		actionLabel.setText(DebugPreferencesMessages.getString("DebugActionGroupsPreferencePage.Actions_in_Group__3")); //$NON-NLS-1$
-
-		// ...third the list of actions
-		actionViewer = new TableViewer(actionGroup, SWT.BORDER);
-		data = new GridData(GridData.FILL_BOTH);
-		actionViewer.getTable().setLayoutData(data);
-		actionViewer.setLabelProvider(new DebugActionGroupsLabelProvider());
-		actionViewer.setContentProvider(new DebugActionGroupsActionContentProvider());
-		actionViewer.setSorter(new WorkbenchViewerSorter());
-		
-		Display disp = Display.getCurrent();
-		Color clr = disp.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-		actionViewer.getTable().setBackground(clr);
-		return composite;
-	}
-	
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	/**
-	 * @see IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		if (fStateChanged) {
-			DebugActionGroupsManager.getDefault().updateDebugActionGroups();
-			persistDebugActionGroups();
-		}
-		DebugUIPlugin.getDefault().savePluginPreferences();
-		return true;
-	}
-	
-	protected void persistDebugActionGroups() {
-		IStructuredContentProvider contentProvider= (IStructuredContentProvider)fDebugActionGroupViewer.getContentProvider();
-		Object[] debugActionGroups= contentProvider.getElements(null);
-		List enabled = new ArrayList(debugActionGroups.length);
-		List disabled = new ArrayList(debugActionGroups.length);
-		for (int i = 0; i < debugActionGroups.length; i++) {
-			DebugActionGroup group = (DebugActionGroup)debugActionGroups[i];
-			if (group.isVisible()) {
-				enabled.add(group.getId());
-			} else {
-				disabled.add(group.getId());
-			}
-		}
-		String prefEnabled = DebugActionGroupsManager.getDefault().serializeList(enabled);
-		String prefDisabled = DebugActionGroupsManager.getDefault().serializeList(disabled);
-		getPreferenceStore().setValue(IDebugPreferenceConstants.PREF_ENABLED_DEBUG_ACTION_GROUPS, prefEnabled);
-		getPreferenceStore().setValue(IDebugPreferenceConstants.PREF_DISABLED_DEBUG_ACTION_GROUPS, prefDisabled);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugHistoryPreferenceTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugHistoryPreferenceTab.java
deleted file mode 100644
index 40b25c5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugHistoryPreferenceTab.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
- 
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationHistoryElement;
-
-/**
- * Debug favorites and history
- */
-public class DebugHistoryPreferenceTab extends LaunchHistoryPreferenceTab {
-	
-	/**
-	 * @see LaunchHistoryPreferenceTab#getFavoritesLabel()
-	 */
-	protected String getFavoritesLabel() {
-		return DebugPreferencesMessages.getString("DebugHistoryPreferenceTab.Favorite_Debug_Confi&gurations__1"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see LaunchHistoryPreferenceTab#getRecentLabel()
-	 */
-	protected String getRecentLabel() {
-		return DebugPreferencesMessages.getString("DebugHistoryPreferenceTab.Recent_Debug_&Launches__2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see LaunchHistoryPreferenceTab#getInitialFavorites()
-	 */
-	protected ILaunchConfiguration[] getInitialFavorites() {
-		LaunchConfigurationHistoryElement[] favs = DebugUIPlugin.getLaunchConfigurationManager().getDebugFavorites();
-		ILaunchConfiguration[] configs = new ILaunchConfiguration[favs.length];
-		for (int i = 0; i < favs.length; i++) {
-			configs[i] = favs[i].getLaunchConfiguration();
-		}
-		return configs;
-	}
-
-	/**
-	 * @see LaunchHistoryPreferenceTab#getIntialRecents()
-	 */
-	protected ILaunchConfiguration[] getInitialRecents() {
-		LaunchConfigurationHistoryElement[] favs = DebugUIPlugin.getLaunchConfigurationManager().getDebugHistory();
-		ILaunchConfiguration[] configs = new ILaunchConfiguration[favs.length];
-		for (int i = 0; i < favs.length; i++) {
-			configs[i] = favs[i].getLaunchConfiguration();
-			if (configs[i] == null) {
-				// not using launch configs
-				return new ILaunchConfiguration[0];
-			}
-		}
-		return configs;
-	}
-
-	/**
-	 * @see LaunchHistoryPreferenceTab#getMode()
-	 */
-	protected String getMode() {
-		return ILaunchManager.DEBUG_MODE;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java
deleted file mode 100644
index 0009d02..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The page for setting debugger preferences.  Built on the 'field editor' infrastructure.
- */
-public class DebugPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage, IDebugPreferenceConstants {
-
-	private RadioGroupFieldEditor fSaveRadioFieldEditor;
-	
-	private static final String PERSPECTIVE_NONE_NAME = LaunchConfigurationsMessages.getString("CommonTab.None");; //$NON-NLS-1$
-	
-	public DebugPreferencePage() {
-		super(GRID);
-
-		IPreferenceStore store= DebugUIPlugin.getDefault().getPreferenceStore();
-		setPreferenceStore(store);
-		setDescription(DebugPreferencesMessages.getString("DebugPreferencePage.General_Settings_for_Debugging_1")); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(getControl(), IDebugHelpContextIds.DEBUG_PREFERENCE_PAGE);
-	}
-	
-	/**
-	 * @see FieldEditorPreferencePage#createFieldEditors
-	 */
-	protected void createFieldEditors() {
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_BUILD_BEFORE_LAUNCH, DebugPreferencesMessages.getString("DebugPreferencePage.auto_build_before_launch"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$		
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_AUTO_REMOVE_OLD_LAUNCHES, DebugPreferencesMessages.getString("DebugPreferencePage.Remove_terminated_launches_when_a_new_launch_is_created_1"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_REUSE_EDITOR, DebugPreferencesMessages.getString("DebugPreferencePage.Reuse_editor_when_displa&ying_source_code_1"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		
-		createSpacer(getFieldEditorParent(), 1);
-		
-		createSaveBeforeLaunchEditors(getFieldEditorParent());
-		
-		createSpacer(getFieldEditorParent(), 1);
-		
-		String[][] perspectiveNamesAndIds = getPerspectiveNamesAndIds();
-		addField(new ComboFieldEditor(IDebugUIConstants.PREF_SHOW_DEBUG_PERSPECTIVE_DEFAULT,
-									   DebugPreferencesMessages.getString("DebugPreferencePage.Default_perspective_for_Debug_2"), //$NON-NLS-1$
-									   perspectiveNamesAndIds,
-									   getFieldEditorParent()));
-									   
-		addField(new ComboFieldEditor(IDebugUIConstants.PREF_SHOW_RUN_PERSPECTIVE_DEFAULT,
-									   DebugPreferencesMessages.getString("DebugPreferencePage.Default_perspective_for_Run_3"), //$NON-NLS-1$
-									   perspectiveNamesAndIds,
-									   getFieldEditorParent()));
-	}
-
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	public static void initDefaults(IPreferenceStore store) {
-		store.setDefault(IDebugUIConstants.PREF_BUILD_BEFORE_LAUNCH, true);	
-		store.setDefault(IDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH_RADIO, IDebugUIConstants.PREF_PROMPT_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH);
-		store.setDefault(IDebugUIConstants.PREF_SHOW_DEBUG_PERSPECTIVE_DEFAULT, IDebugUIConstants.ID_DEBUG_PERSPECTIVE);
-		store.setDefault(IDebugUIConstants.PREF_SHOW_RUN_PERSPECTIVE_DEFAULT, IDebugUIConstants.PERSPECTIVE_NONE);
-		store.setDefault(IDebugUIConstants.PREF_AUTO_REMOVE_OLD_LAUNCHES, false);
-		
-		store.setDefault(IDebugUIConstants.PREF_REUSE_EDITOR, true);
-	}
-	
-	private void createSaveBeforeLaunchEditors(Composite parent) {
-		fSaveRadioFieldEditor = new RadioGroupFieldEditor(IDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH_RADIO, DebugPreferencesMessages.getString("DebugPreferencePage.Save_dirty_editors_before_launching_4"), 1,  //$NON-NLS-1$
-										new String[][] {{DebugPreferencesMessages.getString("DebugPreferencePage.&Never_5"), IDebugUIConstants.PREF_NEVER_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH}, //$NON-NLS-1$
-														{DebugPreferencesMessages.getString("DebugPreferencePage.&Prompt_6"), IDebugUIConstants.PREF_PROMPT_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH}, //$NON-NLS-1$
-														{DebugPreferencesMessages.getString("DebugPreferencePage.Auto-sav&e_7"), IDebugUIConstants.PREF_AUTOSAVE_DIRTY_EDITORS_BEFORE_LAUNCH}}, //$NON-NLS-1$
-										parent, true);
-		addField(fSaveRadioFieldEditor);			
-	}	
-	
-	/**
-	 * Return a 2-dimensional array of perspective names and ids arranged as follows:
-	 * { {persp1name, persp1id}, {persp2name, persp2id}, ... }
-	 */
-	protected static String[][] getPerspectiveNamesAndIds() {
-		IPerspectiveRegistry reg = PlatformUI.getWorkbench().getPerspectiveRegistry();
-		IPerspectiveDescriptor[] persps = reg.getPerspectives();
-		
-		String[][] table = new String[persps.length + 1][2];
-		table[0][0] = PERSPECTIVE_NONE_NAME;
-		table[0][1] = IDebugUIConstants.PERSPECTIVE_NONE;
-		for (int i = 0; i < persps.length; i++) {
-			table[i + 1][0] = persps[i].getLabel();
-			table[i + 1][1] = persps[i].getId();
-		}
-		
-		return table;
-	}
-	
-	protected void createSpacer(Composite composite, int columnSpan) {
-		Label label = new Label(composite, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = columnSpan;
-		label.setLayoutData(gd);
-	}
-	
-	/**
-	 * @see IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		boolean ok= super.performOk();
-		DebugUIPlugin.getDefault().savePluginPreferences();
-		return ok;
-	}			
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java
deleted file mode 100644
index 28d0657..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class DebugPreferencesMessages {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.debug.internal.ui.preferences.DebugPreferencesMessages";//$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private DebugPreferencesMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.properties
deleted file mode 100644
index a5af179..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.properties
+++ /dev/null
@@ -1,74 +0,0 @@
-######################################################################
-# Copyright (c) 2000, 2002 IBM Corp. and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v0.5
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v05.html
-#
-# Contributors:
-#    IBM Corporation - Initial implementation
-######################################################################
-
-ConsolePreferencePage.Console_font_setting___5=Text Font: 
-ConsolePreferencePage.Console_settings=Debug Console Settings.
-ConsolePreferencePage.Show_&Console_View_when_there_is_program_error_3=Show when &program writes to standard error
-ConsolePreferencePage.Show_&Console_View_when_there_is_program_output_3=&Show when program writes to standard out
-ConsolePreferencePage.Standard_Error__3=Standard &Error Text Color:
-ConsolePreferencePage.Standard_In__4=Standard &In Text Color:
-ConsolePreferencePage.Standard_Out__2=Standard &Out Text Color:
-ConsolePreferencePage.Wrap_text_1=Fixed &width console
-ConsolePreferencePage.Console_width=&Maximum character width:
-
-DebugActionGroupsPreferencePage.&Available_Debug_Action_Groups__2=A&vailable Debug Action Groups:
-DebugActionGroupsPreferencePage.Actions_in_Group__3=Actions in &Group:
-DebugActionGroupsPreferencePage.Select_the_action_groups_to_be_displayed_in_Debug_views_1=Action groups to be displayed in debug views.\nThe action(s) of a deselected action groups will not be visible in debug views.
-
-DebugActionGroupsActionContentProvider.Updated_when_Debug_perspective_activated_1=Updated when Debug perspective activated
-
-DebugActionGroupsLabelProvider.<Unknown>_1=<Unknown>
-
-DebugActionGroupsManager._view__6=\ view 
-DebugActionGroupsManager.context_menu_8=context menu
-DebugActionGroupsManager.Improperly_specified_debug_action_group_4=Improperly specified debug action group
-DebugActionGroupsManager.toolbar_7=toolbar
-DebugActionGroupsManager.Duplicate_action_group_id=Duplicate debug action group id: \"{0}\"; duplicate(s) ignored.
-
-DebugHistoryPreferenceTab.Favorite_Debug_Confi&gurations__1=Favorite Debug Confi&gurations:
-DebugHistoryPreferenceTab.Recent_Debug_&Launches__2=Recent Debug &Launches:
-
-DebugPreferencePage.&Never_5=&Never
-DebugPreferencePage.&Prompt_6=Pro&mpt
-DebugPreferencePage.auto_build_before_launch=&Build (if required) before launching
-DebugPreferencePage.Auto-sav&e_7=Auto-sav&e
-DebugPreferencePage.General_Settings_for_Debugging_1=General Settings for Debugging.
-DebugPreferencePage.Remove_terminated_launches_when_a_new_launch_is_created_1=&Remove terminated launches when a new launch is created
-DebugPreferencePage.Save_dirty_editors_before_launching_4=Save dirty editors before launching
-DebugPreferencePage.Default_perspective_for_Debug_2=Default &perspective for Debug
-DebugPreferencePage.Default_perspective_for_Run_3=Default perspec&tive for Run
-DebugPreferencePage.Reuse_editor_when_displa&ying_source_code_1=Reuse editor when displaying &source code
-
-LaunchHistoryPreferencePage.&Run_2=&Run
-LaunchHistoryPreferencePage.De&bug_1=De&bug
-LaunchHistoryPreferencePage.description=Manage Launch History.
-LaunchHistoryPreferencePage.Maximum_launch_history_size_1=Ma&ximum launch history size:
-LaunchHistoryPreferencePage.The_size_of_the_launch_history_should_be_between_{0}_and_{1}_1=The size of the launch history should be between {0} and {1}
-
-LaunchHistoryPreferenceTab.Add_&Config_1=Add &Config...
-LaunchHistoryPreferenceTab.Do&wn_4=Do&wn
-LaunchHistoryPreferenceTab.Make_&Favorite_5=Make &Favorite
-LaunchHistoryPreferenceTab.Re&move_2=Re&move
-LaunchHistoryPreferenceTab.Remo&ve_6=Remo&ve
-LaunchHistoryPreferenceTab.Select_Launch_Configurations_7=Select &Launch Configurations:
-LaunchHistoryPreferenceTab.U&p_3=U&p
-
-RunHistoryPreferenceTab.Favorite_Run_Confi&gurations__1=Favorite Run Confi&gurations:
-RunHistoryPreferenceTab.Recent_Run_&Launches__2=Recent Run &Launches:
-
-VariableViewsPreferencePage.&Changed_variable_value_color__3=&Changed variable value color:
-VariableViewsPreferencePage.Orientation_of_detail_pane_in_variables_view_1=Orientation of detail pane
-VariableViewsPreferencePage.Underneath_the_variables_tree_pane_3=&Underneath the variables tree pane
-VariableViewsPreferencePage.To_the_right_of_variables_tree_pane_2=&To the right of variables tree pane
-VariabeViewsPreferencePage.Debug_Variable_Views_Settings_1=Debug Variable Views Settings.
-VariableViewPreferencePage.&Show_detail_pane_by_default_1=&Show detail pane by default
-VariableViewPreferencePage.Show_type_&names_by_default_2=Show type &names by default
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java
deleted file mode 100644
index a6b4b44..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-/**
- * Constants defining the keys to be used for accessing preferences
- * inside the debug ui plugin's preference bundle.
- *
- * In descriptions (of the keys) below describe the preference 
- * stored at the given key. The type indicates type of the stored preferences
- *
- * The preference store is loaded by the plugin (DebugUIPlugin).
- * @see DebugUIPlugin.initializeDefaultPreferences(IPreferenceStore) - for initialization of the store
- */
-public interface IDebugPreferenceConstants {
-
-	/**
-	 * RGB colors for displaying the content in the Console
-	 */
-	public static final String CONSOLE_SYS_ERR_RGB= "Console.stdErrColor"; //$NON-NLS-1$
-	public static final String CONSOLE_SYS_OUT_RGB= "Console.stdOutColor"; //$NON-NLS-1$
-	public static final String CONSOLE_SYS_IN_RGB= "Console.stdInColor"; //$NON-NLS-1$
-			
-	/**
-	 * The name of the font to use for the Console
-	 **/
-	public static final String CONSOLE_FONT= "Console.font"; //$NON-NLS-1$
-	
-	/**
-	 * (boolean) Whether or not the text in the console will wrap
-	 */
-	public static final String CONSOLE_WRAP= "Console.wrap"; //$NON-NLS-1$
-	
-	/**
-	 * (int) The maximum console character width, if wrapping. 
-	 */ 
-	public static final String CONSOLE_WIDTH = "Console.width"; //$NON-NLS-1$
-	
-	/**
-	 * (boolean) Whether or not the console view is shown 
-	 * when there is program output.
-  	 */
-	public static final String CONSOLE_OPEN_ON_OUT= "DEBUG.consoleOpenOnOut"; //$NON-NLS-1$
-	/**
-	 * (boolean) Whether or not the console view is shown 
-	 * when there is program error.
-  	 */
-	public static final String CONSOLE_OPEN_ON_ERR= "DEBUG.consoleOpenOnErr"; //$NON-NLS-1$
-	
-	/**
-	 * The orientation of the detail view in the VariablesView
-	 */
-	public static final String VARIABLES_DETAIL_PANE_ORIENTATION = "Variables.detail.orientation"; //$NON-NLS-1$
-	public static final String VARIABLES_DETAIL_PANE_RIGHT = "Variables.detail.orientation.right"; //$NON-NLS-1$
-	public static final String VARIABLES_DETAIL_PANE_UNDERNEATH = "Variables.detail.orientation.underneath"; //$NON-NLS-1$
-	
-	/**
-	 * The RGB for the color to be used to indicate changed variables
-	 */
-	public static final String CHANGED_VARIABLE_RGB= "Changed.Variable.RGB"; //$NON-NLS-1$
-	
-	/**
-	 * Memento for the last selected launch config in the
-	 * launch config dialog.
-	 */
-	public static final String PREF_LAST_LAUNCH_CONFIGURATION_SELECTION = IDebugUIConstants.PLUGIN_ID + ".lastLaunchConfigSelection"; //$NON-NLS-1$
-
-	/**
-	 * Serialized list of the enabled debug action groups
-	 */	
-	public static final String PREF_ENABLED_DEBUG_ACTION_GROUPS = IDebugUIConstants.PLUGIN_ID + "enabledDebugActionGroups"; //$NON-NLS-1$
-	
-	/**
-	 * Serialized list of the disabled debug action groups
-	 */	
-	public static final String PREF_DISABLED_DEBUG_ACTION_GROUPS = IDebugUIConstants.PLUGIN_ID + "disabledDebugActionGroups"; //$NON-NLS-1$
-	
-	/**
-	 * Serialized X,Y coordinates of the last location of the launch configuration dialog.
-	 */
-	public static final String PREF_LAUNCH_CONFIGURATION_DIALOG_LOCATION = IDebugUIConstants.PLUGIN_ID + "launchConfigurationDialogLocation"; //$NON-NLS-1$
-	
-	/**
-	 * Serialized width,height values of the launch configuration dialog.
-	 */
-	public static final String PREF_LAUNCH_CONFIGURATION_DIALOG_SIZE = IDebugUIConstants.PLUGIN_ID + "launchConfigurationDialogSize"; //$NON-NLS-1$
-	
-	/**
-	 * Serialized relative weights of the sashed elements of the launch configuration dialog.
-	 */
-	public static final String PREF_LAUNCH_CONFIGURATION_DIALOG_SASH_WEIGHTS = IDebugUIConstants.PLUGIN_ID + "launchConfigurationDialogSashWeights"; //$NON-NLS-1$
-	
-	/**
-	 * The maximum size of the launch history list
-	 */
-	public static int MAX_LAUNCH_HISTORY_SIZE= 20;
-}
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchHistoryPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchHistoryPreferencePage.java
deleted file mode 100644
index e80e8d3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchHistoryPreferencePage.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationHistoryElement;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-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.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Preference page to manage launch history & favorites
- */
-public class LaunchHistoryPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	
-	private IntegerFieldEditor fHistoryMaxEditor;
-	/**
-	 * Debug tab.
-	 */
-	protected LaunchHistoryPreferenceTab fDebugTab;
-	
-	/**
-	 * Run tab.
-	 */
-	protected LaunchHistoryPreferenceTab fRunTab;
-	
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		fHistoryMaxEditor = new IntegerFieldEditor(IDebugUIConstants.PREF_MAX_HISTORY_SIZE, DebugPreferencesMessages.getString("LaunchHistoryPreferencePage.Maximum_launch_history_size_1"), composite); //$NON-NLS-1$
-		int historyMax = IDebugPreferenceConstants.MAX_LAUNCH_HISTORY_SIZE;
-		fHistoryMaxEditor.setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
-		fHistoryMaxEditor.setPreferencePage(this);
-		fHistoryMaxEditor.setTextLimit(Integer.toString(historyMax).length());
-		fHistoryMaxEditor.setErrorMessage(MessageFormat.format(DebugPreferencesMessages.getString("LaunchHistoryPreferencePage.The_size_of_the_launch_history_should_be_between_{0}_and_{1}_1"), new Object[] { new Integer(1), new Integer(historyMax)})); //$NON-NLS-1$
-		fHistoryMaxEditor.setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
-		fHistoryMaxEditor.setValidRange(1, historyMax);
-		fHistoryMaxEditor.load();
-		fHistoryMaxEditor.setPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(FieldEditor.IS_VALID)) 
-					setValid(fHistoryMaxEditor.isValid());
-			}
-		});
-		fHistoryMaxEditor.fillIntoGrid(composite, 2);
-
-		TabFolder tabFolder = new TabFolder(composite, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.horizontalSpan= 2;
-		tabFolder.setLayoutData(gd);
-		
-		TabItem tab = new TabItem(tabFolder, SWT.NONE);
-		tab.setText(DebugPreferencesMessages.getString("LaunchHistoryPreferencePage.De&bug_1")); //$NON-NLS-1$
-		tab.setImage(DebugPluginImages.getImage(IDebugUIConstants.IMG_ACT_DEBUG));
-		tab.setControl(createDebugTab(tabFolder));
-		
-		tab = new TabItem(tabFolder, SWT.NONE);
-		tab.setText(DebugPreferencesMessages.getString("LaunchHistoryPreferencePage.&Run_2")); //$NON-NLS-1$
-		tab.setImage(DebugPluginImages.getImage(IDebugUIConstants.IMG_ACT_RUN));
-		tab.setControl(createRunTab(tabFolder));
-				
-		return composite;
-	}
-	
-	/**
-	 * Creates the control for the debug favorites
-	 */
-	protected Control createDebugTab(Composite parent) {
-		setDebugTab(new DebugHistoryPreferenceTab());
-		return getDebugTab().createControl(parent);
-	}
-
-	/**
-	 * Creates the control for the debug favorites
-	 */
-	protected Control createRunTab(Composite parent) {
-		setRunTab(new RunHistoryPreferenceTab());
-		return getRunTab().createControl(parent);
-	}
-	
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-		setDescription(DebugPreferencesMessages.getString("LaunchHistoryPreferencePage.description")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the run tab.
-	 * 
-	 * @return a lanuch history preference tab
-	 */
-	protected LaunchHistoryPreferenceTab getRunTab() {
-		return fRunTab;
-	}
-
-	/**
-	 * Sets the run tab.
-	 * 
-	 * @param tab lanuch history preference tab
-	 */
-	private void setRunTab(LaunchHistoryPreferenceTab tab) {
-		fRunTab = tab;
-	}
-	
-	/**
-	 * Returns the debug tab.
-	 * 
-	 * @return a lanuch history preference tab
-	 */
-	protected LaunchHistoryPreferenceTab getDebugTab() {
-		return fDebugTab;
-	}
-
-	/**
-	 * Sets the debug tab.
-	 * 
-	 * @param tab lanuch history preference tab
-	 */
-	private void setDebugTab(LaunchHistoryPreferenceTab tab) {
-		fDebugTab = tab;
-	}
-
-	/**
-	 * @see PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		
-		ILaunchConfiguration[] debugOriginals = getDebugTab().getInitialFavorites();
-		ILaunchConfiguration[] runOriginals = getRunTab().getInitialFavorites();
-		
-		LaunchConfigurationManager manager= DebugUIPlugin.getLaunchConfigurationManager();
-		// debug favorites
-		Vector list = convertToHistoryElements(getDebugTab().getFavorites(), ILaunchManager.DEBUG_MODE);
-		manager.setDebugFavorites(list);
-		
-		// debug recent history
-		list = convertToHistoryElements(getDebugTab().getRecents(), ILaunchManager.DEBUG_MODE);
-		manager.setDebugHistory(list);
-		
-		// run favorites
-		list = convertToHistoryElements(getRunTab().getFavorites(), ILaunchManager.RUN_MODE);
-		manager.setRunFavorites(list);
-		
-		// run recent history
-		list = convertToHistoryElements(getRunTab().getRecents(), ILaunchManager.RUN_MODE);
-		manager.setRunHistory(list);	
-		
-		// update config attributes for favorites
-		List current = getDebugTab().getFavorites();
-		updateAttributes(debugOriginals, current, IDebugUIConstants.ATTR_DEBUG_FAVORITE);
-		
-		current = getRunTab().getFavorites();
-		updateAttributes(runOriginals, current, IDebugUIConstants.ATTR_RUN_FAVORITE);			
-		
-		fHistoryMaxEditor.store();
-		
-		DebugUIPlugin.getDefault().savePluginPreferences();
-		return true;
-	}
-	
-	/**
-	 * Update the 'favorite' attributes to reflect the current list.
-	 */
-	protected void updateAttributes(ILaunchConfiguration[] originals, List current, String attribute) {
-		List added = new ArrayList(current);
-		List removed = new ArrayList();
-
-		for (int i = 0; i < originals.length; i++) {
-			added.remove(originals[i]);
-			if (!current.contains(originals[i])) {
-				removed.add(originals[i]);
-			}
-		}
-		
-		try {
-			Iterator a = added.iterator();
-			while (a.hasNext()) {
-				ILaunchConfiguration config = (ILaunchConfiguration)a.next();
-				ILaunchConfigurationWorkingCopy wc = config.getWorkingCopy();
-				wc.setAttribute(attribute, true);
-				wc.doSave();
-			}
-			
-			Iterator r = removed.iterator();
-			while (r.hasNext()) {
-				ILaunchConfiguration config = (ILaunchConfiguration)r.next();
-				ILaunchConfigurationWorkingCopy wc = config.getWorkingCopy();
-				wc.setAttribute(attribute, (String)null);
-				wc.doSave();
-			}				
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * Converts the list of launch configurations to a vector
-	 * of history elements.
-	 * 
-	 * @param configs list of configs
-	 * @param mode the mode for the history elements
-	 * @return vector of history elements corresponding to the
-	 *  given launch configurations
-	 */
-	protected Vector convertToHistoryElements(List configs, String mode) {
-		Vector  v = new Vector(configs.size());
-		Iterator iter = configs.iterator();
-		while (iter.hasNext()) {
-			ILaunchConfiguration config = (ILaunchConfiguration)iter.next();
-			LaunchConfigurationHistoryElement hist = new LaunchConfigurationHistoryElement(config, mode);
-			v.add(hist);
-		}
-		return v;
-	}
-	
-	/**
-	 * @see PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		getDebugTab().performDefaults();
-		getRunTab().performDefaults();
-		fHistoryMaxEditor.loadDefault();
-		super.performDefaults();
-	}
-	
-	public static void initDefaults(IPreferenceStore store) {
-		store.setDefault(IDebugUIConstants.PREF_MAX_HISTORY_SIZE, 10);	
-	}
-	/**
-	 * @see IDialogPage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(getControl(), IDebugHelpContextIds.LAUNCH_HISTORY_PREFERENCE_PAGE);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchHistoryPreferenceTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchHistoryPreferenceTab.java
deleted file mode 100644
index 83ef9c7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchHistoryPreferenceTab.java
+++ /dev/null
@@ -1,537 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-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.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * Tab for favorite and recent history lists
- */
-public abstract class LaunchHistoryPreferenceTab {
-		
-	/**
-	 * Table of favorite launch configurations
-	 */
-	private TableViewer fFavoritesTable;
-
-	/**
-	 * Table of recent launch configurations
-	 */
-	private TableViewer fRecentTable;
-	
-	/**
-	 * Favorite Buttons
-	 */
-	private Button fRemoveFavoritesButton;
-	private Button fMoveUpButton;
-	private Button fMoveDownButton;
-	
-	/**
-	 * Recent Buttons
-	 */
-	private Button fAddToFavoritesButton;
-	private Button fRemoveRecentButton;
-	
-	/**
-	 * Current collection of favorites and recent launch configs
-	 */
-	private List fFavorites;
-	private List fRecents;
-	
-	/**
-	 * Creates the control for this tab
-	 */
-	protected Control createControl(Composite parent) {
-		Composite topComp = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		topComp.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		topComp.setLayoutData(gd);
-	
-		Label favoritesLabel = new Label(topComp, SWT.LEFT);
-		favoritesLabel.setText(getFavoritesLabel());
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		favoritesLabel.setLayoutData(gd);
-	
-		setFavoritesTable(new TableViewer(topComp, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION));
-		getFavoritesTable().setContentProvider(new FavoritesContentProvider());
-		getFavoritesTable().setLabelProvider(DebugUITools.newDebugModelPresentation());
-		getFavoritesTable().addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent evt) {
-				handleFavoriteSelectionChanged();
-			}
-		});
-		gd = new GridData(GridData.FILL_BOTH);
-		getFavoritesTable().getTable().setLayoutData(gd);
-		getFavoritesTable().setInput(DebugUIPlugin.getDefault());
-		
-		Composite buttonComp = new Composite(topComp, SWT.NONE);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		buttonComp.setLayoutData(gd);
-		layout = new GridLayout();
-		layout.numColumns = 1;
-		buttonComp.setLayout(layout);
-		
-		Button addFav = SWTUtil.createPushButton(buttonComp,DebugPreferencesMessages.getString("LaunchHistoryPreferenceTab.Add_&Config_1"), null); //$NON-NLS-1$
-		addFav.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleAddConfigButtonSelected();
-			}
-		});
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-		addFav.setLayoutData(gd);		
-		SWTUtil.setButtonDimensionHint(addFav);
-		
-		fRemoveFavoritesButton = SWTUtil.createPushButton(buttonComp, DebugPreferencesMessages.getString("LaunchHistoryPreferenceTab.Re&move_2"), null); //$NON-NLS-1$
-		fRemoveFavoritesButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleRemoveFavoriteButtonSelected();
-			}
-		});
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-		fRemoveFavoritesButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fRemoveFavoritesButton);
-		fRemoveFavoritesButton.setEnabled(false);
-		
-		fMoveUpButton = SWTUtil.createPushButton(buttonComp, DebugPreferencesMessages.getString("LaunchHistoryPreferenceTab.U&p_3"), null); //$NON-NLS-1$
-		fMoveUpButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleMoveUpButtonSelected();
-			}
-		});
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-		fMoveUpButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fMoveUpButton);
-		fMoveUpButton.setEnabled(false);
-		
-		fMoveDownButton = SWTUtil.createPushButton(buttonComp, DebugPreferencesMessages.getString("LaunchHistoryPreferenceTab.Do&wn_4"), null); //$NON-NLS-1$
-		fMoveDownButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleMoveDownButtonSelected();
-			}
-		});
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-		fMoveDownButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fMoveDownButton);
-		fMoveDownButton.setEnabled(false);					
-	
-		createSpacer(topComp, 1);
-	
-		Label recent = new Label(topComp, SWT.LEFT);
-		recent.setText(getRecentLabel());
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		recent.setLayoutData(gd);
-	
-		setRecentTable(new TableViewer(topComp, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION));
-		getRecentTable().setContentProvider(new RecentContentProvider());
-		getRecentTable().setLabelProvider(DebugUITools.newDebugModelPresentation());
-		getRecentTable().addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent evt) {
-				handleRecentSelectionChanged();
-			}
-		});
-		gd = new GridData(GridData.FILL_BOTH);
-		getRecentTable().getTable().setLayoutData(gd);
-		getRecentTable().setInput(DebugUIPlugin.getDefault());
-		
-		buttonComp = new Composite(topComp, SWT.NONE);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		buttonComp.setLayoutData(gd);
-		layout = new GridLayout();
-		layout.numColumns = 1;
-		buttonComp.setLayout(layout);
-		
-		fAddToFavoritesButton = SWTUtil.createPushButton(buttonComp, DebugPreferencesMessages.getString("LaunchHistoryPreferenceTab.Make_&Favorite_5"), null); //$NON-NLS-1$
-		fAddToFavoritesButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleMakeFavoriteButtonSelected();
-			}
-		});
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-		fAddToFavoritesButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fAddToFavoritesButton);
-		fAddToFavoritesButton.setEnabled(false);
-		
-		fRemoveRecentButton = SWTUtil.createPushButton(buttonComp, DebugPreferencesMessages.getString("LaunchHistoryPreferenceTab.Remo&ve_6"), null); //$NON-NLS-1$
-		fRemoveRecentButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleRemoveRecentButtonSelected();
-			}
-		});
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-		fRemoveRecentButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fRemoveRecentButton);
-		fRemoveRecentButton.setEnabled(false);				
-				
-		return topComp;
-	}
-
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-	protected void createSpacer(Composite composite, int columnSpan) {
-		Label label = new Label(composite, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = columnSpan;
-		label.setLayoutData(gd);
-	}
-	
-	/**
-	 * Returns the table of favorite launch configurations.
-	 * 
-	 * @return table viewer
-	 */
-	protected TableViewer getFavoritesTable() {
-		return fFavoritesTable;
-	}
-
-	/**
-	 * Sets the table of favorite launch configurations.
-	 * 
-	 * @param favoritesTable table viewer
-	 */
-	private void setFavoritesTable(TableViewer favoritesTable) {
-		fFavoritesTable = favoritesTable;
-	}
-
-	/**
-	 * The selection in the favorites list has changed
-	 */
-	protected void handleFavoriteSelectionChanged() {
-		IStructuredSelection selection = (IStructuredSelection)getFavoritesTable().getSelection();
-		List favs = getFavorites();
-		boolean notEmpty = !selection.isEmpty();
-		Iterator elements= selection.iterator();
-		boolean first= false;
-		boolean last= false;
-		int lastFav= favs.size() - 1;
-		while (elements.hasNext()) {
-			Object element = (Object) elements.next();
-			if(!first && favs.indexOf(element) == 0) {
-				first= true;
-			}
-			if (!last && favs.indexOf(element) == lastFav) {
-				last= true;
-			}
-		}
-		
-		fRemoveFavoritesButton.setEnabled(notEmpty);
-		fMoveUpButton.setEnabled(notEmpty && !first);
-		fMoveDownButton.setEnabled(notEmpty && !last);
-	}
-	
-	/**
-	 * Returns the table of recent launch configurations.
-	 * 
-	 * @return table viewer
-	 */
-	protected TableViewer getRecentTable() {
-		return fRecentTable;
-	}
-
-	/**
-	 * Sets the table of recent launch configurations.
-	 * 
-	 * @param table table viewer
-	 */
-	private void setRecentTable(TableViewer table) {
-		fRecentTable = table;
-	}
-
-	/**
-	 * The selection in the recent list has changed
-	 */
-	protected void handleRecentSelectionChanged() {
-		IStructuredSelection selection = (IStructuredSelection)getRecentTable().getSelection();
-		boolean notEmpty = !selection.isEmpty();
-		
-		fRemoveRecentButton.setEnabled(notEmpty);
-		fAddToFavoritesButton.setEnabled(notEmpty);
-	}	
-	
-	/**
-	 * The 'add config' button has been pressed
-	 */
-	protected void handleAddConfigButtonSelected() {
-		
-		ListSelectionDialog dialog = new ListSelectionDialog(fFavoritesTable.getControl().getShell(),
-			getMode(), new LaunchConfigurationContentProvider(), DebugUITools.newDebugModelPresentation(),
-			DebugPreferencesMessages.getString("LaunchHistoryPreferenceTab.Select_Launch_Configurations_7")); //$NON-NLS-1$
-		dialog.open();
-		Object[] selection = dialog.getResult();
-		if (selection != null) {
-			for (int i = 0; i < selection.length; i++) {
-				getFavorites().add(selection[i]);
-				getRecents().remove(selection[i]);
-			}
-			updateStatus();
-		}
-	}	
-	
-	/**
-	 * The 'remove favorites' button has been pressed
-	 */
-	protected void handleRemoveFavoriteButtonSelected() {
-		IStructuredSelection sel = (IStructuredSelection)getFavoritesTable().getSelection();
-		Iterator iter = sel.iterator();
-		while (iter.hasNext()) {
-			Object config = iter.next();
-			getFavorites().remove(config);
-		}
-		getFavoritesTable().refresh();		
-	}	
-	
-	/**
-	 * The 'move up' button has been pressed
-	 */
-	protected void handleMoveUpButtonSelected() {
-		handleMove(-1);
-	}	
-	
-	/**
-	 * The 'move down' button has been pressed
-	 */
-	protected void handleMoveDownButtonSelected() {
-		handleMove(1);
-	}	
-	
-	protected void handleMove(int direction) {
-		IStructuredSelection sel = (IStructuredSelection)getFavoritesTable().getSelection();
-		List selList= sel.toList();
-		Object[] movedFavs= new Object[getFavorites().size()];
-		int i;
-		for (Iterator favs = selList.iterator(); favs.hasNext();) {
-			Object config = favs.next();
-			i= getFavorites().indexOf(config);
-			movedFavs[i + direction]= config;
-		}
-		
-		getFavorites().removeAll(selList);
-			
-		for (int j = 0; j < movedFavs.length; j++) {
-			Object config = movedFavs[j];
-			if (config != null) {
-				getFavorites().add(j, config);		
-			}
-		}
-		
-		getFavoritesTable().refresh();	
-		handleFavoriteSelectionChanged();	
-	}
-	
-	/**
-	 * The 'remove recent' button has been pressed
-	 */
-	protected void handleRemoveRecentButtonSelected() {
-		IStructuredSelection sel = (IStructuredSelection)getRecentTable().getSelection();
-		Iterator iter = sel.iterator();
-		while (iter.hasNext()) {
-			Object config = iter.next();
-			getRecents().remove(config);
-		}
-		getRecentTable().refresh();		
-	}	
-	
-	/**
-	 * The 'add recent to favorites' button has been pressed
-	 */
-	protected void handleMakeFavoriteButtonSelected() {
-		IStructuredSelection sel = (IStructuredSelection)getRecentTable().getSelection();
-		Iterator iter = sel.iterator();
-		while (iter.hasNext()) {
-			Object config = iter.next();
-			getFavorites().add(config);
-			getRecents().remove(config);
-		}
-		updateStatus();
-	}		
-
-	/**
-	 * Returns the mode of this page - run or debug.
-	 */
-	protected abstract String getMode();
-		
-	/**
-	 * Returns the label for the favorites table.
-	 */
-	protected abstract String getFavoritesLabel();
-		
-	/**
-	 * Returns the initial content for the favorites list
-	 */
-	protected abstract ILaunchConfiguration[] getInitialFavorites();
-	
-	/**
-	 * Returns the label for the recent launch table.
-	 */
-	protected abstract String getRecentLabel();	
-	
-	/**
-	 * Returns the initial content for the recent table
-	 */
-	protected abstract ILaunchConfiguration[] getInitialRecents();	
-	
-	/**
-	 * Content provider for favorites table
-	 */
-	protected class FavoritesContentProvider implements IStructuredContentProvider {
-		
-		/**
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return getFavorites().toArray();
-		}
-
-		/**
-		 * @see IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/**
-		 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-
-	}
-	
-	/**
-	 * Content provider for recent table
-	 */	
-	protected class RecentContentProvider extends FavoritesContentProvider {
-		
-		/**
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return getRecents().toArray();
-		}
-
-	}	
-	
-	/**
-	 * Content provider for recent table
-	 */	
-	protected class LaunchConfigurationContentProvider extends FavoritesContentProvider {
-		
-		/**
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			ILaunchConfiguration[] all = null;
-			try {
-				all = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-				return new ILaunchConfiguration[0];
-			}
-			List list = new ArrayList(all.length);
-			String mode = (String)inputElement;
-			for (int i = 0; i < all.length; i++) {
-				try {
-					if (all[i].getType().supportsMode(mode) && !all[i].getAttribute(IDebugUIConstants.ATTR_PRIVATE, false)) {
-						list.add(all[i]);
-					}
-				} catch (CoreException e) {
-					// ignore
-				}
-			}
-			list.removeAll(getFavorites());
-			Object[] objs = list.toArray();
-			new WorkbenchViewerSorter().sort(getFavoritesTable(), objs);
-			return objs;
-		}
-
-	}	
-	
-	/**
-	 * Returns the current list of favorites.
-	 */
-	protected List getFavorites() {
-		if (fFavorites == null) {
-			ILaunchConfiguration[] favs = getInitialFavorites();
-			fFavorites = new ArrayList(favs.length);
-			addAll(favs, fFavorites);
-		}
-		return fFavorites;
-	}
-	
-	/**
-	 * Returns the current list of recents.
-	 */
-	protected List getRecents() {
-		if (fRecents == null) {
-			ILaunchConfiguration[] recent = getInitialRecents();
-			fRecents = new ArrayList(recent.length);
-			addAll(recent, fRecents);
-		}
-		return fRecents;
-	}	
-	
-	/**
-	 * Copies the array into the list
-	 */
-	protected void addAll(Object[] array, List list) {
-		for (int i = 0; i < array.length; i++) {
-			list.add(array[i]);
-		}
-	}
-	
-	/**
-	 * Restores defaults
-	 */
-	protected void performDefaults() {
-		fFavorites = null;
-		fRecents = null;
-		updateStatus();
-	}
-	
-	/**
-	 * Refresh all tables and buttons
-	 */
-	protected void updateStatus() {
-		getFavoritesTable().refresh();
-		getRecentTable().refresh();
-		handleFavoriteSelectionChanged();
-		handleRecentSelectionChanged();				
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunHistoryPreferenceTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunHistoryPreferenceTab.java
deleted file mode 100644
index c79533e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunHistoryPreferenceTab.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
- 
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationHistoryElement;
-
-/**
- * Run favorites and history
- */
-public class RunHistoryPreferenceTab extends LaunchHistoryPreferenceTab {
-	
-	/**
-	 * @see LaunchHistoryPreferenceTab#getFavoritesLabel()
-	 */
-	protected String getFavoritesLabel() {
-		return DebugPreferencesMessages.getString("RunHistoryPreferenceTab.Favorite_Run_Confi&gurations__1"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see LaunchHistoryPreferenceTab#getRecentLabel()
-	 */
-	protected String getRecentLabel() {
-		return DebugPreferencesMessages.getString("RunHistoryPreferenceTab.Recent_Run_&Launches__2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see LaunchHistoryPreferenceTab#getInitialFavorites()
-	 */
-	protected ILaunchConfiguration[] getInitialFavorites() {
-		LaunchConfigurationHistoryElement[] favs = DebugUIPlugin.getLaunchConfigurationManager().getRunFavorites();
-		ILaunchConfiguration[] configs = new ILaunchConfiguration[favs.length];
-		for (int i = 0; i < favs.length; i++) {
-			configs[i] = favs[i].getLaunchConfiguration();
-		}
-		return configs;
-	}
-
-	/**
-	 * @see LaunchHistoryPreferenceTab#getInitialRecents()
-	 */
-	protected ILaunchConfiguration[] getInitialRecents() {
-		LaunchConfigurationHistoryElement[] favs = DebugUIPlugin.getLaunchConfigurationManager().getRunHistory();
-		ILaunchConfiguration[] configs = new ILaunchConfiguration[favs.length];
-		for (int i = 0; i < favs.length; i++) {
-			configs[i] = favs[i].getLaunchConfiguration();
-			if (configs[i] == null) {
-				// not using launch configs
-				return new ILaunchConfiguration[0];
-			}
-		}
-		return configs;
-	}
-
-	/**
-	 * @see LaunchHistoryPreferenceTab#getMode()
-	 */
-	protected String getMode() {
-		return ILaunchManager.RUN_MODE;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/VariableViewsPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/VariableViewsPreferencePage.java
deleted file mode 100644
index e94d15a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/VariableViewsPreferencePage.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.eclipse.debug.internal.ui.preferences;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.ColorFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A page to set the preferences for the variables
- */
-public class VariableViewsPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage, IDebugPreferenceConstants {
-	/**
-	 * Create the variables page.
-	 */
-	public VariableViewsPreferencePage() {
-		super(GRID);
-		setDescription(DebugPreferencesMessages.getString("VariabeViewsPreferencePage.Debug_Variable_Views_Settings_1"));  //$NON-NLS-1$
-		setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
-	}
-
-	/**
-	 * @see PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(
-			parent,
-			IDebugHelpContextIds.VARIABLE_VIEWS_PREFERENCE_PAGE);
-	}
-	
-	/**
-	 * Create all field editors for this page
-	 */
-	public void createFieldEditors() {
-		
-		addField(new ColorFieldEditor(CHANGED_VARIABLE_RGB, DebugPreferencesMessages.getString("VariableViewsPreferencePage.&Changed_variable_value_color__3"), getFieldEditorParent())); //$NON-NLS-1$
-		
-		createSpacer(getFieldEditorParent(), 1);
-		
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_SHOW_DETAIL_PANE, DebugPreferencesMessages.getString("VariableViewPreferencePage.&Show_detail_pane_by_default_1"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_SHOW_TYPE_NAMES, DebugPreferencesMessages.getString("VariableViewPreferencePage.Show_type_&names_by_default_2"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		
-		createSpacer(getFieldEditorParent(), 1);
-		
-		addField(new RadioGroupFieldEditor(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_ORIENTATION,
-					DebugPreferencesMessages.getString("VariableViewsPreferencePage.Orientation_of_detail_pane_in_variables_view_1"), //$NON-NLS-1$
-					1,
-					new String[][] {
-						{DebugPreferencesMessages.getString("VariableViewsPreferencePage.To_the_right_of_variables_tree_pane_2"), IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_RIGHT}, //$NON-NLS-1$
-						{DebugPreferencesMessages.getString("VariableViewsPreferencePage.Underneath_the_variables_tree_pane_3"), IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH} //$NON-NLS-1$
-					},
-					getFieldEditorParent(), true));
-	}
-
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	public static void initDefaults(IPreferenceStore store) {
-		store.setDefault(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_ORIENTATION, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH);
-		
-		store.setDefault(IDebugUIConstants.PREF_SHOW_DETAIL_PANE, false);
-		store.setDefault(IDebugUIConstants.PREF_SHOW_TYPE_NAMES, false);
-		
-		PreferenceConverter.setDefault(store, CHANGED_VARIABLE_RGB, new RGB(255, 0, 0));
-	}
-	
-	protected void createSpacer(Composite composite, int columnSpan) {
-		Label label = new Label(composite, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = columnSpan;
-		label.setLayoutData(gd);
-	}
-	
-	/**
-	 * @see IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		boolean ok= super.performOk();
-		DebugUIPlugin.getDefault().savePluginPreferences();
-		return ok;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java
deleted file mode 100644
index d678cca..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package org.eclipse.debug.internal.ui.views;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugEvent;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.IDebugEventSetListener;

-import org.eclipse.debug.ui.AbstractDebugView;

-import org.eclipse.jface.viewers.IBasicPropertyConstants;

-import org.eclipse.jface.viewers.ITreeContentProvider;

-import org.eclipse.jface.viewers.StructuredSelection;

-import org.eclipse.jface.viewers.TreeViewer;

-import org.eclipse.jface.viewers.Viewer;

-

-/**

- * Handles debug events, updating a view and viewer.

- */

-public abstract class AbstractDebugEventHandler implements IDebugEventSetListener {

-	

-	/**

-	 * This event handler's view

-	 */

-	private AbstractDebugView fView;

-		

-	/**

-	 * Constructs an event handler for the given view.

-	 * 

-	 * @param view debug view

-	 */

-	public AbstractDebugEventHandler(AbstractDebugView view) {

-		setView(view);

-		DebugPlugin plugin= DebugPlugin.getDefault();

-		plugin.addDebugEventListener(this);

-	}

-	

-	/**

-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])

-	 */

-	public void handleDebugEvents(final DebugEvent[] events) {

-		if (!isAvailable()) {

-			return;

-		}

-		Runnable r= new Runnable() {

-			public void run() {

-				if (isAvailable()) {

-					doHandleDebugEvents(events);

-				}

-			}

-		};

-		

-		getView().asyncExec(r);

-	}

-	

-

-	/**

-	 * Implementation specific handling of debug events.

-	 * Subclasses should override.

-	 */

-	protected abstract void doHandleDebugEvents(DebugEvent[] events);	

-		

-	/**

-	 * Helper method for inserting the given element - must be called in UI thread

-	 */

-	protected void insert(Object element) {

-		if (isAvailable()) {

-			final Object parent= ((ITreeContentProvider)getTreeViewer().getContentProvider()).getParent(element);

-			// a parent can be null for a debug target or process that has not yet been associated

-			// with a launch

-			if (parent != null) {

-				getView().showViewer();

-				getTreeViewer().add(parent, element);

-			}

-		}

-	}

-

-	/**

-	 * Helper method to remove the given element - must be called in UI thread.

-	 */

-	protected void remove(Object element) {

-		if (isAvailable()) {

-			getView().showViewer();

-			getTreeViewer().remove(element);

-		}

-	}

-

-	/**

-	 * Helper method to update the label of the given element - must be called in UI thread

-	 */

-	protected void labelChanged(Object element) {

-		if (isAvailable()) {

-			getView().showViewer();

-			getTreeViewer().update(element, new String[] {IBasicPropertyConstants.P_TEXT});

-		}

-	}

-

-	/**

-	 * Refresh the given element in the viewer - must be called in UI thread.

-	 */

-	protected void refresh(Object element) {

-		if (isAvailable()) {

-			 getView().showViewer();

-			 getTreeViewer().refresh(element);

-		}

-	}

-	

-	/**

-	 * Refresh the viewer - must be called in UI thread.

-	 */

-	public void refresh() {

-		if (isAvailable()) {

-			 getView().showViewer();

-			 getTreeViewer().refresh();

-		}

-	}	

-

-	/**

-	 * Helper method to select and reveal the given element - must be called in UI thread

-	 */

-	protected void selectAndReveal(Object element) {

-		if (isAvailable()) {

-			getViewer().setSelection(new StructuredSelection(element), true);

-		}

-	}

-	

-	/**

-	 * De-registers this event handler from the debug model.

-	 */

-	public void dispose() {

-		DebugPlugin plugin= DebugPlugin.getDefault();

-		plugin.removeDebugEventListener(this);

-	}

-	

-	/**

-	 * Returns the view this event handler is

-	 * updating.

-	 * 

-	 * @return debug view

-	 */

-	protected AbstractDebugView getView() {

-		return fView;

-	}

-	

-	/**

-	 * Sets the view this event handler is updating.

-	 * 

-	 * @param view debug view

-	 */

-	private void setView(AbstractDebugView view) {

-		fView = view;

-	}

-

-	/**

-	 * Returns the viewer this event handler is 

-	 * updating.

-	 * 

-	 * @return viewer

-	 */	

-	protected Viewer getViewer() {

-		return getView().getViewer();

-	}

-	

-	/**

-	 * Returns this event handler's viewer as a tree

-	 * viewer or <code>null</code> if none.

-	 * 

-	 * @return this event handler's viewer as a tree

-	 * viewer or <code>null</code> if none

-	 */

-	protected TreeViewer getTreeViewer() {

-		if (getViewer() instanceof TreeViewer) {

-			return (TreeViewer)getViewer();

-		} 

-		return null;

-	}

-	

-	/**

-	 * Returns whether this event handler's viewer is

-	 * currently available.

-	 * 

-	 * @return whether this event handler's viewer is

-	 * currently available

-	 */

-	protected boolean isAvailable() {

-		return getView().isAvailable();

-	}

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandlerView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandlerView.java
deleted file mode 100644
index 9437e9c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandlerView.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.debug.internal.ui.views;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import org.eclipse.debug.ui.AbstractDebugView;

-

-/**

- * A debug view that uses an event handler to update its

- * view/viewer.

- */

-public abstract class AbstractDebugEventHandlerView extends AbstractDebugView {

-

-	/**

-	 * Event handler for this view

-	 */

-	private AbstractDebugEventHandler fEventHandler;

-

-	/**

-	 * Sets the event handler for this view

-	 * 

-	 * @param eventHandler event handler

-	 */

-	protected void setEventHandler(AbstractDebugEventHandler eventHandler) {

-		fEventHandler = eventHandler;

-	}

-	

-	/**

-	 * Returns the event handler for this view

-	 * 

-	 * @return The event handler for this view

-	 */

-	protected AbstractDebugEventHandler getEventHandler() {

-		return fEventHandler;

-	}	

-	

-	/**

-	 * @see IWorkbenchPart#dispose()

-	 */

-	public void dispose() {

-		super.dispose();

-		if (getEventHandler() != null) {

-			getEventHandler().dispose();

-		}	

-	}

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.java
deleted file mode 100644
index 009fd40..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.debug.internal.ui.views;

-

-/**********************************************************************

-Copyright (c) 2000, 2002 IBM Corp. and others.

-All rights reserved. This program and the accompanying materials

-are made available under the terms of the Common Public License v0.5

-which accompanies this distribution, and is available at

-http://www.eclipse.org/legal/cpl-v05.html

-

-Contributors:

-    IBM Corporation - Initial implementation

-**********************************************************************/

-

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-public class DebugUIViewsMessages {

-

-	private static final String BUNDLE_NAME =

-		"org.eclipse.debug.internal.ui.views.DebugUIViewsMessages"; //$NON-NLS-1$

-

-	private static final ResourceBundle RESOURCE_BUNDLE =

-		ResourceBundle.getBundle(BUNDLE_NAME);

-

-	private DebugUIViewsMessages() {

-	}

-

-	public static String getString(String key) {

-		try {

-			return RESOURCE_BUNDLE.getString(key);

-		} catch (MissingResourceException e) {

-			return '!' + key + '!';

-		}

-	}

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties
deleted file mode 100644
index 9703f51..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-######################################################################

-# Copyright (c) 2000, 2002 IBM Corp. and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Common Public License v0.5

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/cpl-v05.html

-#

-# Contributors:

-#    IBM Corporation - Initial implementation

-######################################################################

-

-find_replace_action.label=&Find/Replace...@Ctrl+F

-find_replace_action.tooltip=Find/Replace

-find_replace_action.image=

-find_replace_action.description=Find/Replace

-

-ConsoleView.&Copy@Ctrl+C_6=&Copy@Ctrl+C

-ConsoleView.&Paste@Ctrl+V_9=&Paste@Ctrl+V

-ConsoleView.Console_1=Console

-ConsoleView.Copy_7=Copy

-ConsoleView.Cu&t@Ctrl+X_3=Cu&t@Ctrl+X

-ConsoleView.Cut_4=Cut

-ConsoleView.Paste_10=Paste

-ConsoleView.Paste_Clipboard_Text_11=Paste Clipboard Text

-ConsoleView.Select_&All@Ctrl+A_12=Select &All@Ctrl+A

-ConsoleView.Select_All=Select All

-

-LaunchView.Error_1=Error

-LaunchView.Exception_occurred_opening_editor_for_debugger._2=Exception occurred opening editor for debugger.

-

-VariablesView.&Copy_8=&Copy

-VariablesView.&Paste_14=&Paste

-VariablesView.<error_occurred_retrieving_value>_18=<error occurred retrieving value>

-VariablesView.Co&ntent_Assist_3=Co&ntent Assist

-VariablesView.Cu&t_11=Cu&t

-VariablesView.Error_1=Error

-VariablesView.Select_&All_5=Select &All

-VariablesView.Unable_to_configure_variable_details_area._2=Unable to configure variable details area.
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java
deleted file mode 100644
index 3b040ef..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.debug.internal.ui.views;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.DebugException;

- 

-/**

- * A plugable  exception handler.

- */

-public interface IDebugExceptionHandler {

-	

-	/**

-	 * Handles the given debug exception.

-	 * 

-	 * @param e debug exception

-	 */

-	public abstract void handleException(DebugException e);

-

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsSorter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsSorter.java
deleted file mode 100644
index 021f708..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsSorter.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-public class BreakpointsSorter extends ViewerSorter {
-		/**
-		 * @see ViewerSorter#isSorterProperty(Object, String)
-		 */
-		public boolean isSorterProperty(Object element,String propertyId) {
-			return propertyId.equals(IBasicPropertyConstants.P_TEXT);
-		}
-		
-		/**
-		 * Returns a negative, zero, or positive number depending on whether
-		 * the first element is less than, equal to, or greater than
-		 * the second element.
-		 * <p>
-		 * Group breakpoints by debug model
-		 * 	within debug model, group breakpoints by type 
-		 * 		within type groups, sort by line number (if applicable) and then
-		 * 		alphabetically by label
-		 * 
-		 * @param viewer the viewer
-		 * @param e1 the first element
-		 * @param e2 the second element
-		 * @return a negative number if the first element is less than the 
-		 *  second element; the value <code>0</code> if the first element is
-		 *  equal to the second element; and a positive number if the first
-		 *  element is greater than the second element
-		 */
-		public int compare(Viewer viewer, Object e1, Object e2) {
-	
-			IBreakpoint b1= (IBreakpoint)e1;
-			IBreakpoint b2= (IBreakpoint)e2;
-			String modelId1= b1.getModelIdentifier();
-			String modelId2= b2.getModelIdentifier();
-			int result= modelId1.compareTo(modelId2);
-			if (result != 0) {
-				return result;
-			}
-			String type1= ""; //$NON-NLS-1$
-			String type2= ""; //$NON-NLS-1$
-			try {
-				type1= b1.getMarker().getType();
-			} catch (CoreException ce) {
-				DebugUIPlugin.log(ce);
-			}
-			try {
-				type2= b2.getMarker().getType();	
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		
-			result= type1.compareTo(type2);
-			if (result != 0) {
-				return result;
-			}
-			// model and type are the same
-		
-			ILabelProvider lprov = (ILabelProvider) ((StructuredViewer)viewer).getLabelProvider();
-			String name1= lprov.getText(e1);
-			String name2= lprov.getText(e2);
-	
-			boolean lineBreakpoint= false;
-			try {
-				lineBreakpoint= b1.getMarker().isSubtypeOf(IBreakpoint.LINE_BREAKPOINT_MARKER);
-			} catch (CoreException ce) {
-				DebugUIPlugin.log(ce);
-			}
-			if (lineBreakpoint) {
-				return compareLineBreakpoints(b1, b2, name1,name2);
-			} 
-			
-			return name1.compareTo(name2);		
-		}
-		
-		protected int compareLineBreakpoints(IBreakpoint b1, IBreakpoint b2, String name1, String name2) {
-			int colon1= name1.indexOf(':');
-			if (colon1 != -1) {
-				int colon2= name2.indexOf(':');
-				if (colon2 != -1) {
-					String upToColon1= name1.substring(0, colon1);
-					if (name2.startsWith(upToColon1)) {
-						int l1= 0;
-						int l2= 0;
-						try {
-							l1= ((ILineBreakpoint)b1).getLineNumber();	
-						} catch (CoreException e) {
-							DebugUIPlugin.log(e);
-						}
-						try {
-							l2= ((ILineBreakpoint)b2).getLineNumber();	
-						} catch (CoreException e) {
-							DebugUIPlugin.log(e);
-						}
-						return l1 - l2;
-					}
-				}
-			}
-			return name1.compareTo(name2);
-		}
-	}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
deleted file mode 100644
index 8a558c2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.actions.OpenBreakpointMarkerAction;
-import org.eclipse.debug.internal.ui.actions.ShowSupportedBreakpointsAction;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-
-/**
- * This view shows the breakpoints registered with the breakpoint manager
- */
-public class BreakpointsView extends AbstractDebugView {
-
-	private BreakpointsViewEventHandler fEventHandler;
-	
-	/**
-	 * @see AbstractDebugView#createViewer(Composite)
-	 */
-	protected Viewer createViewer(Composite parent) {
-		StructuredViewer viewer = new TableViewer(parent, SWT.MULTI| SWT.H_SCROLL | SWT.V_SCROLL);
-		viewer.setContentProvider(new BreakpointsViewContentProvider());
-		viewer.setLabelProvider(new DelegatingModelPresentation());
-		viewer.setSorter(new BreakpointsSorter());
-		viewer.setInput(DebugPlugin.getDefault().getBreakpointManager());		
-		// Necessary so that the PropertySheetView hears about selections in this view
-		getSite().setSelectionProvider(viewer);
-		setEventHandler(new BreakpointsViewEventHandler(this));
-		return viewer;
-	}	
-	
-	/**
-	 * @see AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.BREAKPOINT_VIEW;
-	}
-
-	/**
-	 * @see IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		IAction action= getAction("ShowBreakpointsForModel"); //$NON-NLS-1$
-		if (action != null) {
-			((ShowSupportedBreakpointsAction)action).dispose(); 
-		}
-		
-		super.dispose();
-		
-		if (getEventHandler() != null) {
-			getEventHandler().dispose();
-		}
-	}
-
-	/**
-	 * @see AbstractDebugView#createActions()
-	 */
-	protected void createActions() {
-		IAction action = new OpenBreakpointMarkerAction(getViewer());
-		setAction("GotoMarker", action); //$NON-NLS-1$
-		setAction(DOUBLE_CLICK_ACTION, action);
-		setAction("ShowBreakpointsForModel", new ShowSupportedBreakpointsAction(getStructuredViewer(),this)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Adds items to the context menu.
-	 * 
-	 * @param menu The menu to contribute to
-	 */
-	protected void fillContextMenu(IMenuManager menu) {
-		updateObjects();
-		menu.add(new Separator(IDebugUIConstants.EMPTY_NAVIGATION_GROUP));
-		menu.add(new Separator(IDebugUIConstants.NAVIGATION_GROUP));
-		menu.add(getAction("GotoMarker")); //$NON-NLS-1$
-		menu.add(new Separator(IDebugUIConstants.EMPTY_BREAKPOINT_GROUP));
-		menu.add(new Separator(IDebugUIConstants.BREAKPOINT_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EMPTY_RENDER_GROUP));
-		menu.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-		menu.add(getAction("ShowBreakpointsForModel")); //$NON-NLS-1$
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-	/**
-	 * @see AbstractDebugView#configureToolBar(IToolBarManager)
-	 */
-	protected void configureToolBar(IToolBarManager tbm) {
-		tbm.add(new Separator(IDebugUIConstants.BREAKPOINT_GROUP));
-		tbm.add(getAction("ShowBreakpointsForModel")); //$NON-NLS-1$
-		tbm.add(getAction("GotoMarker")); //$NON-NLS-1$
-		tbm.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-	}
-	
-	/**
-	 * Returns this view's event handler
-	 * 
-	 * @return a breakpoint view event handler
-	 */
-	protected BreakpointsViewEventHandler getEventHandler() {
-		return fEventHandler;
-	}
-
-	/**
-	 * Sets this view's event handler.
-	 * 
-	 * @param eventHandler a breakpoint view event handler
-	 */
-	private void setEventHandler(BreakpointsViewEventHandler eventHandler) {
-		fEventHandler = eventHandler;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewContentProvider.java
deleted file mode 100644
index efc8b69..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewContentProvider.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public class BreakpointsViewContentProvider
-	implements IStructuredContentProvider {
-
-	/**
-	 * @see IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object parent) {
-		return ((IBreakpointManager) parent).getBreakpoints();
-	}
-
-	/**
-	 * @see IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewEventHandler.java
deleted file mode 100644
index edef187..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewEventHandler.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.viewers.TableViewer;
-
-/**
- * Handles breakpoint events, updating the breakpoints view
- * and viewer.
- */
-public class BreakpointsViewEventHandler implements IBreakpointListener {
-
-	private BreakpointsView fView;
-
-	/**
-	 * Constructs an event handler for the breakpoints view.
-	 */
-	public BreakpointsViewEventHandler(BreakpointsView view) {
-		fView= view;
-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
-	}
-	
-	public void dispose() {
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);
-	}
-
-	/**
-	 * @see IBreakpointListener#breakpointAdded(IBreakpoint)
-	 */
-	public void breakpointAdded(final IBreakpoint breakpoint) {
-		if (fView.isAvailable()&& breakpoint.getMarker().exists()) {		
-			fView.asyncExec(new Runnable() {
-				public void run() {
-					if (fView.isAvailable() && breakpoint.getMarker().exists()) {
-						((TableViewer)fView.getViewer()).add(breakpoint);
-						fView.updateObjects();
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * @see IBreakpointListener#breakpointRemoved(IBreakpoint, IMarkerDelta)
-	 */
-	public void breakpointRemoved(final IBreakpoint breakpoint, IMarkerDelta delta) {
-		if (fView.isAvailable()) {
-			fView.asyncExec(new Runnable() {
-				public void run() {
-					if (fView.isAvailable()) {
-						TableViewer viewer= (TableViewer)fView.getViewer();
-						int[] indices= viewer.getTable().getSelectionIndices();
-						viewer.remove(breakpoint);
-						if (viewer.getSelection().isEmpty()) {
-							if (indices.length > 0) {
-								int index= indices[0];
-								viewer.getTable().select(Math.min(index, viewer.getTable().getItemCount() - 1));
-							}
-							//fire the selection changed as does not occur when
-							//setting selection on the swt widget
-							viewer.setSelection(viewer.getSelection());
-						}
-						fView.updateObjects();
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * @see IBreakpointListener#breakpointChanged(IBreakpoint, IMarkerDelta)
-	 */
-	public void breakpointChanged(final IBreakpoint breakpoint, IMarkerDelta delta) {
-		if (fView.isAvailable() && breakpoint.getMarker().exists()) {
-			fView.asyncExec(new Runnable() {
-				public void run() {
-					if (fView.isAvailable() && breakpoint.getMarker().exists()) {
-						((TableViewer)fView.getViewer()).refresh(breakpoint);
-						fView.updateObjects();
-					}
-				}
-			});
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocument.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocument.java
deleted file mode 100644
index 3566504..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocument.java
+++ /dev/null
@@ -1,677 +0,0 @@
-package org.eclipse.debug.internal.ui.views.console;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.IStreamListener;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.AbstractDocument;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DefaultLineTracker;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.ITextStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-
-public class ConsoleDocument extends AbstractDocument implements IDebugEventSetListener, IPropertyChangeListener {
-
-	private boolean fClosed= false;
-	private boolean fKilled= false;
-
-	protected IProcess fProcess;
-	private IStreamsProxy fProxy;
-	private int fLastStreamWriteEnd= 0;
-	private int fLastWritePosition= 0;
-	private int fNewStreamWriteEnd= 0;
-	protected boolean fNeedsToStartReading= true;
-	
-	class StreamEntry {
-		/**
-		 * Whether written to std out or std err - one of OUT/ERR
-		 */
-		private int fKind = -1;
-		/**
-		 * The text written
-		 */
-		private String fText = null;
-		
-		StreamEntry(String text, int kind) {
-			fText = text;
-			fKind = kind;
-		}
-		
-		/**
-		 * Returns the kind of entry - OUT or ERR
-		 */
-		public int getKind() {
-			return fKind;
-		}
-		
-		/**
-		 * Returns the text written
-		 */
-		public String getText() {
-			return fText;
-		}
-	}
-	
-	/**
-	 * A queue of stream entries written to standard out and standard err.
-	 * Entries appended to the end of the queue and removed from the front.
-	 * Intentionally a vector to obtain synchronization as entries are
-	 * added and removed.
-	 */
-	private Vector fQueue = new Vector(10);
-	
-	/**
-	 * Thread that polls the queue for new output
-	 */
-	private Thread fPollingThread = null;
-	
-	/**
-	 * Whether an append is still in  progress or to be run
-	 */
-	private boolean fAppending = false;
-	
-	/**
-	 * Whether associated process has terminated
-	 */
-	private boolean fTerminated = false;
-	
-	/**
-	 * Whether to keep polling
-	 */
-	private boolean fPoll = false;
-	
-	/**
-	 * The length of the current line
-	 */
-	private int fLineLength = 0;
-	
-	/** 
-	 * Maximum line length before wrapping.
-	 */
-	private int fMaxLineLength = 80;
-	
-	/**
-	 * Whether using auto-wrap mode
-	 */
-	private boolean fWrap = false;
-	
-	/**
-	 * The base number of milliseconds to pause
-	 * between polls.
-	 */
-	private static final long BASE_DELAY= 100L;
-		
-	public static final int OUT= 0;
-	public static final int ERR= 1;
-	
-	protected List fStyleRanges= new ArrayList(2);
-
-	protected ConsoleViewer fConsoleViewer= null;
-	
-	protected IStreamListener fSystemOutListener= new IStreamListener() {
-				public void streamAppended(String newText, IStreamMonitor monitor) {
-					DebugUIPlugin.getConsoleDocumentManager().aboutToWriteSystemOut(ConsoleDocument.this);
-					systemOutAppended(newText);
-				}
-			};
-			
-	protected IStreamListener fSystemErrListener= new IStreamListener() {
-				public void streamAppended(String newText, IStreamMonitor monitor) {
-					DebugUIPlugin.getConsoleDocumentManager().aboutToWriteSystemErr(ConsoleDocument.this);
-					systemErrAppended(newText);
-				}
-			};
-
-	public ConsoleDocument(IProcess process) {
-		super();
-		fProcess= process;
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-		fWrap = store.getBoolean(IDebugPreferenceConstants.CONSOLE_WRAP);
-		fMaxLineLength = store.getInt(IDebugPreferenceConstants.CONSOLE_WIDTH);
-		store.addPropertyChangeListener(this);
-		if (process != null) {
-			fProxy= process.getStreamsProxy();			
-			fTerminated = process.isTerminated();
-			DebugPlugin.getDefault().addDebugEventListener(this);
-			setTextStore(new ConsoleOutputTextStore(2500));
-		} else {
-			fClosed= true;
-			fTerminated = true;
-			setTextStore(new ConsoleOutputTextStore(0));	
-		}
-		setLineTracker(new DefaultLineTracker());
-		completeInitialization();
-	}
-
-	public void close() {
-		if (!fClosed) {
-			fClosed= true;
-			stopReading();
-			DebugPlugin.getDefault().removeDebugEventListener(this);
-			DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-			fStyleRanges= Collections.EMPTY_LIST;
-			set(""); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Stops reading/polling immediately
-	 */
-	public void kill() {
-		fKilled = true;
-		if (fPollingThread != null && fPollingThread.isAlive()) {
-			fPollingThread.interrupt();
-		}
-		close();
-	}
-
-	public boolean isClosed() {
-		return fClosed;
-	}
-	
-	/**
-	 * The user has typed into the console.
-	 * 
-	 * @see IDocument#replace(int, int, String)
-	 */
-	public void replace(int pos, int replaceLength, String text) {
-		if (isReadOnly() || pos < getStartOfEditableContent()) {
-			return;
-		}
-
-		replace0(pos, replaceLength, text);
-		
-		if (!isClosed()) {
-			// echo the data to the std in of the associated process
-			String[] lineDelimiters= getLegalLineDelimiters();
-			for (int i= 0; i < lineDelimiters.length; i++) {
-				if (lineDelimiters[i].equals(text)) {
-					try {
-						String inText= get();
-						fLastWritePosition = fLastStreamWriteEnd;
-						inText= inText.substring(fLastWritePosition, inText.length());
-						if (inText.length() == 0) {
-							break;
-						}
-						fProxy.write(inText);
-						fLastStreamWriteEnd= getLength();
-						break;
-					} catch (IOException ioe) {
-						DebugUIPlugin.log(ioe);
-					}
-				}
-			}
-		}
-				
-		int docLength= getLength();
-		if (docLength == fNewStreamWriteEnd) {
-			//removed all of the user input text
-			fStyleRanges.remove(fStyleRanges.size() - 1);
-		} else {
-			updateInputStyleRange(docLength, fNewStreamWriteEnd);
-			//notify the viewer that the style ranges have changed.
-			fireDocumentChanged(new DocumentEvent(this, 0, 0, "")); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Replace text used to add content from streams even though
-	 * the process is terminated (and therefore the doc is "read only")
-	 */
-	protected void replace0(int pos, int replaceLength, String text) {
-		try {		
-			super.replace(pos, replaceLength, text);
-		} catch (BadLocationException ble) {
-			DebugUIPlugin.log(ble);
-		}
-	}
-
-	
-	/**
-	 * @see IDocument#set(String)
-	 */
-	public void set(String text) {
-		fNewStreamWriteEnd= text.length();
-		super.set(text);
-		fLastStreamWriteEnd= fNewStreamWriteEnd;
-	}
-
-	public void startReading() {
-		if (fProxy == null) {
-			return;
-		}
-		
-		if (!fNeedsToStartReading) {
-			return;
-		}
-		fNeedsToStartReading= false;
-		IStreamMonitor monitor= fProxy.getOutputStreamMonitor();
-		if (monitor != null) {
-			monitor.addListener(fSystemOutListener);
-			String contents= monitor.getContents();
-			if (contents.length() > 0) {
-				systemOutAppended(contents);
-			}
-		}
-		monitor= fProxy.getErrorStreamMonitor();
-		if (monitor != null) {
-			monitor.addListener(fSystemErrListener);
-			String contents= monitor.getContents();
-			if (contents.length() > 0) {
-				systemErrAppended(contents);
-			}
-		}
-		Runnable r = new Runnable() {
-			public void run() {
-				pollAndSleep();
-			}
-		};
-		fPoll = true;
-		fPollingThread = new Thread(r, "Console Polling Thread"); //$NON-NLS-1$
-		fPollingThread.start();
-	}
-	
-	/**
-	 * Polls and sleeps until closed or the associated
-	 * process terminates
-	 */
-	protected void pollAndSleep() {
-		while (!fKilled && fPoll && (!fTerminated || !fQueue.isEmpty())) {
-			poll();
-			try {
-				Thread.sleep(BASE_DELAY);
-			} catch (InterruptedException e) {
-			}
-		}
-	}
-	
-	/**
-	 * Polls the queue for new output and updates this document
-	 */
-	protected void poll() {
-		if (isAppendInProgress()) {
-			return;
-		}
-		synchronized(fQueue) {
-			StringBuffer buffer = null;
-			StreamEntry prev = null;
-			int processed = 0;
-			int amount = 0;
-			String[] lds = getLegalLineDelimiters();
-			while (!fKilled && processed < fQueue.size() && amount < 8096) {
-				StreamEntry entry = (StreamEntry)fQueue.get(processed);
-				if (prev == null || prev.getKind() == entry.getKind()) {
-					String text = entry.getText();
-					if (buffer == null) {
-						buffer = new StringBuffer(text.length());
-					}
-					if (isWrap()) {
-						for (int i = 0; i < text.length(); i++) {
-							if (fLineLength >= fMaxLineLength) {
-								String d = getLineDelimiter(text, i, lds);
-								if (d == null) {
-									buffer.append(lds[0]);
-								} else {
-									buffer.append(d);
-									i = i + d.length();
-								}
-								fLineLength = 0;
-							}			
-							if (i < text.length()) {										
-								String lineDelimiter = getLineDelimiter(text, i, lds);				
-								if (lineDelimiter == null) { 
-									buffer.append(text.charAt(i));
-									fLineLength++;
-								} else {
-									buffer.append(lineDelimiter);
-									fLineLength = 0;
-									i = i + lineDelimiter.length() - 1;
-								}
-							}
-						} 
-					} else {
-						buffer.append(text);
-					}
-				} else {
-					// only do one append per poll
-					break;
-				}
-				
-				prev = entry;
-				processed++;
-				amount+= entry.getText().length();
-			}
-			if (buffer != null) {
-				appendToDocument(buffer.toString(), prev.getKind());
-			}
-			for (int i = 0; i < processed; i++) {
-				fQueue.remove(0);
-			}
-		}
-	}
-
-	/**
-	 * Returns the longest line delimiter at the given position in the given text,
-	 * or <code>null</code> if none.
-	 * 
-	 * @param text the text in which to look for a line delimiter
-	 * @param pos the position at which to look for a line delimiter
-	 * @param lineDelimiters the line delimiters to look for
-	 */
-	protected String getLineDelimiter(String text, int pos, String[] lineDelimiters) {
-		String ld = null;
-		for (int i = 0; i < lineDelimiters.length; i++) {					
-			if (text.regionMatches(pos, lineDelimiters[i], 0, lineDelimiters[i].length())) {
-				if (ld == null) {
-					ld = lineDelimiters[i];
-				} else {
-					if (ld.length() < lineDelimiters[i].length()) {
-						ld = lineDelimiters[i];
-					}
-				}
-			}
-		}	
-		return ld;	
-	}
-	
-	/**
-	 * Returns whether this console document is performing auto-wrap
-	 */
-	protected boolean isWrap() {
-		return fWrap;
-	}
-	
-	protected void stopReading() {
-		fPoll = false;
-		if (fProxy == null) {
-			return;
-		}
-		fNeedsToStartReading= true;
-		IStreamMonitor monitor= fProxy.getOutputStreamMonitor();
-		monitor.removeListener(fSystemOutListener);
-		monitor= fProxy.getErrorStreamMonitor();
-		monitor.removeListener(fSystemErrListener);
-	}
-
-	/**
-	 * System out or System error has had text append to it.
-	 * Adds the new text to the document.
-	 * 
-	 * @see IStreamListener#streamAppended(String, IStreamMonitor)
-	 */
-	protected void appendToDocument(final String text, final int source) {
-		setAppendInProgress(true);
-		update(new Runnable() {
-			public void run() {
-				int appendedLength= text.length();
-				fNewStreamWriteEnd= fLastStreamWriteEnd + appendedLength;
-				updateOutputStyleRanges(source, getLength() + appendedLength, fLastStreamWriteEnd, fNewStreamWriteEnd);
-				replace0(fLastStreamWriteEnd, 0, text);
-				fLastStreamWriteEnd= fNewStreamWriteEnd;
-				setAppendInProgress(false);
-			}
-		});
-	}
-	
-	/**
-	 * System out or System error has had text append to it.
-	 * Adds a new entry to the queue.
-	 */
-	protected void streamAppended(String text, int source) {
-		fQueue.add(new StreamEntry(text, source));
-	}
-			
-	/**
-	 * @see IStreamListener#streamAppended(String, IStreamMonitor)
-	 */
-	protected void systemErrAppended(String text) {
-		streamAppended(text, ERR);
-	}
-
-	/**
-	 * @see IStreamListener#streamAppended(String, IStreamMonitor)
-	 */
-	protected void systemOutAppended(String text) {
-		streamAppended(text, OUT);
-	}
-
-	
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		boolean correctInstance= obj instanceof ConsoleDocument;
-		if (fProcess != null) {
-			return correctInstance && fProcess.equals(((ConsoleDocument)obj).fProcess);
-		} else {
-			return correctInstance && ((ConsoleDocument)obj).fProcess == null;
-		}
-    }
-    
-	/**
-	 * @see Object#hashCode()
-	 */
-    public int hashCode() {
-    	return (fProcess != null) ? fProcess.hashCode() : super.hashCode();
-    }
-    
-	protected StyleRange[] getStyleRanges() {
-		if (fStyleRanges.isEmpty()) {
-			return new StyleRange[]{};
-		} 
-		StyleRange[] sRanges= new StyleRange[fStyleRanges.size()];
-		return (StyleRange[])fStyleRanges.toArray(sRanges);
-	}
-	
-	/**
-	 * Coalese that last two style ranges if they are similar
-	 */
-	protected void coaleseRanges() {
-		int size= fStyleRanges.size();
-		if (size > 1) {
-			StyleRange last= (StyleRange) fStyleRanges.get(size - 1);
-			StyleRange nextToLast= (StyleRange) fStyleRanges.get(size - 2);
-			if (last.similarTo(nextToLast)) {//same color?
-				StyleRange newRange= new StyleRange(nextToLast.start, last.length + nextToLast.length, last.foreground, null);
-				fStyleRanges.remove(size - 1);
-				fStyleRanges.remove(size - 2);
-				addNewStyleRange(newRange);
-			}
-		}
-	}
-
-	/**
-	 * Returns whether the document's underlying process is
-	 * terminated.
-	 */
-	protected boolean isReadOnly() {
-		return (fProcess != null) ? fProcess.isTerminated() : true;
-	}
-	
-	/**
-	 * Updates the current input style range.
-	 */
-	protected void updateInputStyleRange(int docLength, int newWriteEnd) {
-		if (docLength != newWriteEnd) {
-			StyleRange input= 
-				new StyleRange(newWriteEnd, docLength - newWriteEnd, 
-						DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_SYS_IN_RGB),
-						null);
-			if (!fStyleRanges.isEmpty()) {
-				if (((StyleRange)fStyleRanges.get(fStyleRanges.size() - 1)).similarTo(input)) {
-					//remove the top "input" range...continuing input
-					fStyleRanges.remove(fStyleRanges.size() - 1);
-				}
-			} 
-			
-			addNewStyleRange(input);
-		}
-	}
-
-	protected void updateOutputStyleRanges(int sourceStream, int docLength, int prevWriteEnd, int newWriteEnd) {
-		if (docLength == 0) {
-			return;
-		}
-		
-		if ((newWriteEnd == 0) && (0 == prevWriteEnd)) {
-			return;
-		}
-		
-		if (newWriteEnd == prevWriteEnd) {
-			return;
-		}
-
-		Color newRangeColor= 
-			(sourceStream == ConsoleDocument.OUT) ? DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_SYS_OUT_RGB) : DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_SYS_ERR_RGB);
-
-		StyleRange newRange= new StyleRange(prevWriteEnd, newWriteEnd - prevWriteEnd, newRangeColor, null);
-		if (!fStyleRanges.isEmpty()) {
-			if ((docLength != newWriteEnd) && 
-				((StyleRange)fStyleRanges.get(fStyleRanges.size() - 1)).foreground ==
-				DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_SYS_IN_RGB)) {
-				//remove the top "input" range..it will get recalculated in updateInputStyleRanges
-				fStyleRanges.remove(fStyleRanges.size() - 1);
-			}
-		}
-		
-		addNewStyleRange(newRange);
-		coaleseRanges();
-		updateInputStyleRange(docLength, newWriteEnd);
-	}	
-	
-	/**
-	 * Adds a new style range if the document is not closed.
-	 * Note that the document can be closed by a separate thread.
-	 * This is the reason for the copy of the style ranges.
-	 */
-	protected void addNewStyleRange(StyleRange newRange) {
-		List tempRanges= fStyleRanges;
-		if (fClosed) {
-			return;
-		}
-		tempRanges.add(newRange);
-	}
-	
-	protected void setStyleRanges(List ranges) {
-		fStyleRanges= ranges;
-	}
-
-	protected void clearDocument() {
-		fQueue.clear();
-		fStyleRanges= new ArrayList(2);
-		set(""); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the position after which editing of the
-	 * content is allowable.
-	 */
-	protected int getStartOfEditableContent() {
-		return fLastStreamWriteEnd;
-	}
-	
-	/**
-	 * Make visible to the ConsoleViewer
-	 */
-	protected ITextStore getStore() {
-		return super.getStore();
-	}
-	
-	/**
-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		if (fProcess == null) {
-			return;
-		}
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getKind() == DebugEvent.TERMINATE) {
-				Object element= event.getSource();
-				if (element != null && element.equals(fProcess)) {
-					fTerminated = true;
-					update( new Runnable() {
-						public void run() {
-							fireDocumentChanged(new DocumentEvent(ConsoleDocument.this, 0, 0, null));
-						}
-					});
-				}					
-			}
-		}
-	}
-	
-	/**
-	 * Posts the update code "behind" the running operation if the 
-	 * UI will be updated.
-	 */
-	protected void update(Runnable runnable) {
-		if (fConsoleViewer != null && fConsoleViewer.getControl() != null && !fConsoleViewer.getControl().isDisposed()) {
-			fConsoleViewer.getControl().getDisplay().asyncExec(runnable);
-		} else {
-			Display display= DebugUIPlugin.getDefault().getStandardDisplay();
-			if (display != null && !display.isDisposed()) {
-				display.asyncExec(runnable);
-			}
-		}
-	}
-
-	/**
-	 * Sets the console viewer that this document is viewed within.
-	 * Can be set to <code>null</code> if no longer currently being
-	 * viewed.
-	 */
-	protected void setConsoleViewer(ConsoleViewer viewer) {
-		fConsoleViewer = viewer;
-	}
-	
-	/**
-	 * Sets whether a runnable has been submitted to update the console
-	 * document.
-	 */
-	protected void setAppendInProgress(boolean appending) {
-		fAppending = appending;
-	}
-
-	/**
-	 * Sets whether a runnable has been submitted to update the console
-	 * document.
-	 */
-	protected boolean isAppendInProgress() {
-		return fAppending;
-	}
-	
-	/**
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(IDebugPreferenceConstants.CONSOLE_WRAP)) {
-			fWrap = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.CONSOLE_WRAP);
-		} else if (event.getProperty().equals(IDebugPreferenceConstants.CONSOLE_WIDTH)) {
-			fMaxLineLength = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugPreferenceConstants.CONSOLE_WIDTH);
-		}
-	}
-
-
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentManager.java
deleted file mode 100644
index 4930589..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentManager.java
+++ /dev/null
@@ -1,301 +0,0 @@
-package org.eclipse.debug.internal.ui.views.console;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-public class ConsoleDocumentManager implements ILaunchListener {
-
-	/**
-	 * Singleton console document manager
-	 */
-	private static ConsoleDocumentManager fgConsoleDocumentManager= null;
-	
-	/**
-	 * The process that is/can provide output to the console
-	 * view.
-	 */
-	private IProcess fCurrentProcess= null;
-	
-	/**
-	 * The mappings of processes to their console documents.
-	 */
-	protected Map fConsoleDocuments= new HashMap(3);
-	
-	public static ConsoleDocumentManager getDefault() {
-		if (fgConsoleDocumentManager == null) {
-			fgConsoleDocumentManager= new ConsoleDocumentManager();
-		}	
-		return fgConsoleDocumentManager;
-	}
-	
-	/**
-	 * Returns whether the singleton instance of the manager exists
-	 */
-	public static boolean defaultExists() {
-		return fgConsoleDocumentManager != null;
-	}
-	
-	private ConsoleDocumentManager() {
-	}
-	
-	/**
-	 * @see ILaunchListener#launchRemoved(ILaunch)
-	 */
-	public void launchRemoved(final ILaunch launch) {
-		DebugUIPlugin.getDefault().getStandardDisplay().syncExec(new Runnable () {
-			public void run() {
-				IProcess currentProcess= getCurrentProcess();
-				IProcess[] processes= launch.getProcesses();
-				for (int i= 0; i < processes.length; i++) {
-					IProcess iProcess = processes[i];
-					ConsoleDocument doc= (ConsoleDocument)getConsoleDocument(iProcess);
-					if (doc != null) {
-						doc.close();
-						setConsoleDocument(processes[i], null);
-					}
-					if (iProcess.equals(currentProcess)) {
-						fCurrentProcess= null;
-					}
-				}
-			}
-		});
-	}
-
-	/**
-	 * @see ILaunchListener#launchAdded(ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-		launchChanged(launch);
-	}
-
-	/**
-	 * @see ILaunchListener#launchChanged(ILaunch)
-	 */
-	public void launchChanged(final ILaunch launch) {
-		IProcess newProcess= null;
-		IDebugTarget target= launch.getDebugTarget();
-		if (target != null) {
-			newProcess= target.getProcess();
-		} else {
-			IProcess[] processes= launch.getProcesses();
-			if (processes.length > 0) {
-				newProcess= processes[processes.length - 1];
-			}
-		}
-		setCurrentProcess(newProcess);
-				
-		DebugUIPlugin.getDefault().getStandardDisplay().syncExec(new Runnable () {
-			public void run() {
-				IProcess[] processes= launch.getProcesses();
-				for (int i= 0; i < processes.length; i++) {
-					if (getConsoleDocument(processes[i]) == null) {
-						ConsoleDocument doc= new ConsoleDocument(processes[i]);
-						doc.startReading();
-						setConsoleDocument(processes[i], doc);
-					}
-				}
-				
-				notifyConsoleViews();
-			}
-		});
-	}
-
-	/**
-	 * Notify all existing console views of the current process.
-	 * Must be called in the UI thread.
-	 */
-	private void notifyConsoleViews() {		
-		IWorkbench workbench= PlatformUI.getWorkbench();
-		IWorkbenchWindow[] windows= workbench.getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			IWorkbenchWindow iWorkbenchWindow = windows[i];
-			IWorkbenchPage[] pages= iWorkbenchWindow.getPages();
-			for (int j = 0; j < pages.length; j++) {
-				IWorkbenchPage iWorkbenchPage = pages[j];
-				IViewPart part= iWorkbenchPage.findView(IDebugUIConstants.ID_CONSOLE_VIEW);
-				if (part instanceof ConsoleView) {
-					ConsoleView view= (ConsoleView)part;
-					view.setViewerInputFromConsoleDocumentManager(getCurrentProcess());
-				}
-			}
-		}
-	}
-	
-	protected IProcess getCurrentProcess() {
-		return fCurrentProcess;
-	}
-
-	protected void setCurrentProcess(IProcess currentProcess) {
-		fCurrentProcess = currentProcess;
-	}
-	
-	/**
-	 * Returns the document for the process, or <code>null</code>
-	 * if none.
-	 */
-	public IDocument getConsoleDocument(IProcess process) {
-		return (IDocument) fConsoleDocuments.get(process);
-	}
-	
-	/**
-	 * Sets the console document for the specified process.
-	 * If the document is <code>null</code> the mapping for the
-	 * process is removed.
-	 */
-	protected void setConsoleDocument(IProcess process, IDocument doc) {
-		if (doc == null) {
-			fConsoleDocuments.remove(process);
-		} else {
-			fConsoleDocuments.put(process, doc);
-		}
-	}
-	
-	/**
-	 * Called by the debug ui plug-in on startup.
-	 * The console document manager starts listening for
-	 * launches to be registered and initializes if any launches
-	 * already exist.
-	 */
-	public void startup() {
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		launchManager.addLaunchListener(this);	
-
-		//set up the docs for launches already registered
-		ILaunch[] launches= launchManager.getLaunches();
-		for (int i = 0; i < launches.length; i++) {
-			launchAdded(launches[i]);
-		}
-	}
-	
-	/**
-	 * Called by the debug ui plug-in on shutdown.
-	 * The console document manager de-registers as a 
-	 * launch listener and kills all existing console documents.
-	 */
-	public void shutdown() throws CoreException {
-		Iterator docs= fConsoleDocuments.values().iterator();
-		while (docs.hasNext()) {
-			ConsoleDocument doc= (ConsoleDocument)docs.next();
-			doc.kill();
-		}
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		launchManager.removeLaunchListener(this);
-	}
-	
-	/**
-	 * Notifies the console document manager that system err is about to be written
-	 * to the console. The manager will open the console if the preference is
-	 * set to show the console on system err.
-	 */
-	protected void aboutToWriteSystemErr(IDocument doc) {
-		if (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR)) {
-			showConsole(doc);
-		}
-	}
-	
-	/**
-	 * Notifies the console document manager that system out is about to be written
-	 * to the console. The manager will open the console if the preference is
-	 * set to show the console on system out and the console document being written 
-	 * is associated with the current process.
-	 */	
-	protected void aboutToWriteSystemOut(IDocument doc) {
-		if (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT)) {
-			showConsole(doc);
-		}
-	}
-	
-	protected IProcess getDebugViewProcess() {
-		IProcess debugViewProcess= null;
-		IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window != null) {	
-			ISelection selection= window.getSelectionService().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-			if (selection instanceof IStructuredSelection) {
-				Object element= ((IStructuredSelection)selection).getFirstElement();
-				if (element instanceof IProcess) {
-					debugViewProcess= (IProcess) element;
-				} else if (element instanceof ILaunch) {
-					IDebugTarget target= ((ILaunch) element).getDebugTarget();
-					if (target != null) {
-						debugViewProcess= target.getProcess();
-					} else {
-						IProcess[] processes= ((ILaunch) element).getProcesses();
-						if ((processes != null) && (processes.length > 0)) {
-							debugViewProcess= processes[0];
-						}
-					}
-				} else if (element instanceof IDebugElement) {
-					debugViewProcess= ((IDebugElement) element).getDebugTarget().getProcess();
-				}
-			}
-		}
-		return debugViewProcess;
-	}
-	
-	/**
-	 * Opens the console view. If the view is already open, it is brought to the front.
-	 */
-	protected void showConsole(final IDocument doc) {
-		DebugUIPlugin.getDefault().getStandardDisplay().asyncExec(new Runnable() {
-			public void run() {
-				IProcess debugViewProcess= getDebugViewProcess();
-				if (doc != null && debugViewProcess != null && !doc.equals(getConsoleDocument(debugViewProcess))) {
-					return;
-				}
-				IWorkbenchWindow window= DebugUIPlugin.getDefault().getActiveWorkbenchWindow();
-				if (window != null) {
-					IWorkbenchPage page= window.getActivePage();
-					if (page != null) {
-						try {
-							IViewPart consoleView= page.findView(IDebugUIConstants.ID_CONSOLE_VIEW);
-							if(consoleView == null) {
-								IWorkbenchPart activePart= page.getActivePart();
-								page.showView(IDebugUIConstants.ID_CONSOLE_VIEW);
-								//restore focus stolen by the creation of the console
-								page.activate(activePart);
-							} else {
-								page.bringToTop(consoleView);
-							}
-						} catch (PartInitException pie) {
-							DebugUIPlugin.log(pie);
-						}
-					}
-				}
-			}
-		});
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleOutputTextStore.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleOutputTextStore.java
deleted file mode 100644
index 60df003..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleOutputTextStore.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.debug.internal.ui.views.console;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.jface.text.ITextStore;
-
-public class ConsoleOutputTextStore implements ITextStore {
-
-	private StringBuffer fBuffer;
-
-	public ConsoleOutputTextStore(int bufferSize) {
-		fBuffer= new StringBuffer(bufferSize);
-	}
-
-	/**
-	 * @see ITextStore#get(int)
-	 */
-	public char get(int pos) {
-		return fBuffer.charAt(pos);
-	}
-
-	/**
-	 * @see ITextStore#get(int, int)
-	 */
-	public String get(int pos, int length) {
-		return fBuffer.substring(pos, pos + length);
-	}
-
-	/**
-	 * @see ITextStore#getLength()
-	 */
-	 public int getLength() {
-		return fBuffer.length();
-	}
-
-	/**
-	 * @see ITextStore#replace(int, int, String)
-	 */
-	 public void replace(int pos, int length, String text) {
-		if (text == null) {
-			text= ""; //$NON-NLS-1$
-		}
-		fBuffer.replace(pos, pos + length, text);
-	}
-
-	/**
-	 * @see ITextStore#set(String)
-	 */
-	 public void set(String text) {
-		fBuffer= new StringBuffer(text);
-	}
-
-	/**
-	 * @see StringBuffer#ensureCapacity(int)
-	 */
-	public void setMinimalBufferSize(int bufferSize) {
-		fBuffer.ensureCapacity(bufferSize);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleView.java
deleted file mode 100644
index 5821b6d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleView.java
+++ /dev/null
@@ -1,373 +0,0 @@
-package org.eclipse.debug.internal.ui.views.console;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.ResourceBundle;
-
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.actions.ClearOutputAction;
-import org.eclipse.debug.internal.ui.actions.TextViewerAction;
-import org.eclipse.debug.internal.ui.actions.TextViewerGotoLineAction;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandlerView;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IFindReplaceTarget;
-import org.eclipse.jface.text.ITextInputListener;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.VerifyKeyListener;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.texteditor.FindReplaceAction;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.IUpdate;
-
-public class ConsoleView extends AbstractDebugEventHandlerView implements IDocumentListener, ISelectionListener {
-
-	protected ClearOutputAction fClearOutputAction= null;
-
-	protected Map fGlobalActions= new HashMap(10);
-	protected List fSelectionActions = new ArrayList(3);
-	
-	protected IDocument fCurrentDocument= null;
-	
-	/**
-	 * The current process being viewed, or <code>null</code.
-	 */
-	private IProcess fProcess;
-	
-
-	/**
-	 * @see AbstractDebugView#createViewer(Composite)
-	 */
-	protected Viewer createViewer(Composite parent) {
-		ConsoleViewer cv = new ConsoleViewer(parent);		
-		cv.getSelectionProvider().addSelectionChangedListener(getSelectionChangedListener());
-		cv.addTextInputListener(getTextInputListener());
-		getSite().setSelectionProvider(cv.getSelectionProvider());
-		
-		// listen to selection changes in the debug view
-		getSite().getPage().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		
-		setEventHandler(new ConsoleViewEventHandler(this));
-		//initialize the default instance
-		DebugUIPlugin.getConsoleDocumentManager();
-		return cv;
-	}
-	
-	/**
-	 * @see AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.CONSOLE_VIEW;
-	}
-	
-	/**
-	 * Sets the input to the current process if no debug view is present
-	 * on the current active page.
-	 */
-	public void setViewerInputFromConsoleDocumentManager(IProcess process) {
-		IViewPart debugView= findView(IDebugUIConstants.ID_DEBUG_VIEW);
-		if (debugView == null) {
-			setViewerInput(process);
-		}
-	}
-	
-	/** 
-	 * Sets the console to view the documents steams
-	 * associated with the given process.
-	 */
-	public void setViewerInput(IProcess process) {
-		if (!isAvailable()) {
-			return;
-		}
-		if (getProcess() == process) {
-			// do nothing if the input is the same as what is
-			// being viewed. If this is the first input, set
-			// the console to an empty document
-			if (getConsoleViewer().getDocument() == null) {
-				getConsoleViewer().setDocument(new ConsoleDocument(null));
-				updateObjects();
-			}			
-			return;
-		}
-		
-		setProcess(process)	;
-		
-		Runnable r = new Runnable() {
-			public void run() {
-				if (!isAvailable()) {
-					return;
-				}
-				IDocument doc = null;
-				if (getProcess() != null) {
-					doc = DebugUIPlugin.getConsoleDocumentManager().getConsoleDocument(getProcess());
-				}
-				if (doc == null) {
-					doc = new ConsoleDocument(null);
-				}
-				getConsoleViewer().setDocument(doc);
-				updateTitle();
-				updateObjects();
-				updateSelectionDependentActions();
-			}
-		};
-		asyncExec(r);
-	}
-	
-	protected void updateTitle() {
-		// update view title
-		String title = null;
-		if (getProcess() == null) { 
-			title = DebugUIViewsMessages.getString("ConsoleView.Console_1"); //$NON-NLS-1$
-		} else {
-			// use debug target title if applicable
-			Object obj = getProcess().getAdapter(IDebugTarget.class);
-			if (obj == null) {
-				obj = getProcess();
-			}
-			StringBuffer buff= new StringBuffer(DebugUIViewsMessages.getString("ConsoleView.Console_1")); //$NON-NLS-1$
-			buff.append(" ["); //$NON-NLS-1$
-			buff.append(DebugUIPlugin.getModelPresentation().getText(obj));
-			buff.append(']');
-			title= buff.toString();
-		}
-		setTitle(title);
-	}
-		
-	/**
-	 * @see AbstractDebugView#createActions()
-	 */
-	protected void createActions() {
-		fClearOutputAction= new ClearOutputAction(getConsoleViewer());
-		
-		// In order for the clipboard actions to accessible via their shortcuts
-		// (e.g., Ctrl-C, Ctrl-V), we *must* set a global action handler for
-		// each action		
-		IActionBars actionBars= getViewSite().getActionBars();
-		TextViewerAction action= new TextViewerAction(getTextViewer(), TextViewer.CUT);
-		action.configureAction(DebugUIViewsMessages.getString("ConsoleView.Cu&t@Ctrl+X_3"), DebugUIViewsMessages.getString("ConsoleView.Cut_4"), DebugUIViewsMessages.getString("ConsoleView.Cut_4")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		setGlobalAction(actionBars, ITextEditorActionConstants.CUT, action);
-		action= new TextViewerAction(getTextViewer(), TextViewer.COPY);
-		action.configureAction(DebugUIViewsMessages.getString("ConsoleView.&Copy@Ctrl+C_6"), DebugUIViewsMessages.getString("ConsoleView.Copy_7"), DebugUIViewsMessages.getString("ConsoleView.Copy_7")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		setGlobalAction(actionBars, ITextEditorActionConstants.COPY, action);
-		action= new TextViewerAction(getTextViewer(), TextViewer.PASTE);
-		action.configureAction(DebugUIViewsMessages.getString("ConsoleView.&Paste@Ctrl+V_9"), DebugUIViewsMessages.getString("ConsoleView.Paste_10"), DebugUIViewsMessages.getString("ConsoleView.Paste_Clipboard_Text_11")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		setGlobalAction(actionBars, ITextEditorActionConstants.PASTE, action);
-		action= new TextViewerAction(getTextViewer(), TextViewer.SELECT_ALL);
-		action.configureAction(DebugUIViewsMessages.getString("ConsoleView.Select_&All@Ctrl+A_12"), DebugUIViewsMessages.getString("ConsoleView.Select_All"), DebugUIViewsMessages.getString("ConsoleView.Select_All")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		setGlobalAction(actionBars, ITextEditorActionConstants.SELECT_ALL, action);
-		
-		//XXX Still using "old" resource access
-		ResourceBundle bundle= ResourceBundle.getBundle("org.eclipse.debug.internal.ui.views.DebugUIViewsMessages"); //$NON-NLS-1$
-		setGlobalAction(actionBars, ITextEditorActionConstants.FIND, new FindReplaceAction(bundle, "find_replace_action.", this)); //$NON-NLS-1$
-	
-		action= new TextViewerGotoLineAction(getConsoleViewer());
-		setGlobalAction(actionBars, ITextEditorActionConstants.GOTO_LINE, action);				
-		actionBars.updateActionBars();
-		
-		getConsoleViewer().getTextWidget().addVerifyKeyListener(new VerifyKeyListener() {
-			public void verifyKey(VerifyEvent event) {
-				if (event.stateMask == SWT.CTRL && event.keyCode == 0 && event.character == 0x0C) {
-					IAction gotoLine= (IAction)fGlobalActions.get(ITextEditorActionConstants.GOTO_LINE);
-					if (gotoLine.isEnabled()) {
-						gotoLine.run();
-						event.doit= false;
-					}
-				}
-			}
-		});
-		
-		fSelectionActions.add(ITextEditorActionConstants.CUT);
-		fSelectionActions.add(ITextEditorActionConstants.COPY);
-		fSelectionActions.add(ITextEditorActionConstants.PASTE);
-				
-		// initialize input, after viewer has been created
-		setViewerInput(DebugUITools.getCurrentProcess());
-	}
-
-	protected void setGlobalAction(IActionBars actionBars, String actionID, IAction action) {
-		fGlobalActions.put(actionID, action); 
-		actionBars.setGlobalActionHandler(actionID, action);
-	}
-	
-	/**
-	 * @see AbstractDebugView#configureToolBar(IToolBarManager)
-	 */
-	protected void configureToolBar(IToolBarManager mgr) {
-		mgr.add(new Separator(IDebugUIConstants.LAUNCH_GROUP));
-		mgr.add(fClearOutputAction);
-	}
-
-	/**
-	 * Adds the text manipulation actions to the <code>ConsoleViewer</code>
-	 */
-	protected void fillContextMenu(IMenuManager menu) {
-		Point selectionRange= getConsoleViewer().getTextWidget().getSelection();
-		ConsoleDocument doc= (ConsoleDocument) getConsoleViewer().getDocument();
-		if (doc == null) {
-			return;
-		}
-		if (doc.isReadOnly() || selectionRange.x < doc.getStartOfEditableContent()) {
-			menu.add((IAction)fGlobalActions.get(ITextEditorActionConstants.COPY));
-			menu.add((IAction)fGlobalActions.get(ITextEditorActionConstants.SELECT_ALL));
-		} else {
-			updateAction(ITextEditorActionConstants.PASTE);
-			menu.add((IAction)fGlobalActions.get(ITextEditorActionConstants.CUT));
-			menu.add((IAction)fGlobalActions.get(ITextEditorActionConstants.COPY));
-			menu.add((IAction)fGlobalActions.get(ITextEditorActionConstants.PASTE));
-			menu.add((IAction)fGlobalActions.get(ITextEditorActionConstants.SELECT_ALL));
-		}
-
-		menu.add(new Separator("FIND")); //$NON-NLS-1$
-		menu.add((IAction)fGlobalActions.get(ITextEditorActionConstants.FIND));
-		menu.add((IAction)fGlobalActions.get(ITextEditorActionConstants.GOTO_LINE));
-		menu.add(fClearOutputAction);
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-
-	/**
-	 * @see WorkbenchPart#getAdapter(Class)
-	 */
-	public Object getAdapter(Class required) {
-		if (!isAvailable()) {
-			return null;
-		}
-		if (IFindReplaceTarget.class.equals(required)) {
-			return getConsoleViewer().getFindReplaceTarget();
-		}
-		if (Widget.class.equals(required)) {
-			return getConsoleViewer().getTextWidget();
-		}
-		return super.getAdapter(required);
-	}
-
-
-	protected final ISelectionChangedListener getSelectionChangedListener() {
-		return new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					updateSelectionDependentActions();
-				}
-			};
-	}
-	
-	protected final ITextInputListener getTextInputListener() {
-		return new ITextInputListener() {
-				public void inputDocumentAboutToBeChanged(IDocument old, IDocument nw) {
-					if (old != null) {
-						old.removeDocumentListener(ConsoleView.this);
-					}
-					fCurrentDocument = nw;
-					if (nw != null) {
-						nw.addDocumentListener(ConsoleView.this);
-					}
-				}
-				public void inputDocumentChanged(IDocument doc, IDocument doc2) {
-					updateAction(ITextEditorActionConstants.FIND);
-				}
-			};
-	}
-
-	protected void updateSelectionDependentActions() {
-		Iterator iterator= fSelectionActions.iterator();
-		while (iterator.hasNext()) {
-			updateAction((String)iterator.next());		
-		}
-	}
-
-	protected void updateAction(String actionId) {
-		if (!isAvailable()) {
-			return;
-		}
-		IAction action= (IAction)fGlobalActions.get(actionId);
-		if (action instanceof IUpdate) {
-			((IUpdate) action).update();
-		}
-	}
-	
-	public void dispose() {
-		getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		if (getConsoleViewer() != null) {
-			getConsoleViewer().dispose();
-		}
-		if (fCurrentDocument != null) {
-			fCurrentDocument.removeDocumentListener(this);
-		}
-		super.dispose();
-	}
-	
-	/**
-	 * @see IDocumentListener#documentAboutToBeChanged(DocumentEvent)
-	 */
-	public void documentAboutToBeChanged(DocumentEvent e) {
-	}
-
-	/**
-	 * @see IDocumentListener#documentChanged(DocumentEvent)
-	 */
-	public void documentChanged(DocumentEvent e) {
-		updateAction(ITextEditorActionConstants.FIND);
-	}
-
-	public ConsoleViewer getConsoleViewer() {
-		return (ConsoleViewer)getViewer();
-	}
-	
-	/**
-	 * Sets the process being viewed
-	 * 
-	 * @param process process or <code>null</code>
-	 */
-	private void setProcess(IProcess process) {
-		fProcess = process;
-	}
-	
-	/**
-	 * Returns the process being viewed, or <code>null</code>
-	 * 
-	 * @return process
-	 */
-	public IProcess getProcess() {
-		return fProcess;
-	}
-	
-	/**
-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		setViewerInput(DebugUITools.getCurrentProcess());
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewEventHandler.java
deleted file mode 100644
index b12d4eb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewEventHandler.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.debug.internal.ui.views.console;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler;
-import org.eclipse.debug.ui.AbstractDebugView;
-
-/**
- * Updates actions as the input to the view changes
- * state
- */
-public class ConsoleViewEventHandler extends AbstractDebugEventHandler {
-
-	/**
-	 * Constructs an event handler for the given view.
-	 * 
-	 * @param view debug view
-	 */
-	public ConsoleViewEventHandler(AbstractDebugView view) {
-		super(view);
-	}
-	
-	/**
-	 * @see AbstractDebugEventHandler#doHandleDebugEvents(DebugEvent[])
-	 */
-	protected void doHandleDebugEvents(DebugEvent[] events) {
-		boolean update= false;
-		
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			Object source= event.getSource();
-			if (source == null) {
-				continue;
-			}
-			IProcess process= getConsoleView().getProcess();
-			if (source.equals(process)) {
-				update= true;
-				break;
-			} else {
-				if (process != null) {
-					Object obj = process.getAdapter(IDebugTarget.class);
-					if (source.equals(obj)) {
-						update= true;	
-						break;
-					}
-				}
-			}
-		}
-		
-		if (update) {
-			getView().updateObjects();
-			getConsoleView().updateTitle();
-		}
-	}
-	
-	/**
-	 * Returns the console view.
-	 * 
-	 * @return console view
-	 */
-	protected ConsoleView getConsoleView() {
-		return (ConsoleView)getView();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewer.java
deleted file mode 100644
index 4059cbc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewer.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package org.eclipse.debug.internal.ui.views.console;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.ConsolePreferencePage;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-
-public class ConsoleViewer extends TextViewer implements IPropertyChangeListener{
-
-	/**
-	 * Font used in the underlying text widget
-	 */
-	protected Font fFont;
-	
-	protected InternalDocumentListener fInternalDocumentListener= new InternalDocumentListener();
-	/**
-	 * Internal document listener.
-	 */
-	class InternalDocumentListener implements IDocumentListener {
-		/**
-		 * @see IDocumentListener#documentAboutToBeChanged(DocumentEvent)
-		 */
-		public void documentAboutToBeChanged(DocumentEvent e) {
-		}
-		
-		/**
-		 * @see IDocumentListener#documentChanged(DocumentEvent)
-		 */
-		public void documentChanged(DocumentEvent e) {
-			ConsoleDocument doc= (ConsoleDocument) getDocument();
-			if (doc == null || doc.isClosed()) {
-				getTextWidget().setEditable(false);
-				return;
-			}
-			revealEndOfDocument();
-			if (doc.isReadOnly()) {
-				getTextWidget().setEditable(false);
-			}
-			updateStyleRanges(doc);
-		}
-	}
-
-	/**
-	 * Creates a new console viewer and adds verification checking
-	 * to only allow text modification if the text is being modified
-	 * in the editable portion of the underlying document.
-	 *
-	 * @see org.eclipse.swt.events.VerifyListener
-	 */	
-	public ConsoleViewer(Composite parent) {
-		super(parent, getSWTStyles());
-		
-		getTextWidget().setDoubleClickEnabled(true);
-		
-		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		FontData data= ConsolePreferencePage.getConsoleFontData();
-		fFont= new Font(getControl().getDisplay(), data);
-		getTextWidget().setFont(fFont);
-	}
-	
-	/**
-	 * Returns the SWT style flags used when instantiating this viewer
-	 */
-	private static int getSWTStyles() {
-		int styles= SWT.H_SCROLL | SWT.V_SCROLL;
-		if (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.CONSOLE_WRAP)) {
-			styles= styles | SWT.WRAP;
-		}
-		return styles;
-	}
-
-	/**
-	 * Reveals (makes visible) the end of the current document
-	 */
-	protected void revealEndOfDocument() {
-		IDocument doc= getDocument();
-		int docLength= doc.getLength();
-		if (docLength > 0) {
-			StyledText widget= getTextWidget();
-			widget.setCaretOffset(docLength);
-			widget.showSelection();
-		}
-	}
-
-	protected void updateStyleRanges(ConsoleDocument doc) {
-		StyleRange[] ranges= doc.getStyleRanges();		
-		int lastRangeIndex= ranges.length;
-		if (lastRangeIndex > 0) {
-			StyledText widget= getTextWidget();
-			int storeLength= doc.getStore().getLength();
-			StyleRange lastRange= ranges[lastRangeIndex - 1];
-			if (!(storeLength - 1 < lastRange.start) &&
-				lastRange.start + lastRange.length <= widget.getContent().getCharCount()) {
-				widget.setStyleRanges(ranges);
-			}
-		}
-	}
-
-	/**
-	 * Clears the contents of the current document.
-	 */
-	public void clearDocument() {
-		IDocument doc= getDocument();
-		if (doc != null) {
-			((ConsoleDocument) doc).clearDocument();
-		}
-		selectionChanged(0, 0);
-	}
-
-	/**
-	 * @see ITextViewer#setDocument(IDocument)
-	 */
-	public void setDocument(IDocument doc) {
-		ConsoleDocument oldDoc= (ConsoleDocument) getDocument();
-		ConsoleDocument document= (ConsoleDocument)doc;
-		if (oldDoc == null && document == null) {
-			return;
-		}
-		if (oldDoc != null) {
-			oldDoc.removeDocumentListener(fInternalDocumentListener);
-			oldDoc.setConsoleViewer(null);
-			if (oldDoc.equals(document)) {
-				document.addDocumentListener(fInternalDocumentListener);
-				document.setConsoleViewer(this);
-				return;
-			}
-		}
-
-		super.setDocument(document);
-		if (document != null) {
-			getTextWidget().setEditable(!document.isReadOnly());
-			updateStyleRanges(document);
-			revealEndOfDocument();
-			document.addDocumentListener(fInternalDocumentListener);
-			document.setConsoleViewer(this);
-		} else {
-			getTextWidget().setEditable(false);
-		}
-	}
-	
-	/**
-	 * @see IFindReplaceTarget#canPerformFind()
-	 */
-	protected boolean canPerformFind() {
-		return (getTextWidget() != null && getVisibleDocument() != null && getVisibleDocument().getLength() > 0);
-	}	
-	
-	/**
-	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		String propertyName= event.getProperty();
-		if (!propertyName.equals(IDebugPreferenceConstants.CONSOLE_FONT)) {
-			return;
-		}
-		FontData data= ConsolePreferencePage.getConsoleFontData();
-		Font temp= fFont;
-		fFont= new Font(getControl().getDisplay(), data);
-		getTextWidget().setFont(fFont);
-		temp.dispose();
-	}
-	
-	/**
-	 * Dispose this viewer and resources
-	 */
-	protected void dispose() {
-		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		fFont.dispose();
-	}
-	
-	/**
-	 * @see ITextViewer#isEditable()
-	 */
-	public boolean isEditable() {
-		StyledText widget= getTextWidget();
-		int caretPos= widget.getCaretOffset();
-		ConsoleDocument doc= (ConsoleDocument) getDocument();
-		if (doc != null && doc.getStartOfEditableContent() > caretPos) {
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * @see VerifyListener#verifyText(VerifyEvent)
-	 */
-	protected void handleVerifyEvent(VerifyEvent e) {
-		ConsoleDocument doc= (ConsoleDocument) getDocument();
-		if (doc != null && doc.getStartOfEditableContent() > e.start) {
-			e.doit= false;
-		}
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
deleted file mode 100644
index 0e0f809..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package org.eclipse.debug.internal.ui.views.expression;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler;
-import org.eclipse.debug.internal.ui.views.variables.VariablesView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
- 
-/**
- * Displays expressions and their values with a detail
- * area.
- */
-public class ExpressionView extends VariablesView {	
-	/**
-	 * Creates this view's content provider.
-	 * 
-	 * @return a content provider
-	 */
-	protected IContentProvider createContentProvider() {
-		return new ExpressionViewContentProvider();
-	}
-	
-	/**
-	 * Creates this view's event handler.
-	 * 
-	 * @param viewer the viewer associated with this view
-	 * @return an event handler
-	 */
-	protected AbstractDebugEventHandler createEventHandler(Viewer viewer) {
-		return new ExpressionViewEventHandler(this);
-	}		
-	
-	/**
-	 * @see AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.EXPRESSION_VIEW;		
-	}	
-	
-	/**
-	 * Initializes the viewer input on creation
-	 */
-	protected void setInitialContent() {
-		getViewer().setInput(DebugPlugin.getDefault().getExpressionManager());
-	}	
-	
-	/**
-	 * Configures the toolBar.
-	 * 
-	 * @param tbm The toolbar that will be configured
-	 */
-	protected void configureToolBar(IToolBarManager tbm) {
-		tbm.add(new Separator(this.getClass().getName()));
-		tbm.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-		tbm.add(getAction("ShowTypeNames")); //$NON-NLS-1$
-		tbm.add(new Separator(IDebugUIConstants.EMPTY_EXPRESSION_GROUP));		
-		tbm.add(new Separator(IDebugUIConstants.EXPRESSION_GROUP));
-		tbm.add(new Separator("TOGGLE_VIEW")); //$NON-NLS-1$
-		tbm.add(getAction("ShowDetailPane")); //$NON-NLS-1$
-	}	
-	
-   /**
-	* Adds items to the tree viewer's context menu including any extension defined
-	* actions.
-	* 
-	* @param menu The menu to add the item to.
-	*/
-	protected void fillContextMenu(IMenuManager menu) {
-
-		menu.add(new Separator(IDebugUIConstants.EMPTY_EXPRESSION_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EXPRESSION_GROUP));
-		menu.add(getAction("ChangeVariableValue")); //$NON-NLS-1$
-		menu.add(new Separator(IDebugUIConstants.EMPTY_RENDER_GROUP));
-		menu.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-		menu.add(getAction("ShowTypeNames")); //$NON-NLS-1$
-		menu.add(new Separator("TOGGLE_VIEW")); //$NON-NLS-1$
-		menu.add(getAction("ShowDetailPane")); //$NON-NLS-1$
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-	/** 
-	 * The <code>ExpressionView</code> listens for selection changes in the <code>LaunchesView</code>
-	 * to correctly set the editable state of the details pane.
-	 *
-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		IStackFrame frame= null;
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ssel= (IStructuredSelection)selection;
-			if (ssel.size() == 1) {
-				Object input= ssel.getFirstElement();
-				if (input instanceof IStackFrame) {
-					getDetailViewer().setEditable(true);
-					frame= (IStackFrame)input;
-					setDebugModel(frame.getModelIdentifier());
-					return;
-				} 
-			}
-		}
-				
-		getDetailViewer().setEditable(false);
-		updateAction("ContentAssist"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Do nothing - the input to this view never changes - 
-	 * it is always the expression manager.
-	 * 
-	 * @see VariablesView#setViewerInput(IStructuredSelection)
-	 */
-	protected void setViewerInput(IStructuredSelection ssel) {
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewContentProvider.java
deleted file mode 100644
index f4c0db5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewContentProvider.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.debug.internal.ui.views.expression;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewContentProvider;
- 
-/**
- * Provides contents for the expression view
- */
-public class ExpressionViewContentProvider extends VariablesViewContentProvider {
-
-	/**
-	 * @see ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parent) {
-		Object[] children= null;
-		try {
-			if (parent instanceof IExpressionManager) {
-				// do not cache parents
-				return ((IExpressionManager)parent).getExpressions();
-			} else if (parent instanceof IExpression) {
-				children = ((IExpression)parent).getValue().getVariables();
-			} else if (parent instanceof IVariable) {
-				children = ((IVariable)parent).getValue().getVariables();
-			}
-			if (children != null) {
-				cache(parent, children);
-				return children;
-			}
-		} catch (DebugException e) {
-			DebugUIPlugin.log(e);
-		}
-		return new Object[0];
-	}
-	
-	/**
-	 * @see ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object item) {
-		if (item instanceof IExpression) {
-			return DebugPlugin.getDefault().getExpressionManager();
-		}
-		return super.getParent(item);
-	}
-	
-	/**
-	 * @see ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof IExpressionManager) {
-			return ((IExpressionManager)element).hasExpressions();
-		} else if (element instanceof IExpression) {
-			IValue v = ((IExpression)element).getValue();
-			if (v == null) {
-				return false;
-			}
-			try {
-				return v.hasVariables();
-			} catch (DebugException e) {
-				DebugUIPlugin.log(e);
-				return false;
-			}
-		}
-		return super.hasChildren(element);
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewEventHandler.java
deleted file mode 100644
index 42bfaba..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewEventHandler.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.eclipse.debug.internal.ui.views.expression;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.util.List;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionListener;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewEventHandler;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
- 
-/**
- * Updates the expression view
- */ 
-public class ExpressionViewEventHandler extends VariablesViewEventHandler implements IExpressionListener {
-
-	/**
-	 * Constructs a new event handler on the given view
-	 * 
-	 * @param view variables view
-	 */
-	public ExpressionViewEventHandler(AbstractDebugView view) {
-		super(view);
-		DebugPlugin plugin= DebugPlugin.getDefault();
-		plugin.getExpressionManager().addExpressionListener(this);		
-	}
-	
-	/**
-	 * De-registers this event handler from the debug model.
-	 */
-	public void dispose() {
-		DebugPlugin plugin= DebugPlugin.getDefault();
-		plugin.getExpressionManager().removeExpressionListener(this);
-		super.dispose();
-	}	
-	
-	/**
-	 * @see IExpressionListener#expressionAdded(IExpression)
-	 */
-	public void expressionAdded(final IExpression expression) {
-		Runnable r = new Runnable() {
-			public void run() {
-				if (isAvailable()) {
-					getTreeViewer().getControl().setFocus();
-					insert(expression);
-					selectAndReveal(expression);
-					getTreeViewer().expandToLevel(expression, 1);
-				}
-			}
-		};
-		getView().asyncExec(r);
-	}
-
-	/**
-	 * @see IExpressionListener#expressionRemoved(IExpression)
-	 */
-	public void expressionRemoved(final IExpression expression) {
-		Runnable r = new Runnable() {
-			public void run() {
-				if (isAvailable()) {
-					remove(expression);
-					IContentProvider provider= getTreeViewer().getContentProvider();
-					if (provider instanceof ExpressionViewContentProvider) {
-						ExpressionViewContentProvider expressionProvider= (ExpressionViewContentProvider) provider;
-						List decendants = expressionProvider.getCachedDecendants(expression);
-						decendants.add(expression);
-						// Remove the parent cache for the expression and its children
-						expressionProvider.removeCache(decendants.toArray());
-						IExpression[] expressions= DebugPlugin.getDefault().getExpressionManager().getExpressions();
-						if (expressions.length > 0) {
-							getTreeViewer().setSelection(new StructuredSelection(expressions[0]), true);
-						}
-					}
-				}
-			}
-		};
-		getView().asyncExec(r);
-	}
-
-	/**
-	 * @see IExpressionListener#expressionChanged(IExpression)
-	 */
-	public void expressionChanged(final IExpression expression) {
-		Runnable r = new Runnable() {
-			public void run() {
-				refresh(expression);
-			}
-		};
-		getView().asyncExec(r);			
-	}
-	
-	/**
-	 * Override the superclass method. Do nothing.
-	 */
-	protected void doHandleResumeEvent(DebugEvent event) {
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
deleted file mode 100644
index fdd962c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
+++ /dev/null
@@ -1,1007 +0,0 @@
-package org.eclipse.debug.internal.ui.views.launch;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandlerView;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ISourcePresentation;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.SubContributionItem;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener;
-import org.eclipse.ui.IReusableEditor;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class LaunchView extends AbstractDebugEventHandlerView implements ISelectionChangedListener, IPerspectiveListener, IPageListener, IPropertyChangeListener, IResourceChangeListener {
-	
-	/**
-	 * A marker for the source selection and icon for an
-	 * instruction pointer.  This marker is transient.
-	 */
-	private IMarker fInstructionPointer;
-	private boolean fShowingMarker = false;
-	
-	// marker attributes
-	private final static String[] fgStartEnd = 
-		new String[] {IMarker.CHAR_START, IMarker.CHAR_END};
-		
-	private final static String[] fgLineStartEnd = 
-		new String[] {IMarker.LINE_NUMBER, IMarker.CHAR_START, IMarker.CHAR_END};	
-		
-	/**
-	 * Cache of the stack frame that source was displayed
-	 * for.
-	 */
-	private IStackFrame fStackFrame = null;
-	
-	/**
-	 * Cache of the editor input used to display source
-	 */
-	private IEditorInput fEditorInput = null;
-	
-	/**
-	 * Cache of the editor id used to display source
-	 */
-	private String fEditorId = null;
-	
-	/**
-	 * Whether this view is in the active page of a perspective.
-	 */
-	private boolean fIsActive = true; 	
-	
-	/**
-	 * Editor to reuse
-	 */
-	private IEditorPart fEditor = null;
-	
-	/**
-	 * The restored editor index of the editor to re-use
-	 */
-	private int fEditorIndex = -1;
-	
-	/**
-	 * Whether to re-use editors
-	 */
-	private boolean fReuseEditor = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_REUSE_EDITOR);
-	
-	/**
-	 * Resource delta visitor
-	 */
-	private IResourceDeltaVisitor fVisitor = null;
-	
-	/**
-	 * Creates a launch view and an instruction pointer marker for the view
-	 */
-	public LaunchView() {
-		try {
-			fInstructionPointer = ResourcesPlugin.getWorkspace().getRoot().createMarker(IInternalDebugUIConstants.INSTRUCTION_POINTER);
-			DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-			ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * @see AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.DEBUG_VIEW;
-	}
-	
-	/**
-	 * @see AbstractDebugView#createActions()
-	 */
-	protected void createActions() {
-		setAction("Properties", new PropertyDialogAction(getSite().getWorkbenchWindow().getShell(), getSite().getSelectionProvider())); //$NON-NLS-1$
-				
-		// submit an async exec to update the selection once the
-		// view has been created - i.e. auto-expand and select the
-		// suspended thread on creation. (Done here, because the
-		// viewer needs to be set).
-		Runnable r = new Runnable() {
-			public void run() {
-				initializeSelection();
-			}
-		};
-		asyncExec(r);		
-		
-	}
-
-	/**
-	 * @see AbstractDebugView#createViewer(Composite)
-	 */
-	protected Viewer createViewer(Composite parent) {
-		LaunchViewer lv = new LaunchViewer(parent);
-		lv.addSelectionChangedListener(this);
-		lv.setContentProvider(createContentProvider());
-		lv.setLabelProvider(new DelegatingModelPresentation());
-		lv.setUseHashlookup(true);
-		// add my viewer as a selection provider, so selective re-launch works
-		getSite().setSelectionProvider(lv);
-		lv.setInput(DebugPlugin.getDefault().getLaunchManager());
-		setEventHandler(new LaunchViewEventHandler(this));
-		
-		// determine if active
-		setActive(getSite().getPage().findView(getSite().getId()) != null);
-		
-		return lv;
-	}
-	
-	/**
-	 * Select the first stack frame in a suspended thread,
-	 * if any.
-	 */
-	protected void initializeSelection() {
-		if (!isAvailable()) {
-			return;
-		}
-		TreeViewer tv = (TreeViewer)getViewer();
-		tv.expandToLevel(2);
-		Object[] elements = tv.getExpandedElements();
-		for (int i = 0; i < elements.length; i++) {
-			if (elements[i] instanceof ILaunch) {
-				IStackFrame frame = findFrame((ILaunch)elements[i]);
-				if (frame != null) {
-					autoExpand(frame, false, true);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns the first stack frame in the first suspended
-	 * thread of the given launch, or <code>null</code> if
-	 * none.
-	 * 
-	 * @param launch a launch in this view
-	 * @return stack frame or <code>null</code>
-	 */
-	protected IStackFrame findFrame(ILaunch launch) {
-		IDebugTarget target = launch.getDebugTarget();
-		if (target != null) {
-			try {
-				IThread[] threads = target.getThreads();
-				for (int i = 0; i < threads.length; i++) {
-					if (threads[i].isSuspended()) {
-						return threads[i].getTopStackFrame();
-					}
-				}
-			} catch (DebugException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * @see IViewPart#init(IViewSite)
-	 */
-	public void init(IViewSite site) throws PartInitException {
-		super.init(site);
-		site.getPage().addPartListener(this);
-		site.getWorkbenchWindow().addPageListener(this);
-		site.getWorkbenchWindow().addPerspectiveListener(this);
-	}
-
-	/**
-	 * @see IViewPart#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		site.getPage().addPartListener(this);
-		site.getWorkbenchWindow().addPageListener(this);
-		site.getWorkbenchWindow().addPerspectiveListener(this);
-		if (fReuseEditor && memento != null) {
-			String index = memento.getString(IDebugUIConstants.PREF_REUSE_EDITOR);
-			if (index != null) {
-				try {
-					fEditorIndex = Integer.parseInt(index);
-				} catch (NumberFormatException e) {
-					DebugUIPlugin.log(e);
-				}
-			}
-		}
-	}
-		
-	/**
-	 * @see AbstractDebugView#configureToolBar(IToolBarManager)
-	 */
-	protected void configureToolBar(IToolBarManager tbm) {
-		tbm.add(new Separator(IDebugUIConstants.THREAD_GROUP));
-		tbm.add(new Separator(IDebugUIConstants.STEP_GROUP));
-		tbm.add(new GroupMarker(IDebugUIConstants.STEP_INTO_GROUP));
-		tbm.add(new GroupMarker(IDebugUIConstants.STEP_OVER_GROUP));
-		tbm.add(new GroupMarker(IDebugUIConstants.STEP_RETURN_GROUP));
-		tbm.add(new GroupMarker(IDebugUIConstants.EMPTY_STEP_GROUP));
-		tbm.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-	}	
-
-	/**
-	 * @see IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		if (getViewer() != null) {
-			getViewer().removeSelectionChangedListener(this);
-		}
-		
-		getSite().getPage().removePartListener(this);
-		getSite().getWorkbenchWindow().removePerspectiveListener(this);
-		getSite().getWorkbenchWindow().removePageListener(this);
-		
-		cleanup();
-		
-		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		super.dispose();
-	}
-	
-	/**
-	 * Disposes of cached information
-	 */
-	protected void cleanup() {
-		setEditorId(null);
-		setEditorInput(null);
-		setStackFrame(null);
-	}
-	
-	/**
-	 * Creates and returns the content provider to use for
-	 * the viewer of this view.
-	 */
-	protected IStructuredContentProvider createContentProvider() {
-		return new LaunchViewContentProvider();
-	}
-	
-	/**
-	 * The selection has changed in the viewer. Show the
-	 * associated source code if it is a stack frame.
-	 * 
-	 * @see ISelectionChangedListener#selectionChanged(SelectionChangedEvent)
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		updateObjects();
-		showMarkerForCurrentSelection();
-	}
-			
-	/**
-	 * @see IDoubleClickListener#doubleClick(DoubleClickEvent)
-	 */
-	public void doubleClick(DoubleClickEvent event) {
-		ISelection selection= event.getSelection();
-		if (!(selection instanceof IStructuredSelection)) {
-			return;
-		}
-		IStructuredSelection ss= (IStructuredSelection)selection;
-		Object o= ss.getFirstElement();
-		if (o instanceof IStackFrame) {
-			return;
-		} 
-		TreeViewer tViewer= (TreeViewer)getViewer();
-		boolean expanded= tViewer.getExpandedState(o);
-		tViewer.setExpandedState(o, !expanded);
-	}
-		
-	/**
-	 * @see IPerspectiveListener#perspectiveActivated(IWorkbenchPage, IPerspectiveDescriptor)
-	 */
-	public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-		setActive(page.findView(getSite().getId()) != null);
-		updateObjects();
-		showMarkerForCurrentSelection();
-		if (isActive()) {
-			asyncExec(new Runnable() {
-				public void run() {
-					updateDebugActionSetAccelerators();
-				}
-			});
-
-		}
-	}
-
-	/**
-	 * @see IPerspectiveListener#perspectiveChanged(IWorkbenchPage, IPerspectiveDescriptor, String)
-	 */
-	public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
-		setActive(page.findView(getSite().getId()) != null);
-	}
-
-	/**
-	 * @see IPageListener#pageActivated(IWorkbenchPage)
-	 */
-	public void pageActivated(IWorkbenchPage page) {
-		if (getSite().getPage().equals(page)) {
-			setActive(true);
-			updateObjects();
-			showMarkerForCurrentSelection();
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IPartListener#partClosed(org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		if (part.equals(fEditor)) {
-			fEditor = null;
-		}
-	}
-	
-	/**
-	 * Workaround for bug 9082
-	 */
-	protected void updateDebugActionSetAccelerators() {
-		IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window instanceof ApplicationWindow) {
-			ApplicationWindow appWindow= (ApplicationWindow)window;
-			IMenuManager manager= appWindow.getMenuBarManager();
-			IContributionItem actionSetItem= manager.findUsingPath("org.eclipse.ui.run"); //$NON-NLS-1$
-			if (actionSetItem instanceof SubContributionItem) {
-				IContributionItem item= ((SubContributionItem)actionSetItem).getInnerItem();
-				if (item instanceof IMenuManager) {
-					//force the accelerators to be updated
-					((IMenuManager)item).update(true);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see IPageListener#pageClosed(IWorkbenchPage)
-	 */
-	public void pageClosed(IWorkbenchPage page) {
-	}
-
-	/**
-	 * @see IPageListener#pageOpened(IWorkbenchPage)
-	 */
-	public void pageOpened(IWorkbenchPage page) {
-	}
-		
-	/**
-	 * Returns the configured instruction pointer.
-	 * Selection is based on the line number OR char start and char end.
-	 */
-	protected IMarker getInstructionPointer(final int lineNumber, final int charStart, final int charEnd) {
-		
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				if (lineNumber == -1) {
-					fInstructionPointer.setAttributes(fgStartEnd, 
-						new Object[] {new Integer(charStart), new Integer(charEnd)});
-				} else {
-					fInstructionPointer.setAttributes(fgLineStartEnd, 
-						new Object[] {new Integer(lineNumber), new Integer(charStart), new Integer(charEnd)});
-				}
-			}
-		};
-		
-		try {
-			workspace.run(runnable, null);
-		} catch (CoreException ce) {
-			DebugUIPlugin.log(ce);
-		}
-		
-		return fInstructionPointer;
-	}		
-	
-	/**
-	 * Opens a marker for the current selection if it is a stack frame.
-	 * Otherwise, nothing will happen.
-	 */
-	protected void showMarkerForCurrentSelection() {
-		// ensure this view is visible in the active page
-		if (!isActive()) {
-			return;
-		}		
-		if (!fShowingMarker) {
-			try {
-				fShowingMarker = true;
-				ISelection selection= getViewer().getSelection();
-				Object obj= null;
-				if (selection instanceof IStructuredSelection) {
-					obj= ((IStructuredSelection) selection).getFirstElement();
-				}
-				if (!(obj instanceof IStackFrame)) {
-					return;
-				}
-				
-				IStackFrame stackFrame= (IStackFrame) obj;
-				if (stackFrame.equals(getStackFrame())) {
-					if (getEditorInput() == null || getEditorId() == null) {
-						lookupEditorInput();
-					}
-				} else {
-					setStackFrame(stackFrame);
-					lookupEditorInput();
-				}
-				
-				if (getEditorInput() != null && getEditorId() != null) {
-					int lineNumber= 0;
-					int start = -1;
-					int end = -1;
-					try {
-						lineNumber= stackFrame.getLineNumber();
-						start= stackFrame.getCharStart();
-						end= stackFrame.getCharEnd();
-					} catch (DebugException de) {
-						DebugUIPlugin.log(de);
-					}
-					openEditorAndSetMarker(getEditorInput(), getEditorId(), lineNumber, start, end);
-				}
-			} finally {
-				fShowingMarker= false;
-			}
-		}
-	}
-	
-	/**
-	 * Translate to an editor input using the source presentation
-	 * provided by the source locator, or the default debug model
-     * presentation.
-     */
-	private void lookupEditorInput() {
-		setEditorId(null);
-		setEditorInput(null);
-		Object sourceElement= null;
-		IStackFrame stackFrame= getStackFrame();
-		ILaunch launch = stackFrame.getLaunch();
-		if (launch == null) {
-			return;
-		}
-		ISourceLocator locator= launch.getSourceLocator();
-		if (locator == null) {
-			return;
-		}
-		sourceElement = locator.getSourceElement(stackFrame);
-		if (sourceElement == null) {
-			return;
-		}
-		
-		ISourcePresentation presentation = null;
-		if (locator instanceof ISourcePresentation) {
-			presentation = (ISourcePresentation)locator;
-		} else {
-			presentation = getPresentation(stackFrame.getModelIdentifier());
-		}
-		IEditorInput editorInput= null;
-		String editorId= null;
-		if (presentation != null) {
-			editorInput= presentation.getEditorInput(sourceElement);
-		}
-		
-		if (editorInput != null) {
-			editorId= presentation.getEditorId(editorInput, sourceElement);
-		}
-		setEditorInput(editorInput);
-		setEditorId(editorId);
-	}
-
-	/**
-	 * Get the active window and open/bring to the front an editor on the source element.
-	 * Selection is based on the line number OR the char start and end.
-	 */
-	protected void openEditorAndSetMarker(IEditorInput input, String editorId, int lineNumber, int charStart, int charEnd) {
-		IWorkbenchWindow dwindow= getSite().getWorkbenchWindow();
-		if (dwindow == null) {
-			return;
-		}
-		
-		IWorkbenchPage page= dwindow.getActivePage();
-		if (page == null) {
-			return;
-		}
-		
-		if (fEditorIndex >= 0) {
-			// first restoration of editor re-use
-			IEditorReference[] refs = page.getEditorReferences();
-			if (fEditorIndex < refs.length) {
-				fEditor = refs[fEditorIndex].getEditor(false);
-			}
-			fEditorIndex = -1;
-		}
-
-		//  if there is an editor in the debug page with the newInput
-		//     page bringToTop(editorAlreadyOpened)
-		//  else if editorToBeReused is null or 
-		//    if editorToBeReused is pinned or 
-		//    if editorToBeReused is dirty or 
-		//    if keep editors opened (debug preference)
-		//        editorToBeReused = page openEditor
-		//  else if editorToBeReused is instance of IReusableEditor
-		//        editorToBeReused.setInput(newInput)
-		//  else
-		//        page close editorToBeReused
-		//        editorToBeReused = page openEditor
-        		
-		IEditorPart editor = null;
-		if (fReuseEditor) {
-			editor = page.getActiveEditor();
-			if (editor != null) {
-				if (!editor.getEditorInput().equals(input)) {
-					editor = null;
-				}
-			}
-			if (editor == null) {
-				IEditorReference[] refs = page.getEditorReferences();
-				for (int i = 0; i < refs.length; i++) {
-					IEditorPart refEditor= refs[i].getEditor(true);
-					if (refEditor != null && input.equals(refEditor.getEditorInput())) {
-						editor = refEditor;
-						page.bringToTop(editor);
-						break;
-					}
-				}	
-			}
-			if (editor == null) {
-				if (fEditor == null || fEditor.isDirty() || page.isEditorPinned(fEditor)) {
-					editor = openEditor(page, input, editorId, false);
-					fEditor = editor;
-				} else if (fEditor instanceof IReusableEditor && editorId.equals(fEditor.getSite().getId())) {
-					((IReusableEditor)fEditor).setInput(input);
-					editor = fEditor;
-					page.bringToTop(editor);
-				} else {
-					page.closeEditor(fEditor, false);
-					editor = openEditor(page, input, editorId, false);
-					fEditor = editor;
-				}
-			}		
-		} else {
-			editor = openEditor(page, input, editorId, false);
-		}
-		
-		
-		if (editor != null && (lineNumber >= 0 || charStart >= 0)) {
-			//have an editor and either a lineNumber or a starting character
-			IMarker marker= getInstructionPointer(lineNumber, charStart, charEnd);
-			editor.gotoMarker(marker);
-		}
-	}
-	
-	protected IEditorPart openEditor(IWorkbenchPage page, IEditorInput input, String id, boolean activate) {
-		try {
-			return page.openEditor(input, id, false);
-		} catch (PartInitException e) {
-			DebugUIPlugin.errorDialog(DebugUIPlugin.getDefault().getShell(), 
-				DebugUIViewsMessages.getString("LaunchView.Error_1"),  //$NON-NLS-1$
-				DebugUIViewsMessages.getString("LaunchView.Exception_occurred_opening_editor_for_debugger._2"),  //$NON-NLS-1$
-				e);
-		}					
-		return null;
-	}
-
-	/**
-	 * Deselects any source in the active editor that was 'programmatically' selected by
-	 * the debugger.
-	 */
-	public void clearSourceSelection() {		
-		
-		cleanup();
-		
-		// Get the active editor
-		IEditorPart editor= getSite().getPage().getActiveEditor();
-		if (!(editor instanceof ITextEditor)) {
-			return;
-		}
-		ITextEditor textEditor= (ITextEditor)editor;
-		
-		// Get the current text selection in the editor.  If there is none, 
-		// then there's nothing to do
-		ITextSelection textSelection= (ITextSelection)textEditor.getSelectionProvider().getSelection();
-		if (textSelection.isEmpty()) {
-			return;
-		}
-		int startChar= textSelection.getOffset();
-		int endChar= startChar + textSelection.getLength() - 1;
-		int startLine= textSelection.getStartLine();
-		
-		// Check to see if the current selection looks the same as the last 'programmatic'
-		// selection in fInstructionPointer.  If not, it must be a user selection, which
-		// we leave alone.  In practice, we can leave alone any user selections on other lines,
-		// but if the user makes a selection on the same line as the last programmatic selection,
-		// it will get cleared.
-		int lastCharStart= fInstructionPointer.getAttribute(IMarker.CHAR_START, -1);
-		if (lastCharStart == -1) {
-			// subtract 1 since editor is 0-based
-			if (fInstructionPointer.getAttribute(IMarker.LINE_NUMBER, -1) - 1 != startLine) {
-				return;
-			}
-		} else {
-			int lastCharEnd= fInstructionPointer.getAttribute(IMarker.CHAR_END, -1);
-			if ((lastCharStart != startChar) || (lastCharEnd != endChar)) {
-				return;			     
-			}
-		}
-		
-		ITextSelection nullSelection= getNullSelection(startLine, startChar);
-		textEditor.getSelectionProvider().setSelection(nullSelection);		
-	}
-
-	/**
-	 * Creates and returns an ITextSelection that is a zero-length selection located at the
-	 * start line and start char.
-	 */
-	protected ITextSelection getNullSelection(final int startLine, final int startChar) {
-		return new ITextSelection() {
-			public int getStartLine() {
-				return startLine;
-			}
-			public int getEndLine() {
-				return startLine;
-			}
-			public int getOffset() {
-				return startChar;
-			}
-			public String getText() {
-				return ""; //$NON-NLS-1$
-			}
-			public int getLength() {
-				return 0;
-			}
-			public boolean isEmpty() {
-				return true;
-			}
-		};
-	}
-	
-	/**
-	 * @see AbstractDebugView#fillContextMenu(IMenuManager)
-	 */
-	protected void fillContextMenu(IMenuManager menu) {
-		
-		menu.add(new Separator(IDebugUIConstants.EMPTY_EDIT_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EDIT_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EMPTY_STEP_GROUP));
-		menu.add(new Separator(IDebugUIConstants.STEP_GROUP));
-		menu.add(new GroupMarker(IDebugUIConstants.STEP_INTO_GROUP));
-		menu.add(new GroupMarker(IDebugUIConstants.STEP_OVER_GROUP));
-		menu.add(new GroupMarker(IDebugUIConstants.STEP_RETURN_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EMPTY_THREAD_GROUP));
-		menu.add(new Separator(IDebugUIConstants.THREAD_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EMPTY_LAUNCH_GROUP));
-		menu.add(new Separator(IDebugUIConstants.LAUNCH_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EMPTY_RENDER_GROUP));
-		menu.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-		menu.add(new Separator(IDebugUIConstants.PROPERTY_GROUP));
-		PropertyDialogAction action = (PropertyDialogAction)getAction("Properties"); //$NON-NLS-1$
-		action.setEnabled(action.isApplicableForSelection());
-		menu.add(action);
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}	
-	
-	/**
-	 * Auto-expand and select the given element - must be called in UI thread.
-	 * This is used to implement auto-expansion-and-select on a SUSPEND event.
-	 */
-	public void autoExpand(Object element, boolean refreshNeeded, boolean selectNeeded) {
-		Object selectee = element;
-		Object[] children= null;
-		if (element instanceof IThread) {
-			if (!refreshNeeded) {
-				refreshNeeded= threadRefreshNeeded((IThread)element);
-			}
-			// try the top stack frame
-			try {
-				selectee = ((IThread)element).getTopStackFrame();
-			} catch (DebugException de) {
-			}
-			if (selectee == null) {
-				selectee = element;
-			}
-		} else if (element instanceof ILaunch) {
-			IDebugTarget dt = ((ILaunch)element).getDebugTarget();
-			if (dt != null) {
-				selectee= dt;
-				try {
-					children= dt.getThreads();
-				} catch (DebugException de) {
-					DebugUIPlugin.log(de);
-				}
-			} else {
-				IProcess[] processes= ((ILaunch)element).getProcesses();
-				if (processes.length != 0) {
-					selectee= processes[0];
-				}		
-			}
-		}
-		if (refreshNeeded) {
-			//ensures that the child item exists in the viewer widget
-			//set selection only works if the child exists
-			getStructuredViewer().refresh(element);
-		}
-		if (selectNeeded) {
-			getViewer().setSelection(new StructuredSelection(selectee), true);
-		}
-		if (children != null && children.length > 0) {
-			//reveal the thread children of a debug target
-			getStructuredViewer().reveal(children[0]);
-		}
-	}
-	
-	/**
-	 * Returns whether the given thread needs to
-	 * be refreshed in the tree.
-	 * 
-	 * The tree needs to be refreshed if the
-	 * underlying model objects (IStackFrame) under the given thread
-	 * differ from those currently displayed in the tree.
-	 */
-	protected boolean threadRefreshNeeded(IThread thread) {
-		LaunchViewer viewer= (LaunchViewer)getStructuredViewer();
-		ILaunch launch= thread.getLaunch();
-		TreeItem[] launches= viewer.getTree().getItems();
-		for (int i = 0; i < launches.length; i++) {
-			if (launches[i].getData() == launch) {
-				IDebugTarget target= thread.getDebugTarget();
-				TreeItem[] targets= launches[i].getItems();
-				for (int j = 0; j < targets.length; j++) {
-					if (targets[j].getData() == target) {
-						TreeItem[] threads= targets[j].getItems();
-						for (int k = 0; k < threads.length; k++) {
-							if (threads[k].getData() == thread) {
-								IStackFrame[] frames= null;
-								try {
-									frames = thread.getStackFrames();
-								} catch (DebugException exception) {
-									return true;
-								}
-								TreeItem[] treeFrames= threads[k].getItems();
-								for (int l= 0, numFrames= treeFrames.length; l < numFrames; l++) {
-									if (treeFrames[l].getData() != frames[l]) {
-										return true;
-									}
-								}
-								break;
-							}
-						}
-						break;
-					}
-				}
-				break;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the last stack frame that source was retrieved
-	 * for. Used to avoid source lookups for the same stack
-	 * frame when stepping.
-	 * 
-	 * @return stack frame, or <code>null</code>
-	 */
-	protected IStackFrame getStackFrame() {
-		return fStackFrame;
-	}	
-	
-	/**
-	 * Sets the last stack frame that source was retrieved
-	 * for. Used to avoid source lookups for the same stack
-	 * frame when stepping. Setting the stack frame to <code>null</code>
-	 * effectively forces a source lookup.
-	 * 
-	 * @param frame The stack frame or <code>null</code>
-	 */
-	protected void setStackFrame(IStackFrame frame) {
-		fStackFrame= frame;
-	}	
-	
-	/**
-	 * Sets the editor input that was resolved for the
-	 * source display.
-	 * 
-	 * @param editorInput editor input
-	 */
-	private void setEditorInput(IEditorInput editorInput) {
-		fEditorInput = editorInput;
-	}
-	
-	/**
-	 * Returns the editor input that was resolved for the
-	 * source display.
-	 * 
-	 * @return editor input
-	 */
-	protected IEditorInput getEditorInput() {
-		return fEditorInput;
-	}	
-	
-	/**
-	 * Sets the id of the editor opened when displaying
-	 * source.
-	 * 
-	 * @param editorId editor id
-	 */
-	private void setEditorId(String editorId) {
-		fEditorId = editorId;
-	}
-	
-	/**
-	 * Returns the id of the editor opened when displaying
-	 * source.
-	 * 
-	 * @return editor id
-	 */
-	protected String getEditorId() {
-		return fEditorId;
-	}	
-	
-	/**
-	 * Sets whether this view is in the active page of a
-	 * perspective. Since a page can have more than one
-	 * perspective, this view only show's source when in
-	 * the active perspective/page.
-	 * 
-	 * @param active whether this view is in the active page of a
-	 * perspective
-	 */
-	protected void setActive(boolean active) {
-		fIsActive = active;
-	} 
-
-	/**
-	 * Returns whether this view is in the active page of
-	 * the active perspective and has been fully created.
-	 * 
-	 * @return whether this view is in the active page of
-	 * the active perspective and has been fully created.
-	 */
-	protected boolean isActive() {
-		return fIsActive && getViewer() != null;
-	}
-	
-	/**
-	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(IDebugUIConstants.PREF_REUSE_EDITOR)) {
-			fReuseEditor = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_REUSE_EDITOR);
-		}
-	}
-
-	/**
-	 * @see IViewPart#saveState(IMemento)
-	 */
-	public void saveState(IMemento memento) {
-		super.saveState(memento);
-		if (fReuseEditor && fEditor != null) {
-			IWorkbenchWindow dwindow= getSite().getWorkbenchWindow();
-			if (dwindow == null) {
-				return;
-			}	
-			IWorkbenchPage page= dwindow.getActivePage();
-			if (page == null) {
-				return;
-			}
-			IEditorReference[] refs = page.getEditorReferences();
-			int index = -1;
-			for (int i = 0; i < refs.length; i++) {
-				if (fEditor.equals(refs[i].getEditor(false))) {
-					index = i;
-					break;
-				}
-			}
-			if (index >= 0) {	
-				memento.putString(IDebugUIConstants.PREF_REUSE_EDITOR, Integer.toString(index));
-			}
-		}
-	}
-
-	/**
-	 * Visitor for handling resource deltas. When a project is closed, we must clear
-	 * the cache of editor input/stack frame, etc., as the elements can become invalid.
-	 */
-	class LaunchViewVisitor implements IResourceDeltaVisitor {
-		/**
-		 * @see IResourceDeltaVisitor#visit(IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) {
-			if (delta == null) {
-				return false;
-			}
-			IResource resource = delta.getResource();
-			if (0 != (delta.getFlags() & IResourceDelta.OPEN)) {
-				if (resource instanceof IProject) {
-					IProject project = (IProject)resource;
-					if (!project.isOpen()) {
-						// clear
-					    cleanup();
-					}
-				}
-				return false;
-			}
-			return resource instanceof IWorkspaceRoot;
-		}		
-	}
-	
-	/**
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		IResourceDelta delta= event.getDelta();
-		if (delta != null) {
-			try {
-				delta.accept(getVisitor());
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}		
-	}
-
-
-	/**
-	 * Returns the resource delta visitor for this view,
-	 * creating if required.
-	 * 
-	 * @return resource delta visitor
-	 */
-	protected IResourceDeltaVisitor getVisitor() {
-		if (fVisitor == null) {
-			fVisitor = new LaunchViewVisitor();
-		}
-		return fVisitor;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContentProvider.java
deleted file mode 100644
index 306a2c0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContentProvider.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package org.eclipse.debug.internal.ui.views.launch;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Provides content for the launch view.
- */
-public class LaunchViewContentProvider implements ITreeContentProvider {
-
-	/**
-	 * @see ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parent) {
-		try {
-			if (parent instanceof IDebugTarget) {
-				return ((IDebugTarget)parent).getThreads();
-			}
-			if (parent instanceof IThread) {
-				return ((IThread)parent).getStackFrames();
-			}			
-		} catch (DebugException e) {
-			DebugUIPlugin.log(e);
-		}
-		if (parent instanceof ILaunch) {
-			return ((ILaunch)parent).getChildren();
-		}
-		if (parent instanceof ILaunchManager) {
-			return ((ILaunchManager) parent).getLaunches();
-		}
-		return new Object[0];
-	}
-
-	/**
-	 * @see ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object element) {
-		if (element instanceof IStackFrame) {
-			return ((IStackFrame)element).getThread();
-		}
-		if (element instanceof IThread) {
-			return ((IThread)element).getDebugTarget();
-		}
-		if (element instanceof IDebugTarget) {
-			return ((IDebugElement)element).getLaunch();
-		}
-		if (element instanceof IProcess) {
-			return ((IProcess)element).getLaunch();
-		}
-		if (element instanceof ILaunch) {
-			return DebugPlugin.getDefault().getLaunchManager();
-		}
-		return null;
-	}
-
-	/**
-	 * @see ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof IStackFrame) {
-			return false;
-		}
-		if (element instanceof IDebugTarget) {
-			try {
-				return ((IDebugTarget)element).hasThreads();
-			} catch (DebugException e) {
-				DebugUIPlugin.log(e);
-				return false;
-			}
-		} 
-		if (element instanceof IThread) {
-			try {
-				return ((IThread)element).hasStackFrames();
-			} catch (DebugException e) {
-				DebugUIPlugin.log(e);
-				return false;
-			}
-		}
-		if (element instanceof IProcess) {
-			return false;
-		}
-		if (element instanceof ILaunch) {
-			return ((ILaunch)element).hasChildren();
-		}
-		if (element instanceof ILaunchManager) {
-			return ((ILaunchManager) element).getLaunches().length > 0;
-		}
-		return false;
-	}
-
-	/**
-	 * @see IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		return getChildren(inputElement);
-	}
-
-	/**
-	 * Nothing to dispose.
-	 * 
-	 * @see IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java
deleted file mode 100644
index 9ea0918..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java
+++ /dev/null
@@ -1,520 +0,0 @@
-package org.eclipse.debug.internal.ui.views.launch;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-
-/**
- * Handles debug events, updating the launch view and viewer.
- */
-public class LaunchViewEventHandler extends AbstractDebugEventHandler implements ILaunchListener{
-		
-	/**
-	 * Stack frame counts keyed by thread.  Used to optimize thread refreshing.
-	 */
-	private HashMap fStackFrameCountByThread = new HashMap(5);
-	/**
-	 * The timer used to time step and evaluation events. The timer allows
-	 * the UI to not refresh during fast evaluations and steps.
-	 */
-	private ThreadTimer fThreadTimer= new ThreadTimer();
-	
-	/**
-	 * During a suspend event callback, some views may resume
-	 * the thread to perform an evaluation. This flag is set
-	 * when that state is detected so that the view can be
-	 * properly refreshed when the evaluation completes.
-	 */
-	private boolean fEvaluatingForSuspend= false;
-	
-	/**
-	 * Constructs an event handler for the given launch view.
-	 * 
-	 * @param view launch view
-	 */
-	public LaunchViewEventHandler(LaunchView view) {
-		super(view);
-		DebugPlugin plugin= DebugPlugin.getDefault();
-		plugin.getLaunchManager().addLaunchListener(this);
-	}
-	
-
-	/**
-	 * @see AbstractDebugEventHandler#doHandleDebugEvents(DebugEvent[])
-	 */
-	protected void doHandleDebugEvents(DebugEvent[] events) {
-		fThreadTimer.handleDebugEvents(events);
-		Object suspendee = null;
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			Object element= event.getSource();
-			if (element instanceof IVariable || element instanceof IValue || element instanceof IExpression) {
-				// the debug view does not show variables
-				return;
-			}
-			switch (event.getKind()) {
-				case DebugEvent.CREATE :
-					insert(element);
-					if (element instanceof IDebugTarget) {
-						ILaunch launch= ((IDebugTarget)element).getLaunch();
-						getLaunchView().autoExpand(launch, true, true);
-					}
-					break;
-				case DebugEvent.TERMINATE :
-					if (element instanceof IThread) {
-						clearSourceSelection((IThread)element);
-						fStackFrameCountByThread.remove(element);
-						fThreadTimer.getTimedOutThreads().remove(element);
-						remove(element);
-					} else {
-						clearSourceSelection(null);
-						Object parent = ((ITreeContentProvider)getTreeViewer().getContentProvider()).getParent(element);
-						refresh(parent);
-					}
-					break;
-				case DebugEvent.RESUME :
-					doHandleResumeEvent(event, element);
-					break;
-				case DebugEvent.SUSPEND :
-					if (suspendee == null || !suspendee.equals(element)) {
-						doHandleSuspendEvent(element, event);
-						suspendee = element;
-					}
-					break;
-				case DebugEvent.CHANGE :
-					if (element instanceof IStackFrame) {
-						IStackFrame lastFrame= getLaunchView().getStackFrame();
-						if (element.equals(lastFrame)) {
-							getLaunchView().setStackFrame(null);
-						}
-					}
-					refresh(element);
-					break;
-			}
-		}
-	}
-		
-	protected void doHandleResumeEvent(DebugEvent event, Object element) {
-		if (event.isEvaluation() || event.isStepStart()) {
-			// Do not update for step starts and evaluation
-			// starts immediately. Instead, start the timer.
-			IThread thread= getThread(element);
-			if (thread != null) {
-				fThreadTimer.startTimer(thread);
-			}
-			return;
-		}
-		if (element instanceof ISuspendResume && !event.isEvaluation()) {
-			if (((ISuspendResume)element).isSuspended()) {
-				IThread thread = getThread(element);
-				if (thread != null) {								
-					resetStackFrameCount(thread);
-				}
-				return;
-			}
-		}		
-		clearSourceSelection(null);
-		refresh(element);
-		if (element instanceof IThread) {
-			selectAndReveal(element);
-			resetStackFrameCount((IThread)element);
-			return;
-		}	
-		labelChanged(element);
-	}
-	
-	/**
-	 * Updates the stack frame icons for a running thread.
-	 * This is useful for the case where a thread is resumed
-	 * temporarily  but the view should keep the stack frame 
-	 * visible (for example, step start or evaluation start).
-	 */
-	protected void updateRunningThread(IThread thread) {
-		labelChanged(thread);
-		getLaunchViewer().updateStackFrameIcons(thread);
-		resetStackFrameCount(thread);
-	}
-	
-	protected void resetStackFrameCount(IThread thread) {
-		fStackFrameCountByThread.put(thread, new Integer(0));
-	}
-
-	protected void doHandleSuspendEvent(Object element, DebugEvent event) {
-		if (event.isEvaluation() || (event.getDetail() & DebugEvent.STEP_END) != 0) {
-			IThread thread= getThread(element);
-			if (thread != null) {
-				fThreadTimer.stopTimer((IThread)element);
-			}
-			
-			boolean wasTimedOut= fThreadTimer.getTimedOutThreads().remove(thread);
-			if (event.isEvaluation() && ((event.getDetail() & DebugEvent.EVALUATION_IMPLICIT) != 0) && !fEvaluatingForSuspend) {
-				if (thread != null && wasTimedOut) {
-					// Refresh the thread label when a timed out evaluation finishes.
-					// This is necessary because the timeout updates
-					// the label when it occurs
-					refresh(thread);
-				}
-				// Don't refresh fully for evaluation completion.
-				return;
-			}
-			fEvaluatingForSuspend= false;
-		}
-		if (element instanceof IThread) {
-			doHandleSuspendThreadEvent((IThread)element);
-			return;
-		}
-		refresh(element);
-	}
-	
-	/**
-	 * This method exists to provide some optimization for refreshing suspended
-	 * threads.  If the number of stack frames has changed from the last suspend, 
-	 * we do a full refresh on the thread.  Otherwise, we only do a surface-level
-	 * refresh on the thread, then refresh each of the children, which eliminates
-	 * flicker when do quick stepping (e.g., holding down the F6 key) within a method.
-	 */
-	protected void doHandleSuspendThreadEvent(IThread thread) {
-		// if the thread has already resumed, do nothing
-		if (!thread.isSuspended()) {
-			fEvaluatingForSuspend= true;
-			return;
-		}
-		
-		// Get the current stack frames from the thread
-		IStackFrame[] stackFrames = null;
-		try {
-			stackFrames = thread.getStackFrames();
-		} catch (DebugException de) {
-			DebugUIPlugin.log(de);
-			return;
-		}
-		
-		int currentStackFrameCount = stackFrames.length;
-		
-		// Retrieve the old and current counts of stack frames for this thread
-		int oldStackFrameCount = 0;
-		Integer oldStackFrameCountObject = (Integer)fStackFrameCountByThread.get(thread);
-		if (oldStackFrameCountObject != null) {
-			oldStackFrameCount = oldStackFrameCountObject.intValue();
-		}
-		
-		// Compare old & current stack frame counts.  We need to refresh the thread
-		// parent if there are fewer stack frame children
-		boolean refreshNeeded = true;
-		if (currentStackFrameCount == oldStackFrameCount) {
-			refreshNeeded = false;
-		}
-		
-		// Auto-expand the thread.  If we are also refreshing the thread,
-		// then we don't need to worry about any children, since refreshing
-		// the parent handles this
-		getLaunchView().autoExpand(thread, refreshNeeded, refreshNeeded);
-		if (refreshNeeded) {
-			// Update the stack frame count for the thread
-			oldStackFrameCountObject = new Integer(currentStackFrameCount);
-			fStackFrameCountByThread.put(thread, oldStackFrameCountObject);
-			return;
-		} else {
-			labelChanged(thread);
-		}
-		
-		// Auto-expand each stack frame child.  This has the effect of adding 
-		// any new stack frames, and updating any existing stack frames
-		if ((stackFrames != null) && (currentStackFrameCount > 0)) {
-			for (int i = currentStackFrameCount - 1; i > 0; i--) {
-				getLaunchView().autoExpand(stackFrames[i], true, false);				
-			}
-			// Treat the first stack frame differently, since we want to select it
-			getLaunchView().autoExpand(stackFrames[0], true, true);				
-		}
-	}
-	
-	/**
-	 * @see ILaunchListener#launchRemoved(ILaunch)
-	 */
-	public void launchRemoved(final ILaunch launch) {
-		Runnable r= new Runnable() {
-			public void run() {
-				if (isAvailable()) {
-					remove(launch);
-					ILaunchManager lm= DebugPlugin.getDefault().getLaunchManager();
-					IDebugTarget[] targets= lm.getDebugTargets();
-					if (targets.length > 0) {
-						IDebugTarget target= targets[targets.length - 1];
-						try {
-							IThread[] threads= target.getThreads();
-							for (int i=0; i < threads.length; i++) {
-								if (threads[i].isSuspended()) {
-									getLaunchView().autoExpand(threads[i], false, true);
-									return;
-								}
-							}						
-						} catch (DebugException de) {
-							DebugUIPlugin.log(de);
-						}
-						
-						getLaunchView().autoExpand(target.getLaunch(), false, true);
-					}
-				}
-			}
-		};
-
-		getView().asyncExec(r);
-	}
-	
-	/**
-	 * @see ILaunchListener#launchChanged(ILaunch)
-	 */
-	public void launchChanged(final ILaunch launch) {
-		Runnable r= new Runnable() {
-			public void run() {
-				if (isAvailable()) {		
-					refresh(launch);
-					if (launch.hasChildren()) {
-						getLaunchView().autoExpand(launch, false, true);
-					}
-				}
-			}
-		};
-
-		getView().syncExec(r);		
-	}
-
-	/**
-	 * @see ILaunchListener#launchAdded(ILaunch)
-	 */
-	public void launchAdded(final ILaunch launch) {
-		Runnable r= new Runnable() {
-			public void run() {
-				if (isAvailable()) {		
-					insert(launch);
-					if (launch.hasChildren()) {
-						getLaunchView().autoExpand(launch, false, true);
-					}					
-				}
-			}
-		};
-
-		getView().syncExec(r);
-	}
-	
-	/**
-	 * De-registers this event handler from the debug model.
-	 */
-	public void dispose() {
-		super.dispose();
-		fThreadTimer.stop();
-		DebugPlugin plugin= DebugPlugin.getDefault();
-		plugin.getLaunchManager().removeLaunchListener(this);
-	}
-
-	/**
-	 * Clear the selection in the editor - must be called in UI thread
-	 */
-	private void clearSourceSelection(IThread thread) {
-		if (getViewer() != null) {
-			if (thread != null) {
-				IStructuredSelection selection= (IStructuredSelection)getLaunchViewer().getSelection();
-				Object element= selection.getFirstElement();
-				if (element instanceof IStackFrame) {
-					IStackFrame stackFrame = (IStackFrame) element;
-					if (!stackFrame.getThread().equals(thread)) {
-						//do not clear the source selection
-						//a thread has terminated that is not the
-						//parent of the currently selected stack frame
-						return;
-					}
-				} else {
-					return;
-				}
-			}
-		
-			getLaunchView().clearSourceSelection();
-		}
-	}
-
-	/**
-	 * Returns this event handler's launch viewer
-	 * 
-	 * @return launch viewer
-	 */
-	protected LaunchViewer getLaunchViewer() {
-		return (LaunchViewer)getViewer();
-	}
-	
-	/**
-	 * Returns this event handler's launch view
-	 * 
-	 * @return launch view
-	 */
-	protected LaunchView getLaunchView() {
-		return (LaunchView)getView();
-	}		
-	
-	private IThread getThread(Object element) {
-		IThread thread = null;
-		if (element instanceof IThread) {
-			thread = (IThread) element;
-		} else if (element instanceof IStackFrame) {
-			thread = ((IStackFrame)element).getThread();
-		}
-		return thread;
-	}
-	
-	class ThreadTimer {
-		
-		private Thread fThread;
-		/**
-		 * The time allotted before a thread will be updated
-		 */
-		private long TIMEOUT= 500;
-		private boolean fStopped= false;
-		private Object fLock= new Object();
-		
-		/**
-		 * Maps threads that are currently performing being timed
-		 * to the allowed time by which they must finish. If this
-		 * limit expires before the timer is stopped, the thread will
-		 * be refreshed.
-		 */
-		HashMap fStopTimes= new HashMap();
-		/**
-		 * Collection of threads whose timers have expired.
-		 */
-		HashSet fTimedOutThreads= new HashSet();
-		
-		public Set getTimedOutThreads() {
-			return fTimedOutThreads;
-		}
-		
-		/**
-		 * Handle debug events dispatched from launch view event handler.
-		 * If there are no running targets, stop this timer.
-		 */
-		public void handleDebugEvents(DebugEvent[] events) {
-			if (fStopped) {
-				return;
-			}
-			DebugEvent event;
-			for (int i= 0, numEvents= events.length; i < numEvents; i++) {
-				event= events[i];
-				if (event.getKind() == DebugEvent.TERMINATE && event.getSource() instanceof IDebugTarget) {
-					ILaunch[] launches= DebugPlugin.getDefault().getLaunchManager().getLaunches();
-					// If there are no more active DebugTargets, stop the thread.
-					for (int j= 0; j < launches.length; j++) {
-						IDebugTarget[] targets= launches[j].getDebugTargets();
-						for (int k = 0; k < targets.length; k++) {
-							IDebugTarget target = targets[k];
-							if (target != null && !target.isDisconnected() && !target.isTerminated()) {
-								return;
-							}
-						}
-					}
-					// To get here, there must be no running DebugTargets
-					stop();
-					return;
-				}
-			}
-		}
-			
-		public void startTimer(IThread thread) {
-			synchronized (fLock) {
-				fStopTimes.put(thread, new Long(System.currentTimeMillis() + TIMEOUT));
-				if (fThread == null) {
-					startThread();
-				}
-			}
-		}
-		
-		public void stop() {
-			synchronized (fLock) {
-				fStopped= true;
-				fThread= null;
-				fStopTimes.clear();
-			}
-		}
-		
-		public void stopTimer(IThread thread) {
-			synchronized (fLock) {
-				fStopTimes.remove(thread);
-			}
-		}
-		
-		private void startThread() {
-			fThread= new Thread(new Runnable() {
-				public void run() {
-					fStopped= false;
-					while (!fStopped) {
-						checkTimers();
-					}
-					
-				}
-			}, "Thread timer"); //$NON-NLS-1$
-			fThread.start();
-		}
-		
-		private void checkTimers() {
-			long timeToWait= TIMEOUT;
-			Map.Entry[] entries;
-			synchronized (fLock) {
-				entries= (Map.Entry[])fStopTimes.entrySet().toArray(new Map.Entry[0]);
-			}
-			long stopTime, currentTime= System.currentTimeMillis();
-			Long entryValue;
-			Map.Entry entry= null;
-			for (int i= 0, numEntries= entries.length; i < numEntries; i++) {
-				entry= entries[i];
-				entryValue= (Long)entry.getValue();
-				if (entryValue == null) {
-					continue;
-				}
-				stopTime= ((Long)entryValue).longValue();
-				if (stopTime <= currentTime) {
-					// The timer has expired for this thread.
-					// Refresh the UI to show that the thread
-					// is performing a long evaluation
-					final IThread thread= (IThread)entry.getKey();
-					fStopTimes.remove(thread);	
-					getView().asyncExec(new Runnable() {
-						public void run() {
-							fTimedOutThreads.add(thread);
-							updateRunningThread(thread);
-						}
-					});
-				} else {
-					timeToWait= Math.min(timeToWait, stopTime - currentTime);
-				}
-			}
-			try {
-				Thread.sleep(timeToWait);
-			} catch (InterruptedException e) {
-			}
-		}
-	}
-	
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java
deleted file mode 100644
index 3923429..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.debug.internal.ui.views.launch;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * The launch viewer displays a tree of launches.
- */
-public class LaunchViewer extends TreeViewer {
-		
-	public LaunchViewer(Composite parent) {
-		super(new Tree(parent, SWT.MULTI));
-		setUseHashlookup(true);
-	}
-			
-	/**
-	 * Update the icons for all stack frame children of the given thread.
-	 */	
-	protected void updateStackFrameIcons(IThread parentThread) {
-		Widget parentItem= findItem(parentThread);
-		if (parentItem != null) {
-			Item[] items= getItems((Item)parentItem);
-			for (int i = 0; i < items.length; i++) {
-				TreeItem treeItem = (TreeItem)items[i];
-				updateOneStackFrameIcon(treeItem, (IStackFrame)treeItem.getData());
-			}
-		}
-	}
-	
-	/**
-	 * For the given stack frame and associated TreeItem, update the icon on the
-	 * TreeItem.
-	 */
-	protected void updateOneStackFrameIcon(TreeItem treeItem, IStackFrame stackFrame) {
-		ILabelProvider provider = (ILabelProvider) getLabelProvider();
-		Image image = provider.getImage(stackFrame);
-		if (image != null) {
-			treeItem.setImage(image);
-		}			
-	}
-	
-	/**
-	 * @see StructuredViewer#refresh(Object)
-	 */
-	public void refresh(Object element) {
-		//@see bug 7965 - Debug view refresh flicker
-		getControl().setRedraw(false);
-		super.refresh(element);
-		getControl().setRedraw(true);
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
deleted file mode 100644
index 2ab7829..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
+++ /dev/null
@@ -1,885 +0,0 @@
-package org.eclipse.debug.internal.ui.views.variables;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.LazyModelPresentation;
-import org.eclipse.debug.internal.ui.actions.ChangeVariableValueAction;
-import org.eclipse.debug.internal.ui.actions.ShowDetailPaneAction;
-import org.eclipse.debug.internal.ui.actions.ShowTypesAction;
-import org.eclipse.debug.internal.ui.actions.TextViewerAction;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandlerView;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.internal.ui.views.IDebugExceptionHandler;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IFindReplaceTarget;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.VerifyKeyListener;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.texteditor.FindReplaceAction;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * This view shows variables and their values for a particular stack frame
- */
-public class VariablesView extends AbstractDebugEventHandlerView implements ISelectionListener, 
-																	IPropertyChangeListener,
-																	IValueDetailListener,
-																	IDebugExceptionHandler {
-	/**
-	 * The selection provider for the variables view changes depending on whether
-	 * the variables viewer or detail pane source viewer have focus. This "super" 
-	 * provider ensures the correct selection is sent to all listeners.
-	 */
-	class VariablesViewSelectionProvider implements ISelectionProvider {
-		private ListenerList fListeners= new ListenerList();
-		private ISelectionProvider fUnderlyingSelectionProvider;
-		/**
-		 * @see ISelectionProvider#addSelectionChangedListener(ISelectionChangedListener)
-		 */
-		public void addSelectionChangedListener(ISelectionChangedListener listener) {
-			fListeners.add(listener);
-		}
-
-		/**
-		 * @see ISelectionProvider#getSelection()
-		 */
-		public ISelection getSelection() {
-			return getUnderlyingSelectionProvider().getSelection();
-		}
-
-		/**
-		 * @see ISelectionProvider#removeSelectionChangedListener(ISelectionChangedListener)
-		 */
-		public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-			fListeners.remove(listener);
-		}
-
-		/**
-		 * @see ISelectionProvider#setSelection(ISelection)
-		 */
-		public void setSelection(ISelection selection) {
-			getUnderlyingSelectionProvider().setSelection(selection);
-		}
-		
-		protected ISelectionProvider getUnderlyingSelectionProvider() {
-			return fUnderlyingSelectionProvider;
-		}
-
-		protected void setUnderlyingSelectionProvider(ISelectionProvider underlyingSelectionProvider) {
-			fUnderlyingSelectionProvider = underlyingSelectionProvider;
-		}
-		
-		protected void fireSelectionChanged(SelectionChangedEvent event) {
-			Object[] listeners= fListeners.getListeners();
-			for (int i = 0; i < listeners.length; i++) {
-				ISelectionChangedListener listener = (ISelectionChangedListener)listeners[i];
-				listener.selectionChanged(event);
-			}
-		}
-	}
-	
-	/**
-	 * The model presentation used as the label provider for the tree viewer,
-	 * and also as the detail information provider for the detail pane.
-	 */
-	private DelegatingModelPresentation fModelPresentation;
-	
-	/**
-	 * The UI construct that provides a sliding sash between the variables tree
-	 * and the detail pane.
-	 */
-	private SashForm fSashForm;
-	
-	/**
-	 * The detail pane viewer and its associated document.
-	 */
-	private ISourceViewer fDetailViewer;
-	private IDocument fDetailDocument;
-	
-	/**
-	 * The identifier of the debug model that is/was being displayed
-	 * in this view. When the type of model being displayed changes,
-	 * the details area needs to be reconfigured.
-	 */
-	private String fDebugModelIdentifier;
-	
-	/**
-	 * The configuration being used in the details area
-	 */
-	private SourceViewerConfiguration fSourceViewerConfiguration;
-	
-	/**
-	 * Value currently computing details for
-	 * (workaround for bug 12938)
-	 */
-	private IValue fValueBeingComputed = null;
-	
-	/**
-	 * Various listeners used to update the enabled state of actions and also to
-	 * populate the detail pane.
-	 */
-	private ISelectionChangedListener fTreeSelectionChangedListener;
-	private ISelectionChangedListener fDetailSelectionChangedListener;
-	private IDocumentListener fDetailDocumentListener;
-	
-	/**
-	 * Selection provider for this view.
-	 */
-	private VariablesViewSelectionProvider fSelectionProvider= new VariablesViewSelectionProvider();
-	
-	/**
-	 * Collections for tracking actions.
-	 */
-	private List fSelectionActions = new ArrayList(3);
-	
-	/**
-	 * These are used to initialize and persist the position of the sash that
-	 * separates the tree viewer from the detail pane.
-	 */
-	private static final int[] DEFAULT_SASH_WEIGHTS = {6, 2};
-	private int[] fLastSashWeights;
-	private boolean fToggledDetailOnce;
-
-	protected static final String DETAIL_SELECT_ALL_ACTION = SELECT_ALL_ACTION + ".Detail"; //$NON-NLS-1$
-	protected static final String VARIABLES_SELECT_ALL_ACTION=  SELECT_ALL_ACTION + ".Variables"; //$NON-NLS-1$
-	
-	protected static final String DETAIL_COPY_ACTION = ITextEditorActionConstants.COPY + ".Detail"; //$NON-NLS-1$
-	protected static final String VARIABLES_COPY_ACTION=  ITextEditorActionConstants.COPY + ".Variables"; //$NON-NLS-1$
-
-	
-	/**
-	 * Remove myself as a selection listener
-	 * and preference change listener.
-	 *
-	 * @see IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		Viewer viewer = getViewer();
-		if (viewer != null) {
-			getDetailDocument().removeDocumentListener(getDetailDocumentListener());
-		}
-		super.dispose();
-	}
-
-	protected void setViewerInput(IStructuredSelection ssel) {
-		IStackFrame frame= null;
-		if (ssel.size() == 1) {
-			Object input= ssel.getFirstElement();
-			if (input instanceof IStackFrame) {
-				frame= (IStackFrame)input;
-			}
-		}
-
-		getDetailViewer().setEditable(frame != null);
-		
-		Object current= getViewer().getInput();
-		if (current == null && frame == null) {
-			return;
-		}
-
-		if (current != null && current.equals(frame)) {
-			return;
-		}
-		if (frame != null) {
-			setDebugModel(frame.getModelIdentifier());
-		}
-		showViewer();
-		getViewer().setInput(frame);
-	}
-	
-	/**
-	 * Configures the details viewer for the debug model
-	 * currently being displayed
-	 */
-	protected void configureDetailsViewer() {
-		LazyModelPresentation mp = (LazyModelPresentation)fModelPresentation.getPresentation(getDebugModel());
-		SourceViewerConfiguration svc = null;
-		if (mp != null) {
-			try {
-				svc = mp.newDetailsViewerConfiguration();
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(getSite().getShell(), DebugUIViewsMessages.getString("VariablesView.Error_1"), DebugUIViewsMessages.getString("VariablesView.Unable_to_configure_variable_details_area._2"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		if (svc == null) {
-			svc = new SourceViewerConfiguration();
-			getDetailViewer().setEditable(false);
-		}
-		getDetailViewer().configure(svc);
-		//update actions that depend on the configuration of the details viewer
-		updateAction("ContentAssist"); //$NON-NLS-1$
-		setDetailViewerConfiguration(svc);
-	}
-	
-	/**
-	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		String propertyName= event.getProperty();
-		if (propertyName.equals(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_ORIENTATION)) {
-			setDetailPaneOrientation(DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_ORIENTATION));
-		} else if (propertyName.equals(IDebugPreferenceConstants.CHANGED_VARIABLE_RGB)) {
-			getEventHandler().refresh();
-		}
-	}
-	
-	/**
-	 * @see AbstractDebugView#createViewer(Composite)
-	 */
-	public Viewer createViewer(Composite parent) {
-		
-		fModelPresentation = new DelegatingModelPresentation();
-		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		// create the sash form that will contain the tree viewer & text viewer
-		fSashForm = new SashForm(parent, SWT.NONE);
-		IPreferenceStore prefStore = DebugUIPlugin.getDefault().getPreferenceStore();
-		String orientString = prefStore.getString(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_ORIENTATION);
-		setDetailPaneOrientation(orientString);
-		
-		// add tree viewer
-		final TreeViewer vv = new VariablesViewer(getSashForm(), SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-		vv.setContentProvider(createContentProvider());
-		vv.setLabelProvider(getModelPresentation());
-		vv.setUseHashlookup(true);
-		vv.getControl().addFocusListener(new FocusAdapter() {
-			/**
-			 * @see FocusListener#focusGained(FocusEvent)
-			 */
-			public void focusGained(FocusEvent e) {
-				getVariablesViewSelectionProvider().setUnderlyingSelectionProvider(vv);
-				setAction(SELECT_ALL_ACTION, getAction(VARIABLES_SELECT_ALL_ACTION));
-				setAction(COPY_ACTION, getAction(VARIABLES_COPY_ACTION));
-				getViewSite().getActionBars().updateActionBars();
-			}
-		});
-		vv.addSelectionChangedListener(getTreeSelectionChangedListener());
-		getVariablesViewSelectionProvider().setUnderlyingSelectionProvider(vv);
-		getSite().setSelectionProvider(getVariablesViewSelectionProvider());
-		
-		// add text viewer
-		SourceViewer dv= new SourceViewer(getSashForm(), null, SWT.V_SCROLL | SWT.H_SCROLL);
-		setDetailViewer(dv);
-		dv.setDocument(getDetailDocument());
-		getDetailDocument().addDocumentListener(getDetailDocumentListener());
-		dv.setEditable(false);
-		getSashForm().setMaximizedControl(vv.getControl());
-		
-		dv.getSelectionProvider().addSelectionChangedListener(getDetailSelectionChangedListener());
-
-		dv.getControl().addFocusListener(new FocusAdapter() {
-			/**
-			 * @see FocusListener#focusGained(FocusEvent)
-			 */
-			public void focusGained(FocusEvent e) {
-				getVariablesViewSelectionProvider().setUnderlyingSelectionProvider(getDetailViewer().getSelectionProvider());
-				setAction(SELECT_ALL_ACTION, getAction(DETAIL_SELECT_ALL_ACTION));
-				setAction(COPY_ACTION, getAction(DETAIL_COPY_ACTION));
-				getViewSite().getActionBars().updateActionBars();
-			}
-		});
-		// add a context menu to the detail area
-		createDetailContextMenu(dv.getTextWidget());
-		
-		// listen to selection in debug view
-		getSite().getPage().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		setEventHandler(createEventHandler(vv));
-		
-		return vv;
-	}
-		
-	protected void addVerifyKeyListener() {
-		getDetailViewer().getTextWidget().addVerifyKeyListener(new VerifyKeyListener() {
-			public void verifyKey(VerifyEvent event) {
-				//do code assist for CTRL-SPACE
-				if (event.stateMask == SWT.CTRL && event.keyCode == 0) {
-					if (event.character == 0x20) {
-						IAction action= getAction("ContentAssist"); //$NON-NLS-1$
-						if(action != null && action.isEnabled()) {
-							action.run();
-							event.doit= false;
-						}
-					}
-				}
-			}
-		});
-	}
-	
-	/**
-	 * Creates this view's content provider.
-	 * 
-	 * @return a content provider
-	 */
-	protected IContentProvider createContentProvider() {
-		VariablesViewContentProvider cp = new VariablesViewContentProvider();
-		cp.setExceptionHandler(this);
-		return cp;
-	}
-	
-	/**
-	 * Creates this view's event handler.
-	 * 
-	 * @param viewer the viewer associated with this view
-	 * @return an event handler
-	 */
-	protected AbstractDebugEventHandler createEventHandler(Viewer viewer) {
-		return new VariablesViewEventHandler(this);
-	}	
-	
-	
-	/**
-	 * @see AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.VARIABLE_VIEW;		
-	}
-	
-	/**
-	 * Set the orientation of the sash form to display its controls according to the value
-	 * of <code>value</code>.  'VARIABLES_DETAIL_PANE_UNDERNEATH' means that the detail 
-	 * pane appears underneath the tree viewer, 'VARIABLES_DETAIL_PANE_RIGHT' means the
-	 * detail pane appears to the right of the tree viewer.
-	 */
-	protected void setDetailPaneOrientation(String value) {
-		int orientation = value.equals(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH) ? SWT.VERTICAL : SWT.HORIZONTAL;
-		getSashForm().setOrientation(orientation);				
-	}
-	
-	/**
-	 * Show or hide the detail pane, based on the value of <code>on</code>.
-	 * If showing, reset the sash form to use the relative weights that were
-	 * in effect the last time the detail pane was visible, and populate it with
-	 * details for the current selection.  If hiding, save the current relative 
-	 * weights, unless the detail pane hasn't yet been shown.
-	 */
-	public void toggleDetailPane(boolean on) {
-		if (on) {
-			getSashForm().setMaximizedControl(null);
-			getSashForm().setWeights(getLastSashWeights());
-			populateDetailPane();
-			fToggledDetailOnce = true;
-		} else {
-			if (fToggledDetailOnce) {
-				setLastSashWeights(getSashForm().getWeights());
-			}
-			getSashForm().setMaximizedControl(getViewer().getControl());
-		}
-	}
-	
-	/**
-	 * Ask the variables tree for its current selection, and use this to populate
-	 * the detail pane.
-	 */
-	protected void populateDetailPane() {
-		if (isDetailPaneVisible()) {
-			IStructuredSelection selection = (IStructuredSelection) getViewer().getSelection();
-			populateDetailPaneFromSelection(selection);		
-		}
-	}
-	
-	/**
-	 * Return the relative weights that were in effect the last time both panes were
-	 * visible in the sash form, or the default weights if both panes have not yet been
-	 * made visible.
-	 */
-	protected int[] getLastSashWeights() {
-		if (fLastSashWeights == null) {
-			fLastSashWeights = DEFAULT_SASH_WEIGHTS;
-		}
-		return fLastSashWeights;
-	}
-	
-	/**
-	 * Set the current relative weights of the controls in the sash form, so that
-	 * the sash form can be reset to this layout at a later time.
-	 */
-	protected void setLastSashWeights(int[] weights) {
-		fLastSashWeights = weights;
-	}
-
-	/**
-	 * Initializes the viewer input on creation
-	 */
-	protected void setInitialContent() {
-		ISelection selection= getSite().getPage().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-		if (selection instanceof IStructuredSelection && !selection.isEmpty()) {
-			setViewerInput((IStructuredSelection) selection);
-		}
-	}
-
-	/**
-	 * Create the context menu particular to the detail pane.  Note that anyone
-	 * wishing to contribute an action to this menu must use
-	 * <code>IDebugUIConstants.VARIABLE_VIEW_DETAIL_ID</code> as the
-	 * <code>targetID</code> in the extension XML.
-	 */
-	protected void createDetailContextMenu(Control menuControl) {
-		MenuManager menuMgr= new MenuManager(); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager mgr) {
-				fillDetailContextMenu(mgr);
-			}
-		});
-		Menu menu= menuMgr.createContextMenu(menuControl);
-		menuControl.setMenu(menu);
-
-		// register the context menu such that other plugins may contribute to it
-		getSite().registerContextMenu(IDebugUIConstants.VARIABLE_VIEW_DETAIL_ID, menuMgr, getDetailViewer().getSelectionProvider());		
-	}
-	
-	/**
-	 * @see AbstractDebugView#createActions()
-	 */
-	protected void createActions() {
-		IAction action = new ShowTypesAction(getStructuredViewer());
-		action.setChecked(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_SHOW_TYPE_NAMES));
-		setAction("ShowTypeNames",action); //$NON-NLS-1$
-				
-		action = new ChangeVariableValueAction(getViewer());
-		action.setEnabled(false);
-		setAction("ChangeVariableValue", action); //$NON-NLS-1$
-		setAction(DOUBLE_CLICK_ACTION, action);
-		
-		action = new ShowDetailPaneAction(this);
-		action.setChecked(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_SHOW_DETAIL_PANE));
-		setAction("ShowDetailPane", action); //$NON-NLS-1$
-	
-		//detail specific actions
-		
-		TextViewerAction textAction= new TextViewerAction(getDetailViewer(), getDetailViewer().CONTENTASSIST_PROPOSALS);
-		textAction.configureAction(DebugUIViewsMessages.getString("VariablesView.Co&ntent_Assist_3"), "",""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		textAction.setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_ELCL_CONTENT_ASSIST));
-		textAction.setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_CONTENT_ASSIST));
-		textAction.setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_DLCL_CONTENT_ASSIST));
-		setAction("ContentAssist", textAction); //$NON-NLS-1$
-		
-		// XXX: hook the "Java" content assist action - this is a hack to get content
-		// assist to work with the retargetable content assist action in the java UI
-		getViewSite().getActionBars().setGlobalActionHandler("org.eclipse.jdt.ui.actions.ContentAssist", textAction); //$NON-NLS-1$
-		// Also hook CTRL-Space in case the java UI is not loaded/available
-		addVerifyKeyListener();
-		
-		textAction= new TextViewerAction(getDetailViewer(), getDetailViewer().getTextOperationTarget().SELECT_ALL);
-		textAction.configureAction(DebugUIViewsMessages.getString("VariablesView.Select_&All_5"), "", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		setAction(DETAIL_SELECT_ALL_ACTION, textAction);
-		
-		textAction= new TextViewerAction(getDetailViewer(), getDetailViewer().getTextOperationTarget().COPY);
-		textAction.configureAction(DebugUIViewsMessages.getString("VariablesView.&Copy_8"), "", "");  //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		setAction(DETAIL_COPY_ACTION, textAction);
-		
-		textAction= new TextViewerAction(getDetailViewer(), getDetailViewer().getTextOperationTarget().CUT);
-		textAction.configureAction(DebugUIViewsMessages.getString("VariablesView.Cu&t_11"), "", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		setAction(ITextEditorActionConstants.CUT, textAction);
-		
-		textAction= new TextViewerAction(getDetailViewer(), getDetailViewer().getTextOperationTarget().PASTE);
-		textAction.configureAction(DebugUIViewsMessages.getString("VariablesView.&Paste_14"), "", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		setAction(ITextEditorActionConstants.PASTE, textAction);
-		
-		//XXX Still using "old" resource access
-		ResourceBundle bundle= ResourceBundle.getBundle("org.eclipse.debug.internal.ui.views.DebugUIViewsMessages"); //$NON-NLS-1$
-		setAction(ITextEditorActionConstants.FIND, new FindReplaceAction(bundle, "find_replace_action.", this));	 //$NON-NLS-1$
-		
-		fSelectionActions.add(ITextEditorActionConstants.COPY);
-		fSelectionActions.add(ITextEditorActionConstants.CUT);
-		fSelectionActions.add(ITextEditorActionConstants.PASTE);
-		updateAction(ITextEditorActionConstants.FIND);
-		
-		// set initial content here, as viewer has to be set
-		setInitialContent();
-	} 
-	
-	/**
-	 * Configures the toolBar.
-	 * 
-	 * @param tbm The toolbar that will be configured
-	 */
-	protected void configureToolBar(IToolBarManager tbm) {
-		tbm.add(new Separator(this.getClass().getName()));
-		tbm.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-		tbm.add(getAction("ShowTypeNames")); //$NON-NLS-1$
-		tbm.add(new Separator("TOGGLE_VIEW")); //$NON-NLS-1$
-		tbm.add(getAction("ShowDetailPane")); //$NON-NLS-1$
-	}
-
-   /**
-	* Adds items to the tree viewer's context menu including any extension defined
-	* actions.
-	* 
-	* @param menu The menu to add the item to.
-	*/
-	protected void fillContextMenu(IMenuManager menu) {
-
-		menu.add(new Separator(IDebugUIConstants.EMPTY_VARIABLE_GROUP));
-		menu.add(new Separator(IDebugUIConstants.VARIABLE_GROUP));
-		menu.add(getAction("ChangeVariableValue")); //$NON-NLS-1$
-		menu.add(new Separator(IDebugUIConstants.EMPTY_RENDER_GROUP));
-		menu.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-		menu.add(getAction("ShowTypeNames")); //$NON-NLS-1$
-		menu.add(new Separator("TOGGLE_VIEW")); //$NON-NLS-1$
-		menu.add(getAction("ShowDetailPane")); //$NON-NLS-1$
-		
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-   /**
-	* Adds items to the detail area's context menu including any extension defined
-	* actions.
-	* 
-	* @param menu The menu to add the item to.
-	*/
-	protected void fillDetailContextMenu(IMenuManager menu) {
-		
-		menu.add(new Separator(IDebugUIConstants.VARIABLE_GROUP));		
-		menu.add(getAction("ContentAssist")); //$NON-NLS-1$
-		menu.add(new Separator());
-		menu.add(getAction(ITextEditorActionConstants.CUT));
-		menu.add(getAction(ITextEditorActionConstants.COPY + ".Detail")); //$NON-NLS-1$
-		menu.add(getAction(ITextEditorActionConstants.PASTE));
-		menu.add(getAction(DETAIL_SELECT_ALL_ACTION));
-		menu.add(new Separator("FIND")); //$NON-NLS-1$
-		menu.add(getAction(ITextEditorActionConstants.FIND));
-		menu.add(new Separator("TOGGLE_VIEW")); //$NON-NLS-1$
-		menu.add(getAction("ShowDetailPane")); //$NON-NLS-1$
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-	/**
-	 * Lazily instantiate and return a selection listener that populates the detail pane,
-	 * but only if the detail is currently visible. 
-	 */
-	protected ISelectionChangedListener getTreeSelectionChangedListener() {
-		if (fTreeSelectionChangedListener == null) {
-			fTreeSelectionChangedListener = new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					if (event.getSelectionProvider().equals(getVariablesViewSelectionProvider().getUnderlyingSelectionProvider())) {
-						getVariablesViewSelectionProvider().fireSelectionChanged(event);				
-						// if the detail pane is not visible, don't waste time retrieving details
-						if (getSashForm().getMaximizedControl() == getViewer().getControl()) {
-							return;
-						}	
-						IStructuredSelection selection = (IStructuredSelection)event.getSelection();
-						populateDetailPaneFromSelection(selection);
-					}
-				}					
-			};
-		}
-		return fTreeSelectionChangedListener;
-	}
-	
-	/**
-	 * Show the details associated with the first of the selected variables in the 
-	 * detail pane.
-	 */
-	protected void populateDetailPaneFromSelection(IStructuredSelection selection) {
-		try {
-			if (!selection.isEmpty() && selection.size() == 1) {
-				IValue val = null;
-				Object obj = selection.getFirstElement();
-				if (obj instanceof IVariable) {
-					val = ((IVariable)obj).getValue();
-				} else if (obj instanceof IExpression) {
-					val = ((IExpression)obj).getValue();
-				}
-				
-				// workaroud for bug 12938
-				if (fValueBeingComputed != null && fValueBeingComputed.equals(val)) {
-					return;
-				}
-				
-				setDebugModel(val.getModelIdentifier());
-				fValueBeingComputed = val;
-				getModelPresentation().computeDetail(val, this);
-			} else {
-				getDetailDocument().set(""); //$NON-NLS-1$
-			}
-		} catch (DebugException de) {
-			DebugUIPlugin.log(de);
-			getDetailDocument().set(DebugUIViewsMessages.getString("VariablesView.<error_occurred_retrieving_value>_18")); //$NON-NLS-1$
-		}				
-	}
-	
-	/**
-	 * @see IValueDetailListener#detailComputed(IValue, String)
-	 */
-	public void detailComputed(IValue value, final String result) {
-		Runnable runnable = new Runnable() {
-			public void run() {
-				if (isAvailable()) {
-					getDetailDocument().set(result);
-					// workaround for bug 12938
-					fValueBeingComputed = null;
-				}
-			}
-		};
-		asyncExec(runnable);		
-	}
-	
-	/**
-	 * Lazily instantiate and return a selection listener that updates the enabled
-	 * state of the selection oriented actions in this view.
-	 */
-	protected ISelectionChangedListener getDetailSelectionChangedListener() {
-		if (fDetailSelectionChangedListener == null) {
-			fDetailSelectionChangedListener = new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					if (event.getSelectionProvider().equals(getVariablesViewSelectionProvider().getUnderlyingSelectionProvider())) {
-						getVariablesViewSelectionProvider().fireSelectionChanged(event);
-						updateSelectionDependentActions();				
-					}
-				}
-			};
-		}
-		return fDetailSelectionChangedListener;
-	}
-	
-	/**
-	 * Lazily instantiate and return a document listener that updates the enabled state
-	 * of the 'Find/Replace' action.
-	 */
-	protected IDocumentListener getDetailDocumentListener() {
-		if (fDetailDocumentListener == null) {
-			fDetailDocumentListener = new IDocumentListener() {
-				public void documentAboutToBeChanged(DocumentEvent event) {
-				}
-				public void documentChanged(DocumentEvent event) {
-					updateAction(ITextEditorActionConstants.FIND);
-				}
-			};
-		}
-		return fDetailDocumentListener;
-	}
-	
-	/**
-	 * Lazily instantiate and return a Document for the detail pane text viewer.
-	 */
-	protected IDocument getDetailDocument() {
-		if (fDetailDocument == null) {
-			fDetailDocument = new Document();
-		}
-		return fDetailDocument;
-	}
-	
-	protected IDebugModelPresentation getModelPresentation() {
-		if (fModelPresentation == null) {
-			fModelPresentation = new DelegatingModelPresentation();
-		}
-		return fModelPresentation;
-	}
-	
-	/**
-	 * Sets the viewer used to display value details.
-	 * 
-	 * @param viewer source viewer
-	 */
-	private void setDetailViewer(ISourceViewer viewer) {
-		fDetailViewer = viewer;
-	}
-	
-	/**
-	 * Returns the viewer used to display value details
-	 * 
-	 * @return source viewer
-	 */
-	protected ISourceViewer getDetailViewer() {
-		return fDetailViewer;
-	}
-	
-	protected SashForm getSashForm() {
-		return fSashForm;
-	}
-	
-	/**
-	 * @see WorkbenchPart#getAdapter(Class)
-	 */
-	public Object getAdapter(Class required) {
-		if (IFindReplaceTarget.class.equals(required)) {
-			return getDetailViewer().getFindReplaceTarget();
-		}
-		if (ITextViewer.class.equals(required)) {
-			return getDetailViewer();
-		}
-		return super.getAdapter(required);
-	}
-
-	protected void updateSelectionDependentActions() {
-		Iterator iterator= fSelectionActions.iterator();
-		while (iterator.hasNext()) {
-			updateAction((String)iterator.next());		
-		}
-	}
-
-	protected void updateAction(String actionId) {
-		IAction action= getAction(actionId);
-		if (action instanceof IUpdate) {
-			((IUpdate) action).update();
-		}
-	}
-	
-	protected boolean isDetailPaneVisible() {
-		IAction action = getAction("ShowDetailPane"); //$NON-NLS-1$
-		return action != null && action.isChecked();
-	}
-	
-	/**
-	 * Sets the identifier of the debug model being displayed
-	 * in this view, or <code>null</code> if none.
-	 * 
-	 * @param id debug model identifier of the type of debug
-	 *  elements being displayed in this view
-	 */
-	protected void setDebugModel(String id) {
-		if (id != fDebugModelIdentifier) {
-			fDebugModelIdentifier = id;
-			configureDetailsViewer();	
-		} else {
-			updateAction("ContentAssist"); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Returns the identifier of the debug model being displayed
-	 * in this view, or <code>null</code> if none.
-	 * 
-	 * @return debug model identifier
-	 */
-	protected String getDebugModel() {
-		return fDebugModelIdentifier;
-	}	
-	
-	
-	/**
-	 * Sets the current configuration being used in the
-	 * details area.
-	 * 
-	 * @param config source viewer configuration
-	 */
-	private void setDetailViewerConfiguration(SourceViewerConfiguration config) {
-		fSourceViewerConfiguration = config;
-	}
-	
-	/**
-	 * Returns the current configuration being used in the
-	 * details area.
-	 * 
-	 * @return source viewer configuration
-	 */	
-	protected SourceViewerConfiguration getDetailViewerConfiguration() {
-		return fSourceViewerConfiguration;
-	}
-	
-	/**
-	 * @see AbstractDebugView#getDefaultControl()
-	 */
-	protected Control getDefaultControl() {
-		return getSashForm();
-	}	
-	
-	/**
-	 * @see IDebugExceptionHandler#handleException(DebugException)
-	 */
-	public void handleException(DebugException e) {
-		showMessage(e.getMessage());
-	}
-	
-	protected VariablesViewSelectionProvider getVariablesViewSelectionProvider() {
-		return fSelectionProvider;
-	}
-	/** 
-	 * The <code>VariablesView</code> listens for selection changes in the <code>LaunchView</code>
-	 *
-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			setViewerInput((IStructuredSelection) selection);
-		} else {
-			getDetailViewer().setEditable(false);
-		}
-		updateAction("ContentAssist"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Delegate to the <code>DOUBLE_CLICK_ACTION</code>,
-	 * if any.
-	 *  
-	 * @see IDoubleClickListener#doubleClick(DoubleClickEvent)
-	 */
-	public void doubleClick(DoubleClickEvent event) {
-		IAction action = getAction(DOUBLE_CLICK_ACTION);
-		if (action != null && action.isEnabled()) {
-			action.run();
-		} else {
-			ISelection selection= event.getSelection();
-			if (!(selection instanceof IStructuredSelection)) {
-				return;
-			}
-			IStructuredSelection ss= (IStructuredSelection)selection;
-			Object o= ss.getFirstElement();
-			
-			TreeViewer tViewer= (TreeViewer)getViewer();
-			boolean expanded= tViewer.getExpandedState(o);
-			tViewer.setExpandedState(o, !expanded);
-		}
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewContentProvider.java
deleted file mode 100644
index 630b021..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewContentProvider.java
+++ /dev/null
@@ -1,214 +0,0 @@
-package org.eclipse.debug.internal.ui.views.variables;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.IDebugExceptionHandler;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Provide the contents for a variables viewer.
- */
-public class VariablesViewContentProvider implements ITreeContentProvider {
-	
-	/**
-	 * A table that maps children to their parent element
-	 * such that this content provider can walk back up the
-	 * parent chain (since values do not know their
-	 * parent).
-	 * Map of <code>IVariable</code> (child) -> <code>IVariable</code> (parent).
-	 */
-	private HashMap fParentCache;
-	
-	/**
-	 * Handler for exceptions as content is retrieved
-	 */
-	private IDebugExceptionHandler fExceptionHandler = null;
-	
-	
-	/**
-	 * Constructs a new provider
-	 */
-	public VariablesViewContentProvider() {
-		fParentCache = new HashMap(10);
-	}
-
-	/**
-	 * @see ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parent) {
-		Object[] children= null;
-		try {
-			if (parent instanceof IStackFrame) {
-				children = ((IStackFrame)parent).getVariables();
-			} else if (parent instanceof IVariable) {
-				children = ((IVariable)parent).getValue().getVariables();
-			}
-			if (children != null) {
-				cache(parent, children);
-				return children;
-			}
-		} catch (DebugException e) {
-			if (getExceptionHandler() != null) {
-				getExceptionHandler().handleException(e);
-			} else {
-				DebugUIPlugin.log(e);
-			}
-		}
-		return new Object[0];
-	}
-
-	/**
-	 * Returns the <code>IVariable</code>s for the given <code>IDebugElement</code>.
-	 */
-	public Object[] getElements(Object parent) {
-		return getChildren(parent);
-	}
-
-	/**
-	 * Caches the given elememts as children of the given
-	 * parent.
-	 * 
-	 * @param parent parent element
-	 * @param children children elements
-	 */
-	protected void cache(Object parent, Object[] children) {		
-		for (int i = 0; i < children.length; i++) {
-			fParentCache.put(children[i], parent);
-		}		
-	}
-	
-	/**
-	 * @see ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object item) {
-		return fParentCache.get(item);
-	}
-
-
-	/**
-	 * Unregisters this content provider from the debug plugin so that
-	 * this object can be garbage-collected.
-	 */
-	public void dispose() {
-		fParentCache= null;
-		setExceptionHandler(null);
-	}
-	
-	protected void clearCache() {
-		if (fParentCache != null) {
-			fParentCache.clear();
-		}
-	}
-	
-	/**
-	 * Remove the cached parent for the given children
-	 * 
-	 * @param children for which to remove cached parents
-	 */
-	public void removeCache(Object[] children) {
-		if (fParentCache == null) {
-			return;
-		}
-		for (int i = 0; i < children.length; i++) {
-			fParentCache.remove(children[i]);	
-		}
-	}
-	
-	/**
-	 * @see ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		try {
-			if (element instanceof IVariable) {
-				return ((IVariable)element).getValue().hasVariables();
-			}
-			if (element instanceof IValue) {
-				return ((IValue)element).hasVariables();
-			}
-			if (element instanceof IStackFrame) {
-				return ((IStackFrame)element).hasVariables();
-			}
-		} catch (DebugException e) {
-			DebugUIPlugin.log(e);
-			return false;
-		}
-		return false;
-	}
-
-	/**
-	 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		clearCache();
-	}
-	
-	/**
-	 * Return all cached decendants of the given parent.
-	 * 
-	 * @param parent the element whose decendants are to be calculated
-	 * @return list of decendants that have been cached for
-	 *  the given parent
-	 */
-	public List getCachedDecendants(Object parent) {
-		Iterator children = fParentCache.keySet().iterator();
-		List cachedChildren = new ArrayList(10);
-		while (children.hasNext()) {
-			Object child = children.next();
-			if (isCachedDecendant(child, parent)) {
-				cachedChildren.add(child);
-			}
-		}
-		return cachedChildren;
-	}
-	
-	/**
-	 * Returns whether the given child is a cached descendant
-	 * of the given parent.
-	 * 
-	 * @return whether the given child is a cached descendant
-	 * of the given parent
-	 */
-	protected boolean isCachedDecendant(Object child, Object parent) {
-		Object p = getParent(child);
-		while (p != null) {
-			if (p.equals(parent)) {
-				return true;
-			}
-			p = getParent(p);
-		}
-		return false;
-	}
-	
-	/**
-	 * Sets an exception handler for this content provider.
-	 * 
-	 * @param handler debug exception handler or <code>null</code>
-	 */
-	protected void setExceptionHandler(IDebugExceptionHandler handler) {
-		fExceptionHandler = handler;
-	}
-	
-	/**
-	 * Returns the exception handler for this content provider.
-	 * 
-	 * @return debug exception handler or <code>null</code>
-	 */
-	protected IDebugExceptionHandler getExceptionHandler() {
-		return fExceptionHandler;
-	}	
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewEventHandler.java
deleted file mode 100644
index cfa8ffe..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewEventHandler.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.debug.internal.ui.views.variables;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler;
-import org.eclipse.debug.ui.AbstractDebugView;
-
-/**
- * Updates the variables view
- */
-public class VariablesViewEventHandler extends AbstractDebugEventHandler {
-	
-	/**
-	 * Constructs a new event handler on the given view
-	 * 
-	 * @param view variables view
-	 */
-	public VariablesViewEventHandler(AbstractDebugView view) {
-		super(view);
-	}
-	
-	/**
-	 * @see AbstractDebugEventHandler#handleDebugEvents(DebugEvent[])
-	 */
-	protected void doHandleDebugEvents(DebugEvent[] events) {	
-		for (int i = 0; i < events.length; i++) {	
-			DebugEvent event = events[i];
-			switch (event.getKind()) {
-				case DebugEvent.SUSPEND:
-					if (event.getDetail() != DebugEvent.EVALUATION_IMPLICIT) {
-						// Don't refresh everytime an implicit evaluation finishes
-						refresh();
-						if (event.getDetail() == DebugEvent.STEP_END) {
-							getVariablesView().populateDetailPane();
-						}
-						// return since we've done a complete refresh
-						return;
-					}
-					break;
-				case DebugEvent.CHANGE:
-					if (event.getDetail() == DebugEvent.STATE) {
-						// only process variable state changes
-						if (event.getSource() instanceof IVariable) {
-							refresh(event.getSource());
-						}
-					} else {
-						refresh();
-						// return since we've done a complete refresh
-						return;
-					}
-					break;
-				case DebugEvent.RESUME:
-					doHandleResumeEvent(event);
-			}
-		}
-	}
-
-	/**
-	 * Clear the variables immediately upon resume.
-	 */
-	protected void doHandleResumeEvent(DebugEvent event) {
-		if (!event.isStepStart() && !event.isEvaluation()) {
-			// Clear existing variables from the view
-			getViewer().setInput(null);
-		}
-	}
-
-
-
-
-	protected VariablesView getVariablesView() {
-		return (VariablesView)getView();
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java
deleted file mode 100644
index 2627d52..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.eclipse.debug.internal.ui.views.variables;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Variables viewer. As the user steps through code, this
- * viewer renders variables that have changed with a 
- * different foreground color thereby drawing attention
- * to the values that have changed.
- */
-public class VariablesViewer extends TreeViewer {
-
-	private Item fNewItem;
-	
-	/**
-	 * Constructor for VariablesViewer.
-	 * @param parent
-	 */
-	public VariablesViewer(Composite parent) {
-		super(parent);
-	}
-
-	/**
-	 * Constructor for VariablesViewer.
-	 * @param parent
-	 * @param style
-	 */
-	public VariablesViewer(Composite parent, int style) {
-		super(parent, style);
-	}
-
-	/**
-	 * Constructor for VariablesViewer.
-	 * @param tree
-	 */
-	public VariablesViewer(Tree tree) {
-		super(tree);
-	}
-	
-	/**
-	 * Refresh the view, and then do another pass to
-	 * update the foreground color for values that have changed
-	 * since the last refresh. Values that have not
-	 * changed are drawn with the default system foreground color.
-	 * If the viewer has no selection, ensure that new items
-	 * are visible.
-	 * 
-	 * @see Viewer#refresh()
-	 */
-	public void refresh() {
-		getControl().setRedraw(false);
-		super.refresh();
-		
-		Item[] children = getChildren(getControl());
-		if (children != null) {
-			Color c= DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CHANGED_VARIABLE_RGB);
-			for (int i = 0; i < children.length; i++) {
-				updateColor((TreeItem)children[i], c);
-			}
-		}
-		
-		getControl().setRedraw(true);
-		
-		if (getSelection().isEmpty() && getNewItem() != null) {
-			if (!getNewItem().isDisposed()) {
-				//ensure that new items are visible
-				showItem(getNewItem());
-			}
-			setNewItem(null);
-		}
-	}
-	
-	/**
-	 * Updates the color of the given item as well
-	 * as all of its children. If the item corresponds
-	 * to a variable that has changed in value,
-	 * it is rendered with the <code>CHANGED_VARIABLE_RGB</code>
-	 * generated foreground color, otherwise the default system 
-	 * color is used.
-	 * 
-	 * @param item tree item
-	 */
-	protected void updateColor(TreeItem item, Color c) {
-		if (item.getData() instanceof IVariable) {
-			IVariable var = (IVariable)item.getData();
-			try {
-				if (var.hasValueChanged()) {
-					item.setForeground(c);
-				} else {
-					item.setForeground(null);
-				}
-			} catch (DebugException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		TreeItem[] children = item.getItems();
-		for (int i = 0; i < children.length; i++) {
-			updateColor(children[i], c);
-		}
-	}
-	
-	/**
-	 * @see AbstractTreeViewer#newItem(Widget, int, int)
-	 */
-	protected Item newItem(Widget parent, int style, int index) {
-		if (index != -1) {
-			//ignore the dummy items
-			setNewItem(super.newItem(parent, style, index));
-			return getNewItem();
-		} 
-		return	super.newItem(parent, style, index);
-	}
-	
-	protected Item getNewItem() {
-		return fNewItem;
-	}
-
-	protected void setNewItem(Item newItem) {
-		fNewItem = newItem;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
deleted file mode 100644
index 0d31753..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
+++ /dev/null
@@ -1,744 +0,0 @@
-package org.eclipse.debug.ui;

-

-/**********************************************************************

-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.

-This file is made available under the terms of the Common Public License v1.0

-which accompanies this distribution, and is available at

-http://www.eclipse.org/legal/cpl-v10.html

-**********************************************************************/

-

-import java.util.ArrayList;

-import java.util.HashMap;

-import java.util.Iterator;

-import java.util.List;

-import java.util.Map;

-

-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;

-import org.eclipse.debug.internal.ui.LazyModelPresentation;

-import org.eclipse.debug.internal.ui.preferences.DebugActionGroupsManager;

-import org.eclipse.jface.action.ActionContributionItem;

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.action.IContributionItem;

-import org.eclipse.jface.action.IMenuListener;

-import org.eclipse.jface.action.IMenuManager;

-import org.eclipse.jface.action.IToolBarManager;

-import org.eclipse.jface.action.MenuManager;

-import org.eclipse.jface.text.TextViewer;

-import org.eclipse.jface.viewers.DoubleClickEvent;

-import org.eclipse.jface.viewers.IBaseLabelProvider;

-import org.eclipse.jface.viewers.IDoubleClickListener;

-import org.eclipse.jface.viewers.StructuredViewer;

-import org.eclipse.jface.viewers.Viewer;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.KeyAdapter;

-import org.eclipse.swt.events.KeyEvent;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.swt.widgets.Menu;

-import org.eclipse.ui.IActionBars;

-import org.eclipse.ui.IMemento;

-import org.eclipse.ui.IViewPart;

-import org.eclipse.ui.IViewSite;

-import org.eclipse.ui.IWorkbenchPage;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.PartInitException;

-import org.eclipse.ui.help.WorkbenchHelp;

-import org.eclipse.ui.part.IPage;

-import org.eclipse.ui.part.MessagePage;

-import org.eclipse.ui.part.Page;

-import org.eclipse.ui.part.PageBook;

-import org.eclipse.ui.part.PageBookView;

-import org.eclipse.ui.texteditor.IUpdate;

-

-/**

- * Common function for debug related views:<ul>

- * <li>Debug view adpater implementation - <code>IDebugView</code></li>

- * <li>Action registry - actions can be stored in this view

- * 		with a key. Actions that implement <code>IUpdate</code>

- *      are updated when <code>updateActions()</code> is

- *		called.</li>

- * <li>Hooks the context menu associated with this view's

- * 		underlying viewer and registers the menu with this

- * 		view's site, such that other plug-ins may contribute.</li>

- * <li>Hooks a key press listener, and invokes the

- * 		<code>REMOVE_ACTION</code> when the delete key 

- * 		is pressed.</li>

- * <li>Hooks a double-click listener, and invokes the

- * 		<code>DOUBLE_CLICK_ACTION</code> when the mouse 

- * 		is double-clicked.</li>

- * <li>Provides a mechanism for displaying an error message

- * 		in the view, via the <code>PageBookView</code> mechanism.

- * 		By default, a page book is created with a page showing

- * 		this view's viewer. A message page is also created

- * 		and shown when <code>showMessage(String)</code> is

- * 		called.</li>

- * </ul>

- * <p>

- * This class may be subclassed.

- * </p>

- * @since 2.0

- */

-

-public abstract class AbstractDebugView extends PageBookView implements IDebugView, IDoubleClickListener {

-	

-	/**

-	 * Underlying viewer that displays the contents of

-	 * this view.

-	 */

-	private Viewer fViewer = null;

-	

-	/**

-	 * This view's message page.

-	 */

-	private MessagePage fMessagePage = null;

-	

-	/**

-	 * Map of actions. Keys are strings, values

-	 * are <code>IAction</code>.

-	 */

-	private Map fActionMap = null;

-	

-	/**

-	 * Map of actions. Keys are strings, values

-	 * are <code>IAction</code>.

-	 */

-	private List fUpdateables = null;

-	

-	/**

-	 * The context menu manager for this view

-	 */

-	private IMenuManager fContextMenuManager;

-	

-	/**

-	 * The memento that was used to persist the state of this view.

-	 * May be <code>null</code>.

-	 */

-	private IMemento fMemento;

-	

-	/**

-	 * Constructs a new debug view.

-	 */

-	public AbstractDebugView() {

-		fActionMap = new HashMap(5);

-		fUpdateables= new ArrayList(3);

-	}

-	

-	/**

-	 * Debug views implement the debug view adapter which

-	 * provides access to a view's underlying viewer and

-	 * debug model presentation for a specific debug model.

-	 * 

-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)

-	 * @see IDebugView

-	 */

-	public Object getAdapter(Class adapter) {

-		if (adapter == IDebugView.class) {

-			return this;

-		}

-		return super.getAdapter(adapter);

-	}

-	

-	/**

-	 * A page in this view's page book that contains this

-	 * view's viewer.

-	 */

-	class ViewerPage extends Page {

-		/**

-		 * @see IPage#createControl(Composite)

-		 */

-		public void createControl(Composite parent) {

-			Viewer viewer = createViewer(parent);

-			setViewer(viewer);			

-		}

-

-		/**

-		 * @see IPage#getControl()

-		 */

-		public Control getControl() {

-			return getDefaultControl();

-		}

-

-		/**

-		 * @see IPage#setFocus()

-		 */

-		public void setFocus() {

-			Viewer viewer= getViewer();

-			if (viewer != null) {

-				Control c = viewer.getControl();

-				if (!c.isFocusControl()) {

-					c.setFocus();

-				}

-			}

-		}

-

-}

-	

-	/**

-	 * Creates this view's underlying viewer and actions.

-	 * Hooks a pop-up menu to the underlying viewer's control,

-	 * as well as a key listener. When the delete key is pressed,

-	 * the <code>REMOVE_ACTION</code> is invoked. Hooks help to

-	 * this view. Subclasses must implement the following methods

-	 * which are called in the following order when a view is

-	 * created:<ul>

-	 * <li><code>createViewer(Composite)</code> - the context

-	 *   menu is hooked to the viewer's control.</li>

-	 * <li><code>createActions()</code></li>

-	 * <li><code>configureToolBar(IToolBarManager)</code></li>

-	 * <li><code>getHelpContextId()</code></li>

-	 * </ul>

-	 * @see IWorkbenchPart#createPartControl(Composite)

-	 * @see AbstractDebugView#createPartControl(Composite)

-	 * @see AbstractDebugView#createActions()

-	 * @see AbstractDebugView#configureToolBar(IToolBarManager)

-	 * @see AbstractDebugView#getHelpContextId()

-	 * @see AbstractDebugView#fillContextMenu(IMenuManager)

-	 */

-	public void createPartControl(Composite parent) {

-		super.createPartControl(parent);

-		createActions();

-		initializeToolBar();

-		createContextMenu(getViewer().getControl());

-		WorkbenchHelp.setHelp(parent, getHelpContextId());

-		getViewer().getControl().addKeyListener(new KeyAdapter() {

-			public void keyPressed(KeyEvent e) {

-				handleKeyPressed(e);

-			}

-		});

-		if (getViewer() instanceof StructuredViewer) {

-			((StructuredViewer)getViewer()).addDoubleClickListener(this);	

-		}

-		// create the message page

-		setMessagePage(new MessagePage());

-		getMessagePage().createControl(getPageBook());

-		initPage(getMessagePage());

-		

-		DebugActionGroupsManager.getDefault().registerView(this);

-	}	

-	

-	/**

-	 * The default page for a debug view is its viewer.

-	 * 

-	 * @see PageBookView#createDefaultPage(PageBook)

-	 */

-	protected IPage createDefaultPage(PageBook book) {

-		ViewerPage page = new ViewerPage();

-		page.createControl(book);

-		initPage(page);

-		return page;

-	}	

-

-	/**

-	 * Creates and returns this view's underlying viewer.

-	 * The viewer's control will automatically be hooked

-	 * to display a pop-up menu that other plug-ins may

-	 * contribute to. Subclasses must override this method.

-	 * 

-	 * @param parent the parent control

-	 */

-	protected abstract Viewer createViewer(Composite parent);

-	

-	/**

-	 * Creates this view's actions. Subclasses must

-	 * override this method, which is called after

-	 * <code>createViewer(Composite)</code>

-	 */

-	protected abstract void createActions();	

-	

-	/**

-	 * Returns this view's help context id, which is hooked

-	 * to this view on creation.

-	 * 

-	 * @return help context id

-	 */

-	protected abstract String getHelpContextId();

-	

-	/**

-	 * IWorkbenchPart#dispose()

-	 */

-	public void dispose() {

-		if (getViewer() instanceof StructuredViewer) {

-			((StructuredViewer)getViewer()).removeDoubleClickListener(this);

-		}

-		setViewer(null);

-		fActionMap.clear();

-		DebugActionGroupsManager.getDefault().deregisterView(this);

-		super.dispose();

-	}

-	

-	/**

-	 * @see IDebugView#getViewer()

-	 */

-	public Viewer getViewer() {

-		return fViewer;

-	}

-	

-	/**

-	 * Returns this view's viewer as a structured viewer,

-	 * or <code>null</code> if none.

-	 * 

-	 * @return this view's viewer as a structured viewer

-	 * 	or <code>null</code>

-	 */

-	protected StructuredViewer getStructuredViewer() {

-		if (getViewer() instanceof StructuredViewer) {

-			return (StructuredViewer)getViewer();

-		}

-		return null;

-	}

-	

-	/**

-	 * Returns this view's viewer as a text viewer,

-	 * or <code>null</code> if none.

-	 * 

-	 * @return this view's viewer as a text viewer

-	 * 	or <code>null</code>

-	 */

-	protected TextViewer getTextViewer() {

-		if (getViewer() instanceof TextViewer) {

-			return (TextViewer)getViewer();

-		}

-		return null;

-	}	

-	

-	/**

-	 * @see IDebugView#getPresentation(String)

-	 */

-	public IDebugModelPresentation getPresentation(String id) {

-		if (getViewer() instanceof StructuredViewer) {

-			IBaseLabelProvider lp = ((StructuredViewer)getViewer()).getLabelProvider();

-			if (lp instanceof DelegatingModelPresentation) {

-				return ((DelegatingModelPresentation)lp).getPresentation(id);

-			}

-			if (lp instanceof LazyModelPresentation) {

-				if (((LazyModelPresentation)lp).getDebugModelIdentifier().equals(id)) {

-					return (IDebugModelPresentation)lp;

-				}

-			}

-		}

-		return null;

-	}

-	

-	/**

-	 * Creates a pop-up menu on the given control. The menu

-	 * is registered with this view's site, such that other

-	 * plug-ins may contribute to the menu. Subclasses should

-	 * call this method, specifying the menu control as the

-	 * control used in their viewer (for example, tree viewer).

-	 * Subclasses must implement the method

-	 * <code>#fillContextMenu(IMenuManager)</code> which will

-	 * be called each time the context menu is realized.

-	 * 

-	 * @param menuControl the control with which the pop-up

-	 *  menu will be associated with.

-	 */

-	protected void createContextMenu(Control menuControl) {

-		MenuManager menuMgr= new MenuManager("#PopUp"); //$NON-NLS-1$

-		menuMgr.setRemoveAllWhenShown(true);

-		menuMgr.addMenuListener(new IMenuListener() {

-			public void menuAboutToShow(IMenuManager mgr) {

-				fillContextMenu(mgr);

-			}

-		});

-		Menu menu= menuMgr.createContextMenu(menuControl);

-		menuControl.setMenu(menu);

-

-		// register the context menu such that other plugins may contribute to it

-		getSite().registerContextMenu(menuMgr, getViewer());

-		fContextMenuManager= menuMgr;

-	}

-	

-	/**

-	 * @see IDebugView#getContextMenuManager()

-	 */

-	public IMenuManager getContextMenuManager() {

-		return fContextMenuManager;

-	}

-	

-	/**

-	 * Subclasses must override this method to fill the context

-	 * menu each time it is realized.

-	 * 

-	 * @param menu the context menu

-	 */

-	protected abstract void fillContextMenu(IMenuManager menu);	

-

-	/**

-	 * Configures this view's toolbar. Subclasses implement

-	 * <code>#configureToolBar(IToolBarManager)</code> to

-	 * contribute actions to the toolbar.

-	 * <p>

-	 * To properly initialize toggle actions that are contributed

-	 * to this view, state is restored for toggle actions that have

-	 * a persisted state in the view's memento.  As well, any toggle

-	 * actions that have an initial state of 'checked' are invoked.

-	 * The actions' states are restored and the actions are invoked 

-	 * in a runnable, after the view is created.

-	 * </p>

-	 */

-	protected void initializeToolBar() {

-		final IToolBarManager tbm= getViewSite().getActionBars().getToolBarManager();

-		configureToolBar(tbm);

-		getViewSite().getActionBars().updateActionBars();

-		// this is in a runnable to be run after this view's pane

-		// is created

-		Runnable r = new Runnable() {

-			public void run() {

-				if (!isAvailable()) {

-					return;

-				}

-				IContributionItem[] items = tbm.getItems();

-				if (items != null) {

-					for (int i = 0; i < items.length; i++) {

-						if (items[i] instanceof ActionContributionItem) {

-							IAction action = ((ActionContributionItem)items[i]).getAction();

-							if (action.getStyle() == IAction.AS_CHECK_BOX && getMemento() != null) {

-								initActionState(getMemento(), action);	

-								if (action.isChecked()) {

-									action.run();

-								}

-							}

-						}

-					}

-				}

-				setMemento(null);

-			}

-		};

-		asyncExec(r);

-	}

-	

-	/**

-	 * Sets the viewer for this view.

-	 * 

-	 * @param viewer viewer

-	 */

-	private void setViewer(Viewer viewer) {

-		fViewer = viewer;

-	}

-	

-	/**

-	 * Subclasses implement this menu to contribute actions

-	 * to the toolbar. This method is called after 

-	 * <code>createActions()</code>.

-	 * 

-	 * @param tbm the tool bar manager for this view's site

-	 * @see #createViewer(Composite)

-	 */

-	protected abstract void configureToolBar(IToolBarManager tbm);	

-	

-	/**

-	 * @see IDebugView#setAction(String, IAction)

-	 */

-	public void setAction(String actionID, IAction action) {

-		if (action == null) {

-			Object removedAction= fActionMap.remove(actionID);

-			fUpdateables.remove(removedAction);

-		} else {

-			fActionMap.put(actionID, action);

-			if (action instanceof IUpdate) {

-				fUpdateables.add(action);

-			}

-		}

-		if (actionID.equals(SELECT_ALL_ACTION)) {

-			IActionBars actionBars = getViewSite().getActionBars();	

-			actionBars.setGlobalActionHandler(actionID, action);

-		} else if (actionID.equals(COPY_ACTION)) {

-			IActionBars actionBars = getViewSite().getActionBars();	

-			actionBars.setGlobalActionHandler(actionID, action);

-		} else if (actionID.equals(CUT_ACTION)) {

-			IActionBars actionBars = getViewSite().getActionBars();	

-			actionBars.setGlobalActionHandler(actionID, action);

-		} else if (actionID.equals(PASTE_ACTION)) {

-			IActionBars actionBars = getViewSite().getActionBars();	

-			actionBars.setGlobalActionHandler(actionID, action);

-		} else if (actionID.equals(FIND_ACTION)) {

-			IActionBars actionBars = getViewSite().getActionBars();	

-			actionBars.setGlobalActionHandler(actionID, action);

-		}

-	}	

-	

-	/**

-	 * @see IDebugView#getAction(String)

-	 */

-	public IAction getAction(String actionID) {

-		return (IAction) fActionMap.get(actionID);

-	}

-	

-	/**

-	 * Updates all the registered updatables.

-	 */

-	public void updateObjects() {

-		Iterator actions = fUpdateables.iterator();

-		while (actions.hasNext()) {

-			((IUpdate)actions.next()).update();

-		}

-	}

-			

-	/**

-	 * Handles key events in viewer. Invokes

-	 * <ol> 

-	 * <li><code>REMOVE_ACTION</code> when the delete

-	 * key is pressed</li>

-	 */

-	protected void handleKeyPressed(KeyEvent event) {

-		if (event.character == SWT.DEL && event.stateMask == 0) {

-			IAction action = getAction(REMOVE_ACTION);

-			if (action != null && action.isEnabled()) {

-				action.run();

-			}

-		}

-	}	

-	

-	/**

-	 * Delegate to the <code>DOUBLE_CLICK_ACTION</code>,

-	 * if any.

-	 *  

-	 * @see IDoubleClickListener#doubleClick(DoubleClickEvent)

-	 */

-	public void doubleClick(DoubleClickEvent event) {

-		IAction action = getAction(DOUBLE_CLICK_ACTION);

-		if (action != null && action.isEnabled()) {

-			action.run();

-		}

-	}	

-	

-	/**

-	 * Registers the given runnable with the display

-	 * associated with this view's control, if any.

-	 * 

-	 * @see org.eclipse.swt.widgets.Display#asyncExec(java.lang.Runnable)

-	 */

-	public void asyncExec(Runnable r) {

-		if (isAvailable()) {

-			getViewer().getControl().getDisplay().asyncExec(r);

-		}

-	}

-	

-	/**

-	 * Registers the given runnable with the display

-	 * associated with this view's control, if any.

- 	 *

-	 * @see org.eclipse.swt.widgets.Display#syncExec(java.lang.Runnable)

-	 */

-	public void syncExec(Runnable r) {

-		if (isAvailable()) {

-			getViewer().getControl().getDisplay().syncExec(r);

-		}

-	}	

-	

-	/**

-	 * @see IViewPart#init(IViewSite, IMemento)

-	 */

-	public void init(IViewSite site, IMemento memento) throws PartInitException {

-		super.init(site, memento);

-		//store the memento to be used when this view is created.

-		setMemento(memento);

-	}

-	

-	/**

-	 * Returns the memento that contains the persisted state of

-	 * the view.  May be <code>null</code>.

-	 */

-	protected IMemento getMemento() {

-		return fMemento;

-	}

-

-	/** 

-	 * Sets the memento that contains the persisted state of the 

-	 * view.

-	 */

-	protected void setMemento(IMemento memento) {

-		fMemento = memento;

-	}

-	

-	/**

-	 * Persists the state of the enabled check box actions contributed

-	 * to this view.

-	 * 

-	 * @see IViewPart#saveState(IMemento)

-	 */

-	public void saveState(IMemento memento) {

-		if (getMemento() != null) {

-			//this view was never fully created

-			//persist the old values.

-			memento.putMemento(getMemento());

-			return;

-		}

-		IToolBarManager tbm= getViewSite().getActionBars().getToolBarManager();

-		IContributionItem[] items= tbm.getItems();

-		for (int i = 0; i < items.length; i++) {

-			IContributionItem iContributionItem = items[i];

-			if (iContributionItem instanceof ActionContributionItem) {

-				ActionContributionItem item= (ActionContributionItem)iContributionItem;

-				IAction action= item.getAction();

-				if (action.getStyle() == IAction.AS_CHECK_BOX && action.isEnabled()) {

-					saveActionState(memento, action);			

-				}

-			}		

-		}

-	}

-	

-	/**

-	 * Persists the checked state of the action in the memento.

-	 * The state is persisted as an <code>Integer</code>: <code>1</code>

-	 * meaning the action is checked; <code>0</code> representing unchecked.

-	 */

-	protected void saveActionState(IMemento memento, IAction action) {

-		String id= action.getId();

-		if (id != null) {

-			int state= action.isChecked() ? 1 : 0;

-			memento.putInteger(id, state);

-		}

-	}

-	

-	/**

-	 * Restores the persisted checked state of the action as stored

-	 * in the memento.

-	 * <p>

-	 * The state was persisted as an <code>Integer</code>: <code>1</code>

-	 * meaning the action is checked; <code>0</code> representing unchecked.

-	 * 

-	 * @param memento the memento used to persist the actions state

-	 * @param action the action that needs its state restored.

-	 */

-	protected void initActionState(IMemento memento, IAction action) {

-		String id= action.getId();

-		if (id != null) {

-			Integer state= memento.getInteger(id);

-			if (state != null) {

-				if (action.isEnabled()) {

-					action.setChecked(state.intValue() == 1);

-				}

-			}

-		}

-	}

-	

-	/**

-	 * Returns the specified view in this view's page

-	 * or <code>null</code> if none.

-	 * 

-	 * @param id view identifier

-	 * @return view part

-	 */

-	protected IViewPart findView(String id) {

-		IWorkbenchPage page = getSite().getPage();

-		IViewPart view = null;

-		if (page != null) {

-			view = page.findView(id);

-		}

-		return view;	

-	}

-	

-	/**

-	 * @see PageBookView#isImportant(IWorkbenchPart)

-	 */

-	protected boolean isImportant(IWorkbenchPart part) {

-		return false;

-	}

-

-	/**

-	 * @see PageBookView#doCreatePage(IWorkbenchPart)

-	 */

-	protected PageRec doCreatePage(IWorkbenchPart part) {

-		return null;

-	}

-

-	/**

-	 * @see PageBookView#doDestroyPage(IWorkbenchPart, PageRec)

-	 */

-	protected void doDestroyPage(IWorkbenchPart part, PageRec pageRecord) {

-	}

-

-	/**

-	 * @see PageBookView#getBootstrapPart()

-	 */

-	protected IWorkbenchPart getBootstrapPart() {

-		return null;

-	}

-

-	/**

-	 * Returns the default control for this view. By default,

-	 * this view's viewer's control is returned. Subclasses

-	 * should override if required - for example, if this

-	 * view has its viewer nested inside other controls.

-	 * 

-	 * @return this view's default control.

-	 */ 

-	protected Control getDefaultControl() {

-		Viewer viewer = getViewer();

-		if (viewer != null) {

-			return viewer.getControl();

-		} 

-		return null;

-	}

-	

-	/**

-	 * Sets this view's message page

-	 * 

-	 * @param page message page

-	 */

-	private void setMessagePage(MessagePage page) {

-		fMessagePage = page;

-	}

-	

-	/**

-	 * Returns this view's message page

-	 * 

-	 * @return message page

-	 */

-	protected MessagePage getMessagePage() {

-		return fMessagePage;

-	}	

-	

-	/**

-	 * Shows the given message in this view's message'

-	 * page. Makes the message page the visible page.

-	 * 

-	 * @param message the message to display

-	 */

-	public void showMessage(String message) {

-		if (getPageBook().isDisposed()) {

-			return;

-		}

-		getMessagePage().setMessage(message);

-		getPageBook().showPage(getMessagePage().getControl());

-	}

-	

-	/**

-	 * Shows this view's viewer page.

-	 */

-	public void showViewer() {

-		if (getPageBook().isDisposed()) {

-			return;

-		}

-		getPageBook().showPage(getDefaultPage().getControl());

-	}

-	

-	/**

-	 * Returns whether this view's viewer is

-	 * currently available.

-	 * 

-	 * @return whether this view's viewer is

-	 * currently available

-	 */

-	public boolean isAvailable() {

-		return !(getViewer() == null || getViewer().getControl() == null || getViewer().getControl().isDisposed());

-	}	

-	/**

-	 * @see IDebugView#add(IUpdate)

-	 */

-	public void add(IUpdate updatable) {

-		if (!fUpdateables.contains(updatable)) {

-			fUpdateables.add(updatable);

-		}

-	}

-

-	/**

-	 * @see IDebugView#remove(IUpdate)

-	 */

-	public void remove(IUpdate updatable) {

-		fUpdateables.remove(updatable);

-	}

-}	

-

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java
deleted file mode 100644
index 307a2fc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java
+++ /dev/null
@@ -1,225 +0,0 @@
-package org.eclipse.debug.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Common function for launch configuration tabs.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @see ILaunchConfigurationTab
- * @since 2.0
- */
-public abstract class AbstractLaunchConfigurationTab implements ILaunchConfigurationTab {
-	
-	/**
-	 * The control for this page, or <code>null</code>
-	 */
-	private Control fControl;
-
-	/**
-	 * The launch configuration dialog this tab is
-	 * contained in.
-	 */
-	private ILaunchConfigurationDialog fLaunchConfigurationDialog;
-	
-	/**
-	 * Current error message, or <code>null</code>
-	 */
-	private String fErrorMessage;
-	
-	/**
-	 * Current message, or <code>null</code>
-	 */
-	private String fMessage;
-		
-	/**
-	 * Returns the dialog this tab is contained in, or
-	 * <code>null</code> if not yet set.
-	 * 
-	 * @return launch configuration dialog, or <code>null</code>
-	 */
-	protected ILaunchConfigurationDialog getLaunchConfigurationDialog() {
-		return fLaunchConfigurationDialog;
-	}	
-		
-	/**
-	 * Updates the buttons and message in this page's launch
-	 * configuration dialog.
-	 */
-	protected void updateLaunchConfigurationDialog() {
-		if (getLaunchConfigurationDialog() != null) {
-			getLaunchConfigurationDialog().updateButtons();
-			getLaunchConfigurationDialog().updateMessage();
-		}
-	}
-				
-	/**
-	 * @see ILaunchConfigurationTab#getControl()
-	 */
-	public Control getControl() {
-		return fControl;
-	}
-
-	/**
-	 * Sets the control to be displayed in this tab.
-	 * 
-	 * @param control the control for this tab
-	 */
-	protected void setControl(Control control) {
-		fControl = control;
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		return fErrorMessage;
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#getMessage()
-	 */
-	public String getMessage() {
-		return fMessage;
-	}
-
-	/**
-	 * By default, do nothing.
-	 * 
-	 * @see ILaunchConfigurationTab#launched(ILaunch)
-	 */
-	public void launched(ILaunch launch) {
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#setLaunchConfigurationDialog(ILaunchConfigurationDialog)
-	 */
-	public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog) {
-		fLaunchConfigurationDialog = dialog;
-	}
-	
-	/**
-	 * Sets this page's error message, possibly <code>null</code>.
-	 * 
-	 * @param errorMessage the error message or <code>null</code>
-	 */
-	protected void setErrorMessage(String errorMessage) {
-		fErrorMessage = errorMessage;
-	}
-
-	/**
-	 * Sets this page's message, possibly <code>null</code>.
-	 * 
-	 * @param message the message or <code>null</code>
-	 */
-	protected void setMessage(String message) {
-		fMessage = message;
-	}
-	
-	/**
-	 * Convenience method to return the launch manager.
-	 * 
-	 * @return the launch manager
-	 */
-	protected ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}	
-	
-	/**
-	 * By default, do nothing.
-	 * 
-	 * @see ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-	}
-	
-	/**
-	 * Returns the shell this tab is contained in, or <code>null</code>.
-	 * 
-	 * @return the shell this tab is contained in, or <code>null</code>
-	 */
-	protected Shell getShell() {
-		Control control = getControl();
-		if (control != null) {
-			return control.getShell();
-		}
-		return null;
-	}
-	
-	/**
-	 * Creates and returns a new push button with the given
-	 * label and/or image.
-	 * 
-	 * @param parent parent control
-	 * @param label button label or <code>null</code>
-	 * @param image image of <code>null</code>
-	 * 
-	 * @return a new push button
-	 */
-	protected Button createPushButton(Composite parent, String label, Image image) {
-		return SWTUtil.createPushButton(parent, label, image);	
-	}
-	
-	/**
-	 * Creates and returns a new radio button with the given
-	 * label and/or image.
-	 * 
-	 * @param parent parent control
-	 * @param label button label or <code>null</code>
-	 * 
-	 * @return a new radio button
-	 */
-	protected Button createRadioButton(Composite parent, String label) {
-		return SWTUtil.createRadioButton(parent, label);	
-	}	
-	
-	/**
-	 * @see ILaunchConfigurationTab#canSave()
-	 */
-	public boolean canSave() {
-		return true;
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		return true;
-	}
-
-	/**
-	 * Create some empty space.
-	 */
-	protected void createVerticalSpacer(Composite comp, int colSpan) {
-		Label label = new Label(comp, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = colSpan;
-		label.setLayoutData(gd);
-	}	
-	/**
-	 * @see ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return null;
-	}
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
deleted file mode 100644
index 7896186..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.debug.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-
-/**
- * Common function for launch configuration tab groups.
- * Generally, a launch configuration tab group will subclass
- * this class, and define a method to create and set the tabs
- * in that group.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @see ILaunchConfigurationTabGroup
- * @since 2.0
- */
-public abstract class AbstractLaunchConfigurationTabGroup implements ILaunchConfigurationTabGroup {
-	
-	/**
-	 * The tabs in this tab group, or <code>null</code> if not yet instantiated.
-	 */
-	protected ILaunchConfigurationTab[] fTabs = null;
-
-	/**
-	 * @see ILaunchConfigurationTabGroup#getTabs()
-	 */
-	public ILaunchConfigurationTab[] getTabs() {
-		return fTabs;
-	}
-	
-	/**
-	 * Sets the tabs in this group
-	 * 
-	 * @param tabs the tabs in this group
-	 */
-	protected void setTabs(ILaunchConfigurationTab[] tabs) {
-		fTabs = tabs;
-	}
-
-	/**
-	 * By default, dispose all the tabs in this group.
-	 * 
-	 * @see ILaunchConfigurationTabGroup#dispose()
-	 */
-	public void dispose() {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].dispose();
-		}
-	}
-
-	/**
-	 * By default, delegate to all of the tabs in this group.
-	 * 
-	 * @see ILaunchConfigurationTabGroup#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].setDefaults(configuration);
-		}		
-	}
-
-	/** 
-	 * By default, delegate to all of the tabs in this group.
-	 * 
-	 * @see ILaunchConfigurationTabGroup#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].initializeFrom(configuration);
-		}		
-	}
-
-	/**
-	 * By default, delegate to all of the tabs in this group.
-	 * 
-	 * @see ILaunchConfigurationTabGroup#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].performApply(configuration);
-		}		
-	}
-
-	/**
-	 * Be default, delegate to all of the tabs in this group.
-	 * 
-	 * @see ILaunchConfigurationTabGroup#launched(ILaunch)
-	 */
-	public void launched(ILaunch launch) {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].launched(launch);
-		}		
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
deleted file mode 100644
index 2834aac..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
+++ /dev/null
@@ -1,738 +0,0 @@
-package org.eclipse.debug.ui;

-

-/**********************************************************************

-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.

-This file is made available under the terms of the Common Public License v1.0

-which accompanies this distribution, and is available at

-http://www.eclipse.org/legal/cpl-v10.html

-**********************************************************************/

- 

-import org.eclipse.core.resources.IContainer;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.resources.IWorkspaceRoot;

-import org.eclipse.core.resources.ResourcesPlugin;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IPath;

-import org.eclipse.core.runtime.Path;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.core.ILaunchConfigurationType;

-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;

-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsMessages;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.ModifyEvent;

-import org.eclipse.swt.events.ModifyListener;

-import org.eclipse.swt.events.SelectionAdapter;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.swt.widgets.Combo;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.ui.IPerspectiveDescriptor;

-import org.eclipse.ui.IPerspectiveRegistry;

-import org.eclipse.ui.PlatformUI;

-import org.eclipse.ui.dialogs.ContainerSelectionDialog;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-/**

- * Common launch configuration tab to specify the location a launch configuration

- * is stored, whether it should appear in the favorites list, and perspective

- * switching for an associated launch.

- * <p>

- * Clients may instantiate this class. This class is not intended to be subclassed.

- * </p>

- * @since 2.0

- */

-public class CommonTab extends AbstractLaunchConfigurationTab {

-		

-	// Local/shared UI widgets

-	private Label fLocalSharedLabel;

-	private Button fLocalRadioButton;

-	private Button fSharedRadioButton;

-	

-	// Shared location UI widgets

-	private Label fSharedLocationLabel;

-	private Text fSharedLocationText;

-	private Button fSharedLocationButton;

-	

-	/**

-	 * The combo box specifying the run perspective

-	 */

-	private Combo fRunPerspectiveCombo;

-	

-	/**

-	 * Label for the run perspective combo box

-	 */

-	private Label fRunPerspectiveLabel;

-	

-	/**

-	 * The combo box specifying the debug perspective

-	 */

-	private Combo fDebugPerspectiveCombo;

-	

-	/**

-	 * Label for the debug perspective combo box

-	 */

-	private Label fDebugPerspectiveLabel;

-

-	/**

-	 * The label that acts as header for the 'switch to perspective' widgets

-	 */

-	private Label fSwitchToLabel;

-

-	/**

-	 * The check box specifying run favoite

-	 */

-	private Button fRunFavoriteButton;	

-	

-	/**

-	 * The check box specifying debug favoite

-	 */

-	private Button fDebugFavoriteButton;

-		

-	/**

-	 * Constant for the name of the drop-down choice 'None' for perspectives.

-	 */

-	private static final String PERSPECTIVE_NONE_NAME = LaunchConfigurationsMessages.getString("CommonTab.None"); //$NON-NLS-1$

-	

-	/**

-	 * Constant for the name of the drop-down choice 'Default' for perspectives.

-	 */

-	private static final String PERSPECTIVE_DEFAULT_NAME = LaunchConfigurationsMessages.getString("CommonTab.Default"); //$NON-NLS-1$

-	

-	/**

-	 * Modify listener that simply updates the owning launch configuration dialog.

-	 */

-	private ModifyListener fBasicModifyListener = new ModifyListener() {

-			public void modifyText(ModifyEvent evt) {

-				updateLaunchConfigurationDialog();

-			}

-	};

-	

-	/**

-	 * Selection listener that simply updates the owning launch configuration dialog.

-	 */

-	private SelectionAdapter fBasicSelectionListener = new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent evt) {

-				updateLaunchConfigurationDialog();

-			}

-	};

-	

-	/**

-	 * @see ILaunchConfigurationTab#createControl(Composite)

-	 */

-	public void createControl(Composite parent) {

-		

-		Composite comp = new Composite(parent, SWT.NONE);

-		setControl(comp);

-		WorkbenchHelp.setHelp(getControl(), IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_COMMON_TAB);

-		GridLayout topLayout = new GridLayout();

-		comp.setLayout(topLayout);		

-

-		createVerticalSpacer(comp, 1);

-		

-		Composite radioComp = new Composite(comp, SWT.NONE);

-		GridLayout radioLayout = new GridLayout();

-		radioLayout.marginHeight = 0;

-		radioLayout.marginWidth = 0;

-		radioComp.setLayout(radioLayout);

-		

-		setLocalSharedLabel(new Label(radioComp, SWT.NONE));

-		getLocalSharedLabel().setText(LaunchConfigurationsMessages.getString("CommonTab.Type_of_launch_configuration__2")); //$NON-NLS-1$

-		

-		setLocalRadioButton(new Button(radioComp, SWT.RADIO));

-		getLocalRadioButton().setText(LaunchConfigurationsMessages.getString("CommonTab.L&ocal_3")); //$NON-NLS-1$

-		setSharedRadioButton(new Button(radioComp, SWT.RADIO));

-		getSharedRadioButton().setText(LaunchConfigurationsMessages.getString("CommonTab.S&hared_4")); //$NON-NLS-1$

-		getSharedRadioButton().addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent evt) {

-				handleSharedRadioButtonSelected();

-			}

-		});

-		

-		Composite locationComp = new Composite(comp, SWT.NONE);

-		GridLayout locationLayout = new GridLayout();

-		locationLayout.numColumns = 2;

-		locationLayout.marginHeight = 0;

-		locationLayout.marginWidth = 0;

-		locationComp.setLayout(locationLayout);

-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);

-		locationComp.setLayoutData(gd);

-		

-		setSharedLocationLabel(new Label(locationComp, SWT.NONE));

-		getSharedLocationLabel().setText(LaunchConfigurationsMessages.getString("CommonTab.Location_of_shared_confi&guration__5")); //$NON-NLS-1$

-		gd = new GridData();

-		gd.horizontalSpan = 2;

-		getSharedLocationLabel().setLayoutData(gd);

-		

-		setSharedLocationText(new Text(locationComp, SWT.SINGLE | SWT.BORDER));

-		gd = new GridData(GridData.FILL_HORIZONTAL);

-		getSharedLocationText().setLayoutData(gd);

-		getSharedLocationText().addModifyListener(fBasicModifyListener);

-		

-		setSharedLocationButton(createPushButton(locationComp, LaunchConfigurationsMessages.getString("CommonTab.&Browse_6"), null));	 //$NON-NLS-1$

-		getSharedLocationButton().addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent evt) {

-				handleSharedLocationButtonSelected();

-			}

-		});	

-

-		getLocalRadioButton().setSelection(true);

-		setSharedEnabled(false);

-

-		createVerticalSpacer(comp, 1);

-		

-		setSwitchToLabel(new Label(comp, SWT.HORIZONTAL | SWT.LEFT));

-		getSwitchToLabel().setText(LaunchConfigurationsMessages.getString("CommonTab.Switch_to/Open_perspective_when_launched_in__7")); //$NON-NLS-1$

-		gd = new GridData();

-		gd.horizontalAlignment = GridData.BEGINNING;

-		gd.horizontalSpan = 3;

-		getSwitchToLabel().setLayoutData(gd);

-		

-		Composite perspComp = new Composite(comp, SWT.NONE);

-		GridLayout perspLayout = new GridLayout();

-		perspLayout.marginHeight = 0;

-		perspLayout.marginWidth = 0;

-		perspLayout.numColumns = 2;

-		perspComp.setLayout(perspLayout);

-		

-		setRunPerspectiveLabel(new Label(perspComp, SWT.NONE));

-		getRunPerspectiveLabel().setText(LaunchConfigurationsMessages.getString("CommonTab.Run_mode_8")); //$NON-NLS-1$

-		

-		setRunPerspectiveCombo(new Combo(perspComp, SWT.DROP_DOWN | SWT.READ_ONLY));

-		gd = new GridData(GridData.GRAB_HORIZONTAL);

-		getRunPerspectiveCombo().setLayoutData(gd);

-		fillWithPerspectives(getRunPerspectiveCombo());

-		getRunPerspectiveCombo().addModifyListener(fBasicModifyListener);

-		

-		setDebugPerspectiveLabel(new Label(perspComp, SWT.NONE));

-		getDebugPerspectiveLabel().setText(LaunchConfigurationsMessages.getString("CommonTab.Debug_mode_9")); //$NON-NLS-1$

-		

-		setDebugPerspectiveCombo(new Combo(perspComp, SWT.DROP_DOWN |SWT.READ_ONLY));

-		gd = new GridData(GridData.GRAB_HORIZONTAL);

-		getDebugPerspectiveCombo().setLayoutData(gd);		

-		fillWithPerspectives(getDebugPerspectiveCombo());				

-		getDebugPerspectiveCombo().addModifyListener(fBasicModifyListener);

-		

-		createVerticalSpacer(comp, 1);

-		

-		Composite favComp = new Composite(comp, SWT.NONE);

-		GridLayout favLayout = new GridLayout();

-		favLayout.marginHeight = 0;

-		favLayout.marginWidth = 0;

-		favLayout.numColumns = 1;

-		favComp.setLayout(favLayout);

-		

-		Label favLabel = new Label(favComp, SWT.HORIZONTAL | SWT.LEFT);

-		favLabel.setText(LaunchConfigurationsMessages.getString("CommonTab.Display_in_favorites_menu__10")); //$NON-NLS-1$

-		

-		setRunFavoriteButton(new Button(favComp, SWT.CHECK));

-		getRunFavoriteButton().setText(LaunchConfigurationsMessages.getString("CommonTab.&Run_11")); //$NON-NLS-1$

-		getRunFavoriteButton().addSelectionListener(fBasicSelectionListener);

-						

-		setDebugFavoriteButton(new Button(favComp, SWT.CHECK));

-		getDebugFavoriteButton().setText(LaunchConfigurationsMessages.getString("CommonTab.Debu&g_12")); //$NON-NLS-1$

-		getDebugFavoriteButton().addSelectionListener(fBasicSelectionListener);

-	}

-

-	

-	private void setSharedLocationButton(Button sharedLocationButton) {

-		this.fSharedLocationButton = sharedLocationButton;

-	}

-

-	private Button getSharedLocationButton() {

-		return fSharedLocationButton;

-	}

-

-	private void setSharedLocationText(Text sharedLocationText) {

-		this.fSharedLocationText = sharedLocationText;

-	}

-

-	private Text getSharedLocationText() {

-		return fSharedLocationText;

-	}

-

-	private void setSharedLocationLabel(Label sharedLocationLabel) {

-		this.fSharedLocationLabel = sharedLocationLabel;

-	}

-

-	private Label getSharedLocationLabel() {

-		return fSharedLocationLabel;

-	}

-

-	private void setLocalSharedLabel(Label localSharedLabel) {

-		fLocalSharedLabel = localSharedLabel;

-	}

-

-	private Label getLocalSharedLabel() {

-		return fLocalSharedLabel;

-	}

-

- 	private void setLocalRadioButton(Button button) {

- 		fLocalRadioButton = button;

- 	}

- 	

- 	private Button getLocalRadioButton() {

- 		return fLocalRadioButton;

- 	} 	

- 	

- 	private void setSharedRadioButton(Button button) {

- 		fSharedRadioButton = button;

- 	}

- 	

- 	private Button getSharedRadioButton() {

- 		return fSharedRadioButton;

- 	} 	

- 	

-	/**

-	 * Returns the perspective combo assoicated with the

-	 * debug perspective button.

-	 * 

-	 * @return a combo box

-	 */

-	private Combo getDebugPerspectiveCombo() {

-		return fDebugPerspectiveCombo;

-	}

-

-	/**

-	 * Sets the perspective combo assoicated with the

-	 * debug perspective button.

-	 * 

-	 * @param combo a combo box

-	 */

-	private void setDebugPerspectiveCombo(Combo combo) {

-		fDebugPerspectiveCombo = combo;

-	}

-

-	/**

-	 * Returns the perspective combo assoicated with the

-	 * run perspective button.

-	 * 

-	 * @return a combo box

-	 */

-	private Combo getRunPerspectiveCombo() {

-		return fRunPerspectiveCombo;

-	}

-

-	/**

-	 * Sets the perspective combo assoicated with the

-	 * run perspective button.

-	 * 

-	 * @param combo a combo box

-	 */

-	private void setRunPerspectiveCombo(Combo combo) {

-		fRunPerspectiveCombo = combo;

-	}

-

-	private void setRunPerspectiveLabel(Label fRunPerspectiveLabel) {

-		this.fRunPerspectiveLabel = fRunPerspectiveLabel;

-	}

-

-	private Label getRunPerspectiveLabel() {

-		return fRunPerspectiveLabel;

-	}

-

-	private void setDebugPerspectiveLabel(Label fDebugPerspectiveLabel) {

-		this.fDebugPerspectiveLabel = fDebugPerspectiveLabel;

-	}

-

-	private Label getDebugPerspectiveLabel() {

-		return fDebugPerspectiveLabel;

-	}

-

-	private void setSwitchToLabel(Label switchToLabel) {

-		fSwitchToLabel = switchToLabel;

-	}

-

-	private Label getSwitchToLabel() {

-		return fSwitchToLabel;

-	}

-

-	private void handleSharedRadioButtonSelected() {

-		setSharedEnabled(isShared());

-		updateLaunchConfigurationDialog();

-	}

-	

-	private void setSharedEnabled(boolean enable) {

-		getSharedLocationLabel().setEnabled(enable);

-		getSharedLocationText().setEnabled(enable);

-		getSharedLocationButton().setEnabled(enable);

-	}

-	

-	private boolean isShared() {

-		return getSharedRadioButton().getSelection();

-	}

-	

-	private void handleSharedLocationButtonSelected() {

-		ContainerSelectionDialog dialog = new ContainerSelectionDialog(getShell(),

-																	   getWorkspaceRoot(),

-																	   false,

-																	   LaunchConfigurationsMessages.getString("CommonTab.Select_a_location_for_the_launch_configuration_13")); //$NON-NLS-1$

-		

-		String currentContainerString = getSharedLocationText().getText();

-		IContainer currentContainer = getContainer(currentContainerString);

-		if (currentContainer != null) {

-			IPath path = currentContainer.getFullPath();

-			dialog.setInitialSelections(new Object[] {path});

-		}

-		

-		dialog.showClosedProjects(false);

-		dialog.open();

-		Object[] results = dialog.getResult();		

-		if ((results != null) && (results.length > 0) && (results[0] instanceof IPath)) {

-			IPath path = (IPath)results[0];

-			String containerName = path.toOSString();

-			getSharedLocationText().setText(containerName);

-		}		

-	}

-	

-	private IContainer getContainer(String path) {

-		Path containerPath = new Path(path);

-		return (IContainer) getWorkspaceRoot().findMember(containerPath);

-	}

-	

-	/**

-	 * Returns the perspective with the given label, or

-	 * <code>null</code> if none is found.

-	 * 

-	 * @param label perspective label

-	 * @return perspective descriptor

-	 */

-	private IPerspectiveDescriptor getPerspectiveWithLabel(String label) {		

-		return PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithLabel(label);

-	}

-	

-	/**

-	 * Returns the perspective with the given id, or

-	 * <code>null</code> if none is found.

-	 * 

-	 * @param id perspective identifier

-	 * @return perspective descriptor

-	 */

-	private IPerspectiveDescriptor getPerspectiveWithId(String id) {		

-		return PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(id);

-	}	

-

-	/**

-	 * Fills the given combo box with the labels of all existing

-	 * perspectives and one to indicate 'none'.

-	 * 

-	 * @param combo combo box

-	 */

-	private void fillWithPerspectives(Combo combo) {

-		combo.add(PERSPECTIVE_NONE_NAME);

-		combo.add(PERSPECTIVE_DEFAULT_NAME);

-		IPerspectiveRegistry reg = PlatformUI.getWorkbench().getPerspectiveRegistry();

-		IPerspectiveDescriptor[] persps = reg.getPerspectives();

-		for (int i = 0; i < persps.length; i++) {

-			combo.add(persps[i].getLabel());

-		}

-	}

-	

-	/**

-	 * @see ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)

-	 */

-	public void initializeFrom(ILaunchConfiguration configuration) {	

-		updateLocalSharedFromConfig(configuration);

-		updateSharedLocationFromConfig(configuration);

-		updateRunPerspectiveFromConfig(configuration);

-		updateDebugPerspectiveFromConfig(configuration);

-		updateFavoritesFromConfig(configuration);

-	}

-	

-	private void updateLocalSharedFromConfig(ILaunchConfiguration config) {

-		boolean isShared = !config.isLocal();

-		getSharedRadioButton().setSelection(isShared);

-		getLocalRadioButton().setSelection(!isShared);

-		setSharedEnabled(isShared);

-	}

-	

-	private void updateSharedLocationFromConfig(ILaunchConfiguration config) {

-		IFile file = config.getFile();

-		if (file != null) {

-			IContainer parent = file.getParent();

-			if (parent != null) {

-				String containerName = parent.getFullPath().toOSString();

-				getSharedLocationText().setText(containerName);

-			}

-		}

-	}

-	

-	private void updateRunPerspectiveFromConfig(ILaunchConfiguration config) {

-		ILaunchConfigurationType type = null;

-		String runPerspID = null;

-		try {

-			runPerspID = config.getAttribute(IDebugUIConstants.ATTR_TARGET_RUN_PERSPECTIVE, (String)null);

-			type = config.getType();

-		} catch (CoreException ce) {

-			updatePerspectiveCombo(getRunPerspectiveCombo(), null);

-			getRunPerspectiveCombo().setEnabled(false);

-			getRunPerspectiveLabel().setEnabled(false);

-			return;

-		}

-		updatePerspectiveCombo(getRunPerspectiveCombo(), runPerspID);

-		boolean enable = type.supportsMode(ILaunchManager.RUN_MODE);

-		getRunPerspectiveCombo().setEnabled(enable);

-		getRunPerspectiveLabel().setEnabled(enable);

-	}

-	

-	private void updateDebugPerspectiveFromConfig(ILaunchConfiguration config) {

-		ILaunchConfigurationType type = null;

-		String debugPerspID = null;

-		try {			

-			debugPerspID = config.getAttribute(IDebugUIConstants.ATTR_TARGET_DEBUG_PERSPECTIVE, (String)null);

-			type = config.getType();

-		} catch (CoreException ce) {

-			updatePerspectiveCombo(getDebugPerspectiveCombo(), null);

-			getDebugPerspectiveCombo().setEnabled(false);

-			getDebugPerspectiveLabel().setEnabled(false);

-			return;

-		}

-		updatePerspectiveCombo(getDebugPerspectiveCombo(), debugPerspID);

-		boolean enable = type.supportsMode(ILaunchManager.DEBUG_MODE);

-		getDebugPerspectiveCombo().setEnabled(enable);

-		getDebugPerspectiveLabel().setEnabled(enable);

-	}

-	

-	private void updateFavoritesFromConfig(ILaunchConfiguration config) {

-		ILaunchConfigurationType type = null;

-		boolean isDebug = false;

-		boolean isRun = false;

-		try {

-			type = config.getType();

-			isDebug = config.getAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, false);

-			isRun = config.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false);

-		} catch (CoreException ce) {

-			getDebugFavoriteButton().setEnabled(false);

-			getRunFavoriteButton().setEnabled(false);

-			return;

-		}

-		getDebugFavoriteButton().setEnabled(type.supportsMode(ILaunchManager.DEBUG_MODE));

-		getRunFavoriteButton().setEnabled(type.supportsMode(ILaunchManager.RUN_MODE));

-		getDebugFavoriteButton().setSelection(isDebug);

-		getRunFavoriteButton().setSelection(isRun);

-		

-	}

-	

-	/**

-	 * Based on the given perspective identifier, update the settings

-	 * of the button and associated combo box. The check box is selected

-	 * when there is a valid perspective, and the combo box is set to

-	 * display the label of the associated perspective. The check box is

-	 * deselected, and the combo box is set to the default value (debug

-	 * perspective) when the identfier is <code>null</code>.

-	 * 

-	 * @param button check box button

-	 * @param combo combo box with perspective labels

-	 * @param id perspective identifier or <code>null</code>

-	 */

-	private void updatePerspectiveCombo(Combo combo, String id) {

-		if ((id == null) || (id.equals(IDebugUIConstants.PERSPECTIVE_NONE))) {

-			combo.setText(PERSPECTIVE_NONE_NAME);

-		} else if (id.equals(IDebugUIConstants.PERSPECTIVE_DEFAULT)) {

-			combo.setText(PERSPECTIVE_DEFAULT_NAME);

-		} else {

-			IPerspectiveDescriptor pd = getPerspectiveWithId(id);

-			if (pd == null) {

-				// perpective does not exist - reset

-				updatePerspectiveCombo(combo, null);

-			} else {

-				combo.setText(pd.getLabel());

-			}

-		}

-	}

-

-	private void updateConfigFromLocalShared(ILaunchConfigurationWorkingCopy config) {

-		if (isShared()) {

-			String containerPathString = getSharedLocationText().getText();

-			IContainer container = (IContainer) getContainer(containerPathString);

-			config.setContainer(container);

-		} else {

-			config.setContainer(null);

-		}

-	}

-	

-	/**

-	 * Update the run perspective attribute based on current

-	 * UI settings.

-	 */

-	private void updateConfigFromRunPerspective(ILaunchConfigurationWorkingCopy config) {

-		String selectedText = getRunPerspectiveCombo().getText();

-		String perspID = null;

-		if (selectedText.equals(PERSPECTIVE_NONE_NAME)) {

-			perspID = IDebugUIConstants.PERSPECTIVE_NONE;

-		}

-		else if (selectedText.equals(PERSPECTIVE_DEFAULT_NAME)) {

-			perspID = IDebugUIConstants.PERSPECTIVE_DEFAULT;

-		} else {

-			IPerspectiveDescriptor descriptor = getPerspectiveWithLabel(selectedText);

-			if (descriptor != null) {

-				perspID = descriptor.getId();

-			}

-		}

-		config.setAttribute(IDebugUIConstants.ATTR_TARGET_RUN_PERSPECTIVE, perspID);

-	}

-	

-	/**

-	 * Update the debug perspective attribute based on current

-	 * UI settings.

-	 */

-	private void updateConfigFromDebugPerspective(ILaunchConfigurationWorkingCopy config) {

-		String selectedText = getDebugPerspectiveCombo().getText();

-		String perspID = null;

-		if (selectedText.equals(PERSPECTIVE_NONE_NAME)) {

-			perspID = IDebugUIConstants.PERSPECTIVE_NONE;

-		}

-		else if (selectedText.equals(PERSPECTIVE_DEFAULT_NAME)) {

-			perspID = IDebugUIConstants.PERSPECTIVE_DEFAULT;

-		} else {

-			IPerspectiveDescriptor descriptor = getPerspectiveWithLabel(selectedText);

-			if (descriptor != null) {

-				perspID = descriptor.getId();

-			}

-		}

-		config.setAttribute(IDebugUIConstants.ATTR_TARGET_DEBUG_PERSPECTIVE, perspID);

-	}

-	

-	/**

-	 * Update the favorite settings.

-	 * 

-	 * NOTE: set to NULL instead of false for backwards compatibility

-	 *  when comparing if content is equal, since 'false' is default

-	 * 	and will be missing for older configs.

-	 */

-	private void updateConfigFromFavorites(ILaunchConfigurationWorkingCopy config) {

-		if (getDebugFavoriteButton().getSelection()) {

-			config.setAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, true);

-		} else {

-			config.setAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, (String)null);

-		} 

-		if (getRunFavoriteButton().getSelection()) {

-			config.setAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, true);

-		} else {

-			config.setAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, (String)null);

-		} 		

-	}	

-	

-	/**

-	 * Convenience method for getting the workspace root.

-	 */

-	private IWorkspaceRoot getWorkspaceRoot() {

-		return ResourcesPlugin.getWorkspace().getRoot();

-	}

-	

-	/**

-	 * @see ILaunchConfigurationTab#isValid(ILaunchConfiguration)

-	 */

-	public boolean isValid(ILaunchConfiguration config) {

-		setMessage(null);

-		setErrorMessage(null);

-		

-		return validateLocalShared();		

-	}

-	

-	private boolean validateLocalShared() {

-		if (isShared()) {

-			String path = fSharedLocationText.getText().trim();

-			IContainer container = getContainer(path);

-			if (container == null || container.equals(ResourcesPlugin.getWorkspace().getRoot())) {

-				setErrorMessage(LaunchConfigurationsMessages.getString("CommonTab.Invalid_shared_configuration_location_14")); //$NON-NLS-1$

-				return false;

-			} else if (!container.getProject().isOpen()) {

-				setErrorMessage(LaunchConfigurationsMessages.getString("CommonTab.Cannot_save_launch_configuration_in_a_closed_project._1")); //$NON-NLS-1$

-				return false;				

-			}

-		}

-		

-		return true;		

-	}

-

-	/**

-	 * @see ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)

-	 */

-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {

-		config.setContainer(null);

-		

-		config.setAttribute(IDebugUIConstants.ATTR_TARGET_DEBUG_PERSPECTIVE, IDebugUIConstants.PERSPECTIVE_DEFAULT);

-

-		config.setAttribute(IDebugUIConstants.ATTR_TARGET_RUN_PERSPECTIVE, IDebugUIConstants.PERSPECTIVE_DEFAULT);

-	}

-

-	/**

-	 * @see ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)

-	 */

-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {

-		updateConfigFromDebugPerspective(configuration);

-		updateConfigFromRunPerspective(configuration);

-		updateConfigFromLocalShared(configuration);

-		updateConfigFromFavorites(configuration);

-	}

-

-	/**

-	 * Returns the check box used to specify a config

-	 * as a debug favorite.

-	 * 

-	 * @return check box

-	 */

-	private Button getDebugFavoriteButton() {

-		return fDebugFavoriteButton;

-	}

-

-	/**

-	 * Sets the check box used to specify a config

-	 * as a debug favorite.

-	 * 

-	 * @param button check box

-	 */

-	private void setDebugFavoriteButton(Button button) {

-		fDebugFavoriteButton = button;

-	}

-	

-	/**

-	 * Returns the check box used to specify a config

-	 * as a run favorite.

-	 * 

-	 * @return check box

-	 */

-	private Button getRunFavoriteButton() {

-		return fRunFavoriteButton;

-	}

-

-	/**

-	 * Sets the check box used to specify a config

-	 * as a run favorite.

-	 * 

-	 * @param button check box

-	 */

-	private void setRunFavoriteButton(Button button) {

-		fRunFavoriteButton = button;

-	}	

-

-	/**

-	 * @see ILaunchConfigurationTab#getName()

-	 */

-	public String getName() {

-		return LaunchConfigurationsMessages.getString("CommonTab.&Common_15"); //$NON-NLS-1$

-	}

-	

-	/**

-	 * @see ILaunchConfigurationTab#canSave()

-	 */

-	public boolean canSave() {

-		return validateLocalShared();

-	}

-

-	/**

-	 * @see ILaunchConfigurationTab#getImage()

-	 */

-	public Image getImage() {

-		return DebugUITools.getImage(IDebugUIConstants.IMG_PERSPECTIVE_DEBUG);

-	}

-

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
deleted file mode 100644
index 28f6b11..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
+++ /dev/null
@@ -1,278 +0,0 @@
-package org.eclipse.debug.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.IAdaptable;

-import org.eclipse.core.runtime.IConfigurationElement;

-import org.eclipse.core.runtime.IExtension;

-import org.eclipse.core.runtime.IExtensionPoint;

-import org.eclipse.core.runtime.IPluginDescriptor;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.model.IDebugElement;

-import org.eclipse.debug.core.model.IDebugTarget;

-import org.eclipse.debug.core.model.IProcess;

-import org.eclipse.debug.internal.ui.DebugPluginImages;

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

-import org.eclipse.debug.internal.ui.DefaultLabelProvider;

-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;

-import org.eclipse.debug.internal.ui.LazyModelPresentation;

-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationDialog;

-import org.eclipse.jface.preference.IPreferenceStore;

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.viewers.Viewer;

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.ui.IWorkbenchPage;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.IWorkbenchWindow;

-import org.eclipse.ui.PlatformUI;

-

-/**

- * This class provides utilities for clients of the debug UI.

- * <p>

- * Images retrieved from this facility should not be disposed.

- * The images will be disposed when this plugin is shutdown.

- * </p>

- * <p>

- * This class is not intended to be subclassed or instantiated.

- * </p>

- */

-public class DebugUITools {

-	

-	/**

-	 * Returns the shared image managed under the given key, or <code>null</code>

-	 * if none.

-	 * <p>

-	 * Note that clients <b>MUST NOT</b> dispose the image returned by this method.

-	 * </p>

-	 * <p>

-	 * See <code>IDebugUIConstants</code> for available images.

-	 * </p>

-	 *

-	 * @param key the image key

-	 * @return the image, or <code>null</code> if none

-	 * @see IDebugUIConstants

-	 */

-	public static Image getImage(String key) {

-		return DebugPluginImages.getImage(key);

-	}

-	

-	/**

-	 * Returns the shared image descriptor managed under the given key, or

-	 * <code>null</code> if none.

-	 * <p>

-	 * See <code>IDebugUIConstants</code> for available image descriptors.

-	 * </p>

-	 *

-	 * @param key the image descriptor key

-	 * @return the image descriptor, or <code>null</code> if none

-	 * @see IDebugUIConstants

-	 */

-	public static ImageDescriptor getImageDescriptor(String key) {

-		return DebugPluginImages.getImageDescriptor(key);

-	}

-		

-	/**

-	 * Returns the default image descriptor for the given element

-	 * or <code>null</code> if none is defined.

-	 */

-	public static ImageDescriptor getDefaultImageDescriptor(Object element) {

-		String imageKey= getDefaultImageKey(element);

-		if (imageKey == null) {

-			return null;

-		}

-		return DebugPluginImages.getImageDescriptor(imageKey);

-	}

-	

-	private static String getDefaultImageKey(Object element) {

-		return ((DefaultLabelProvider)DebugUIPlugin.getDefaultLabelProvider()).getImageKey(element);

-	}

-	

-	/**

-	 * Returns the preference store for the debug UI plugin.

-	 *

-	 * @return preference store

-	 */

-	public static IPreferenceStore getPreferenceStore() {

-		return DebugUIPlugin.getDefault().getPreferenceStore();

-	}

-	

-	/**

-	 * Returns a new debug model presentation that delegates to

-	 * appropriate debug models.

-	 * <p>

-	 * It is the client's responsibility dispose the presentation.

-	 * </p>

-	 * 

-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()

-	 * @return a debug model presentation

-	 * @since 2.0

-	 */

-	public static IDebugModelPresentation newDebugModelPresentation() {

-		return new DelegatingModelPresentation();

-	}

-	

-	/**

-	 * Returns a new debug model presentation for specified

-	 * debug model, or <code>null</code> if a presentation does

-	 * not exist.

-	 * <p>

-	 * It is the client's responsibility dispose the presentation.

-	 * </p>

-	 * 

-	 * @param identifier debug model identifier

-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()

-	 * @return a debug model presentation, or <code>null</code>

-	 * @since 2.0

-	 */

-	public static IDebugModelPresentation newDebugModelPresentation(String identifier) {

-		IPluginDescriptor descriptor= DebugUIPlugin.getDefault().getDescriptor();

-		IExtensionPoint point= descriptor.getExtensionPoint(IDebugUIConstants.ID_DEBUG_MODEL_PRESENTATION);

-		if (point != null) {

-			IExtension[] extensions= point.getExtensions();

-			for (int i= 0; i < extensions.length; i++) {

-				IExtension extension= extensions[i];

-				IConfigurationElement[] configElements= extension.getConfigurationElements();

-				for (int j= 0; j < configElements.length; j++) {

-					IConfigurationElement elt= configElements[j];

-					String id= elt.getAttribute("id"); //$NON-NLS-1$

-					if (id != null && id.equals(identifier)) {

-						return new LazyModelPresentation(elt);

-					}

-				}

-			}

-		}

-		return null;

-	}	

-	

-	/**

-	 * Returns the currently selected element in the 

-	 * debug view of the current workbench page,

-	 * or <code>null</code> if there is no current

-	 * debug context, or if not called from the UI

-	 * thread.

-	 * 

-	 * @return the currently selected debug context, or <code>null</code>

-	 * @since 2.0

-	 */

-	public static IAdaptable getDebugContext() {

-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow() ;

-		if (window != null) {

-			IWorkbenchPage page = window.getActivePage();

-			if (page != null) {

-				IWorkbenchPart part = page.findView(IDebugUIConstants.ID_DEBUG_VIEW);

-				if (part != null) {

-					IDebugView view = (IDebugView)part.getAdapter(IDebugView.class);

-					if (view != null) {

-						Viewer viewer = view.getViewer();

-						if (viewer != null) {

-							ISelection s = viewer.getSelection();

-							if (s != null) {

-								if (s instanceof IStructuredSelection) {

-									IStructuredSelection ss = (IStructuredSelection)s;

-									if (ss.size() == 1) {

-										Object element = ss.getFirstElement();

-										if (element instanceof IAdaptable) {

-											return (IAdaptable)element;

-										}

-									}

-								}

-							}

-						}

-					}

-				}

-			}

-		}

-		return null;

-	}

-			

-	/**

-	 * Returns the process associated with the current debug context.

-	 * If there is no debug context currently, the most recently

-	 * launched process is returned. If there is no current process

-	 * <code>null</code> is returned.

-	 * 

-	 * @return the current process, or <code>null</code>

-	 * @since 2.0

-	 */

-	public static IProcess getCurrentProcess() {

-		IAdaptable context = getDebugContext();

-		if (context == null) {

-			ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches();

-			if (launches.length > 0) {

-				context = launches[launches.length - 1];

-			}

-		}

-		if (context instanceof IDebugElement) {

-			return ((IDebugElement)context).getDebugTarget().getProcess();

-		}

-		if (context instanceof IProcess) {

-			return (IProcess)context;

-		}

-		if (context instanceof ILaunch) {

-			ILaunch launch= (ILaunch)context;

-			IDebugTarget target= launch.getDebugTarget();

-			if (target != null) {

-				IProcess process = target.getProcess();

-				if (process != null) {

-					return process;

-				}

-			}

-			IProcess[] ps = launch.getProcesses();

-			if (ps.length > 0) {

-				return ps[ps.length - 1];

-			}

-		}

-		return null;

-	}

-

-	/**

-	 * Open the launch configuration dialog with the specified initial selection.

-	 * The selection may be <code>null</code>, or contain any mix of 

-	 * <code>ILaunchConfiguration</code> or <code>ILaunchConfigurationType</code>

-	 * elements.

-	 * 

-	 * @param shell the parent shell for the launch configuration dialog

-	 * @param selection the initial selection for the dialog

-	 * @param mode the mode (run or debug) in which to open the launch configuration dialog.

-	 *  This should be one of the constants defined in <code>ILaunchManager</code>.

-	 * @return the return code from opening the launch configuration dialog

-	 * @since 2.0

-	 */

-	public static int openLaunchConfigurationDialog(Shell shell, IStructuredSelection selection, String mode) {

-		LaunchConfigurationDialog dialog = new LaunchConfigurationDialog(shell, null, mode);

-		dialog.setOpenMode(LaunchConfigurationDialog.LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION);

-		dialog.setInitialSelection(selection);

-		return dialog.open();

-	}

-	

-	/**

-	 * Saves all dirty editors and builds the workspace according to current

-	 * preference settings, and returns whether a launch should proceed.

-	 * <p>

-	 * The following preferences effect whether dirty editors are saved,

-	 * and/or if the user is prompted to save dirty edtiors:<ul>

-	 * <li>PREF_NEVER_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>

-	 * <li>PREF_PROMPT_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>

-	 * <li>PREF_AUTOSAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>

-	 * </ul>

-	 * The following preference effects whether a build is performed before

-	 * launching (if required):<ul>

-	 * <li>PREF_BUILD_BEFORE_LAUNCH</li>

-	 * </ul>

-	 * </p>

-	 * 

-	 * @return whether a launch should proceed

-	 * @since 2.0

-	 */

-	public static boolean saveAndBuildBeforeLaunch() {

-		return DebugUIPlugin.saveAndBuild();

-	}

-	

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java
deleted file mode 100644
index 9bf6547..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.eclipse.debug.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.model.IValue;

-import org.eclipse.jface.viewers.ILabelProvider;

-import org.eclipse.swt.graphics.Image;

-

-/**

- * A debug model presentation is responsible for providing labels, images,

- * and editors associated with debug elements in a specific debug model.

- * Extensions of type <code>org.eclipse.debug.ui.debugModelPresentations</code> implement

- * this interface. Generally, a debug model implementation will also provide a

- * debug model presentation extension to render and display its elements. A debug

- * model presentation is registered for a specific debug model, and is responsible

- * for the presentation elements defined/implemented by that model.

- * <p>

- * A debug model presentation extension is defined in <code>plugin.xml</code>.

- * Following is an example definition of a debug model presentation extension.

- * <pre>

- * &lt;extension point="org.eclipse.debug.ui.debugModelPresentations"&gt;

- *   &lt;debugModelPresentation 

- *      id="com.example.debugModelIdentifier"

- *      class="com.example.ExamplePresentation"

- *      detailsViewerConfiguration="com.example.ExampleSourceViewerConfiguration"&gt;

- *   &lt;/debugModelPresentation&gt;

- * &lt;/extension&gt;

- * </pre>

- * The attributes are specified as follows:

- * <ul>

- * <li><code>id</code> specifies the identifier of the debug model this presentation

- *    is responsible for. Corresponds to the model identifier returned from a debug

- *	element - see <code>IDebugElement.getModelIndentifier</code></li>

- * <li><code>class</code> specifies the fully qualified name of the Java class

- *   that implements this interface.</li>

- * <li><code>detailsViewerConfiguration</code> optionally specifies the fully qualified name of the Java class

- *   that is an instance of <code>org.eclipse.jface.text.source.SourceViewerConfiguration</code>.

- *   When specified, the source viewer configuration will be used in the "details" area of the

- *   variables and expressions view when displaying the details of an element from the

- *   debug model associated with this debug model presentation. When unspecified,

- *   a default configuration is used.</li>

- * </ul>

- * </p>

- * <p>

- * To allow for an extensible configuration, this interface defines

- * a <code>setAttribute</code> method. The debug UI plug-in defines

- * one presentation attribute:

- * <ul>

- *  <li><code>DISPLAY_VARIABLE_TYPE_NAMES</code> - This is a boolean attribute 

- *     indicating whether variable elements should be rendered with the declared

- *     type of a variable. For example, a Java debug model presentation would render

- *     an integer as <code>"int x = 3"</code> when true, and <code>"x = 3"</code>

- *     when false.</li>

- * </ul>

- * </p>

- * <p>

- * Clients may define new presentation attributes. For example, a client may wish

- * to define a "hexadecimal" property to display numeric values in hexadecimal. Implementations

- * should honor the presentation attributes defined by this interface where possible,

- * but do not need to honor presentation attributes defined by other clients.

- * To access the debug model presentation for a debug view, clients should use

- * <code>IDebugView#getPresentation(String)</code>.

- * </p>

- * <p>

- * Clients may implement this interface.

- * </p>

- * @see org.eclipse.debug.core.model.IDebugElement

- * @see org.eclipse.jface.viewers.ILabelProvider

- * @see org.eclipse.debug.ui.IDebugView

- */

-

-public interface IDebugModelPresentation extends ILabelProvider, ISourcePresentation {

-	/** 

-	 * Variable type names presentation property (value <code>"org.eclipse.debug.ui.displayVariableTypeNames"</code>).

-	 * When <code>DISPLAY_VARIABLE_TYPE_NAMES</code> is set to <code>true</code>,

-	 * this label provider should include the reference type of a variable  when rendering

-	 * variables. When set to <code>false</code>, this label provider 

-	 * should not include the reference type of a variable when rendering

-	 * variables.

-	 * @see #setAttribute(String, Object)

-	 */

-	public final static String DISPLAY_VARIABLE_TYPE_NAMES= IDebugUIConstants.PLUGIN_ID + ".displayVariableTypeNames"; //$NON-NLS-1$

-	/**

-	 * Sets a presentation attribute of this label provider. For example,

-	 * see the presentation attribute <code>DISPLAY_VARIABLE_TYPE_NAMES</code>

-	 * defined by this interface.

-	 *

-	 * @param attribute the presentation attribute identifier

-	 * @param value the value of the attribute

-	 */

-	void setAttribute(String attribute, Object value);

-	/**

-	 * Returns an image for the element, or <code>null</code> if a default

-	 * image should be used.

-	 *

-	 * @param element the debug model element

-	 * @return an image for the element, or <code>null</code> if a default

-	 *    image should be used

-	 * @see ILabelProvider

-	 */

-	public Image getImage(Object element);

-	/**

-	 * Returns a label for the element, or <code>null</code> if a default

-	 * label should be used.

-	 *

-	 * @param element the debug model element

-	 * @return a label for the element, or <code>null</code> if a default

-	 *    label should be used

-	 * @see ILabelProvider

-	 */

-	public String getText(Object element);

-	

-	/**

-	 * Computes a detailed description of the given value, reporting

-	 * the result to the specified listener. This allows a presentation

-	 * to provide extra details about a selected value in the variable detail

-	 * portion of the variables view. Since this can be a long-running operation,

-	 * the details are reported back to the specified listener asynchronously.

-	 * If <code>null</code> is reported, the value's value string is displayed

-	 * (<code>IValue.getValueString()</code>).

-	 * 

-	 * @param value the value for which a detailed description

-	 * 	is required

-	 * @param listener the listener to report the details to

-	 * 	asynchronously

-	 * @since 2.0

-	 */

-	void computeDetail(IValue value, IValueDetailListener listener);	

-

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
deleted file mode 100644
index edf6e0e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
+++ /dev/null
@@ -1,632 +0,0 @@
-package org.eclipse.debug.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.internal.ui.DebugUIPlugin;

- 

-/**

- * Constant definitions for debug UI plug-in.

- * <p>

- * Popup menus in the debug UI support action contribution via the

- * <code>org.eclipse.ui.popupMenus</code>  extension. Actions may be

- * contributed to any group on the menu. To facilitate insertion of actions

- * inbetween existing groups, empty groups have been defined

- * in the menu. Each group prefixed by "empty" indicates an empty group.

- * </p>

- * <h3>Debug View Popup Menu</h3>

- * <ul>

- *   <li>Empty edit group</li>

- *   <li>Edit group</li>

- *   <li>Copy stack action</li>

- *   <li>Empty step group</li>

- *   <li>Step group</li>

- *   <li>Step into group</li>

- *   <li>Step into action</li>

- * 	 <li>Step over group</li>

- *   <li>Step over action</li>

- *   <li>Step return group</li> 

- *   <li>Step return action</li>

- *   <li>Empty thread group</li>

- *   <li>Thread group</li>

- *   <li>Resume action</li>

- *   <li>Suspend action</li>

- *   <li>Terminate action</li>

- *   <li>Disconnect action</li>

- *   <li>Empty launch group</li>

- *   <li>Launch group</li>

- *   <li>Remove all terminated action</li>

- *   <li>Terminate and Remove action</li>

- *   <li>Relaunch action</li>

- *   <li>Terminate all action</li>

- *   <li>Empty render group</li>

- *   <li>Render group</li>

- *   <li>Property group</li>

- *   <li>Property dialog action</li>

- *   <li>Additions group</li>

- * </ul>

- * <h3>Variables View Popup Menus</h3>

- * <ul>

- *   <li>Empty variable group</li>

- *   <li>Variable group</li>

- *   <li>Select all action</li>

- *   <li>Copy to clipboard action</li>

- *   <li>Change value action</li>

- *   <li>Empty render group</li>

- *   <li>Render group</li>

- *   <li>Show type names action</li>

- *   <li>Additions group</li>

- * </ul>

- * <h3>Breakpoints View Popup Menu</h3>

- * <ul>

- *   <li>Empty Navigation group</li>

- *   <li>Navigation group</li>

- *   <li>Open action</li>

- *   <li>Empty Breakpoint goup</li>

- *   <li>Breakpoint group</li>

- *   <li>Enable action</li> 

- *   <li>Disable action</li>

- *   <li>Remove action</li>

- *   <li>Remove all action</li>

- *   <li>Empty render group</li>

- *   <li>Render group</li>

- * 	 <li>Show breakpoints for model action</li>

- *   <li>Additions group</li>

- * </ul>

- * <h3>Expressions View Popup Menu</h3>

- * <ul>

- *   <li>Empty Expression group</li>

- *   <li>Expression group</li>

- *   <li>Select all action</li>

- * 	 <li>Copy to clipboard action</li>	 

- *   <li>Remove action</li>

- *   <li>Remove all action</li>

- *   <li>Change variable value action</li>

- *   <li>Empty Render group</li>

- *   <li>Render group</li>

- * 	 <li>Show type names action</li>

- *   <li>Additions group</li>

- * </ul>

- * <p>

- * Constants only; not intended to be implemented or extended.

- * </p>

- */

-

-public interface IDebugUIConstants {

-	

-	/**

-	 * Debug UI plug-in identifier (value <code>"org.eclipse.debug.ui"</code>).

-	 */

-	public static final String PLUGIN_ID = DebugUIPlugin.getUniqueIdentifier();

-	

-	/**

-	 * Debug perspective identifier (value <code>"org.eclipse.debug.ui.DebugPerspective"</code>).

-	 */

-	public static final String ID_DEBUG_PERSPECTIVE = PLUGIN_ID + ".DebugPerspective"; //$NON-NLS-1$

-	

-	/**

-	 * Debug model presentation simple extension point identifier (value <code>"debugModelPresentations"</code>).

-	 */

-	public static final String ID_DEBUG_MODEL_PRESENTATION= "debugModelPresentations"; //$NON-NLS-1$

-		

-	/**

-	 * Constant for referring to no perspective.

-	 */

-	public static final String PERSPECTIVE_NONE = "perspective_none"; //$NON-NLS-1$

-	

-	/**

-	 * Constant for referring to a default perspective.

-	 */

-	public static final String PERSPECTIVE_DEFAULT = "perspective_default"; //$NON-NLS-1$

-

-	// Preferences

-

-	/**

-	 * String preference that identifies the default 'switch to perspective id' when running a 

-	 * launch configuration.  This default is used if a particular launch configuration does not

-	 * override the 'switch to perspective when in run mode' attribute with something else.

-	 */

-	public static final String PREF_SHOW_RUN_PERSPECTIVE_DEFAULT= PLUGIN_ID + ".show_run_perspective_default";  //$NON-NLS-1$

-	

-	/**

-	 * String preference that identifies the default 'switch to perspective id' when debugging a 

-	 * launch configuration.  This default is used if a particular launch configuration does not

-	 * override the 'switch to perspective when in debug mode' attribute with something else.

-	 */

-	public static final String PREF_SHOW_DEBUG_PERSPECTIVE_DEFAULT= PLUGIN_ID + ".show_debug_perspective_default";  //$NON-NLS-1$

-	

-	/**

-	 * Boolean preference controlling whether a build is done before

-	 * launching a program (if one is needed).

-	 */

-	public static final String PREF_BUILD_BEFORE_LAUNCH= PLUGIN_ID + ".build_before_launch"; //$NON-NLS-1$

-	/**

-	 * Identifier for the radio button group that consists of the following three preferences.

-	 */

-	public static final String PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH_RADIO= PLUGIN_ID + ".save_dirty_editors_before_launch_radio"; //$NON-NLS-1$

-	/**

-	 * Radio button preference specifying that dirty editors should be autosaved (no prompting)

-	 * before launching.

-	 */

-	public static final String PREF_AUTOSAVE_DIRTY_EDITORS_BEFORE_LAUNCH= PLUGIN_ID + ".auto_save_dirty_editors_before_launch"; //$NON-NLS-1$

-	/**

-	 * Radio button preference specifying that dirty editors should cause a prompt to appear to the

-	 * user asking if they wish to save.

-	 */

-	public static final String PREF_PROMPT_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH= PLUGIN_ID + ".prompt_save_dirty_editors_before_launch"; //$NON-NLS-1$

-	/**

-	 * Radio button preference specifying that dirty editors should never be saved before launching.

-	 */

-	public static final String PREF_NEVER_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH= PLUGIN_ID + ".never_save_dirty_editors_before_launch"; //$NON-NLS-1$

-	/**

-	 * Boolean preference controlling automatic removal of terminated launches

-	 * when a new launch is registered.

-	 * @since 2.0

-	 */

-	public static final String PREF_AUTO_REMOVE_OLD_LAUNCHES= PLUGIN_ID + ".auto_remove_old_launches"; //$NON-NLS-1$

-		

-	/**

-	 * Boolean preference controlling whether the debugger re-uses non-dirty editors

-	 * that it opens when displaying source. When <code>true</code> the debugger

-	 * re-uses the same editor when showing source for a selected stack frame (unless

-	 * the editor is dirty).

-	 * 

-	 * @since 2.0

-	 */

-	public static final String PREF_REUSE_EDITOR = PLUGIN_ID + ".reuse_editor"; //$NON-NLS-1$

-	

-	/**

-	 * Integer preference that specifies the length of the Run & Debug launch history lists.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String PREF_MAX_HISTORY_SIZE = PLUGIN_ID + ".max_history_size"; //$NON-NLS-1$

-	

-	/**

-	 * Boolean preference controlling whether the debugger shows types names

-	 * in its variable view. When <code>true</code> the debugger

-	 * will display type names in new variable views.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String PREF_SHOW_TYPE_NAMES = PLUGIN_ID + ".show_type_names"; //$NON-NLS-1$	

-	

-	/**

-	 * Boolean preference controlling whether the debugger shows the detail pane

-	 * in its variable view. When <code>true</code> the debugger

-	 * will show the detail panes in new variable views.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String PREF_SHOW_DETAIL_PANE = PLUGIN_ID + ".show_detail_pane"; //$NON-NLS-1$	

-		

-	// Debug views

-	

-	/**

-	 * Debug view identifier (value <code>"org.eclipse.debug.ui.DebugView"</code>).

-	 */

-	public static final String ID_DEBUG_VIEW= "org.eclipse.debug.ui.DebugView"; //$NON-NLS-1$

-	

-	/**

-	 * Breakpoint view identifier (value <code>"org.eclipse.debug.ui.BreakpointView"</code>).

-	 */

-	public static final String ID_BREAKPOINT_VIEW= "org.eclipse.debug.ui.BreakpointView"; //$NON-NLS-1$

-	

-	/**

-	 * Variable view identifier (value <code>"org.eclipse.debug.ui.VariableView"</code>).

-	 */

-	public static final String ID_VARIABLE_VIEW= "org.eclipse.debug.ui.VariableView"; //$NON-NLS-1$

-	

-	/**

-	 * Expression view identifier (value <code>"org.eclipse.debug.ui.ExpressionView"</code>).

-	 * @since 2.0

-	 */

-	public static final String ID_EXPRESSION_VIEW= "org.eclipse.debug.ui.ExpressionView"; //$NON-NLS-1$

-		

-	/**

-	 * Console view identifier (value <code>"org.eclipse.debug.ui.ConsoleView"</code>).

-	 */

-	public static final String ID_CONSOLE_VIEW= "org.eclipse.debug.ui.ConsoleView"; //$NON-NLS-1$

-

-	// Extension points

-	

-	/**

-	 * Extension point for launch configuration type images.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPE_IMAGES = "launchConfigurationTypeImages"; //$NON-NLS-1$

-	

-	// Debug Action images

-	

-	/**

-	 * Debug action image identifier.

-	 */

-	public static final String IMG_ACT_DEBUG= "IMG_ACT_DEBUG"; //$NON-NLS-1$

-

-	/**

-	 * Run action image identifier.

-	 */

-	public static final String IMG_ACT_RUN= "IMG_ACT_RUN"; //$NON-NLS-1$

-	

-	/** Clear action image identifier. */

-	public static final String IMG_LCL_CLEAR= "IMG_LCL_CLEAR"; //$NON-NLS-1$

-	

-	/** Display variable type names action image identifier. */

-	public static final String IMG_LCL_TYPE_NAMES= "IMG_LCL_TYPE_NAMES"; //$NON-NLS-1$

-	

-	/** Toggle detail pane action image identifier.*/

-	public static final String IMG_LCL_DETAIL_PANE= "IMG_LCL_DETAIL_PANE"; //$NON-NLS-1$

-	

-	/** Change variable value action image identifier.*/

-	public static final String IMG_LCL_CHANGE_VARIABLE_VALUE= "IMG_LCL_CHANGE_VARIABLE_VALUE"; //$NON-NLS-1$

-	

-	/**

-	 * Disconnect action image identifier

-	 * 

-	 * @since 2.0

-	 */

-	public static final String IMG_LCL_DISCONNECT= "IMG_LCL_DISCONNECT"; //$NON-NLS-1$

-	

-	/**

-	 * Content assist action image identifier.

-	 */

-	public static final String IMG_LCL_CONTENT_ASSIST= "IMG_LCL_CONTENT_ASSIST"; //$NON-NLS-1$

-	public static final String IMG_ELCL_CONTENT_ASSIST= "IMG_ELCL_CONTENT_ASSIST"; //$NON-NLS-1$

-	public static final String IMG_DLCL_CONTENT_ASSIST= "IMG_DLCL_CONTENT_ASSIST"; //$NON-NLS-1$

-	

-	// Debug element images

-	

-	/** Debug mode launch image identifier. */

-	public static final String IMG_OBJS_LAUNCH_DEBUG= "IMG_OBJS_LAUNCH_DEBUG"; //$NON-NLS-1$

-	

-	/** Run mode launch image identifier. */

-	public static final String IMG_OBJS_LAUNCH_RUN= "IMG_OBJS_LAUNCH_RUN"; //$NON-NLS-1$

-	

-	/** Terminated run mode launch image identifier. */

-	public static final String IMG_OBJS_LAUNCH_RUN_TERMINATED= "IMG_OBJS_LAUNCH_RUN_TERMINATED"; //$NON-NLS-1$

-	

-	/** Running debug target image identifier. */

-	public static final String IMG_OBJS_DEBUG_TARGET= "IMG_OBJS_DEBUG_TARGET"; //$NON-NLS-1$

-	

-	/** Terminated debug target image identifier. */

-	public static final String IMG_OBJS_DEBUG_TARGET_TERMINATED= "IMG_OBJS_DEBUG_TARGET_TERMINATED"; //$NON-NLS-1$

-	

-	/** Running thread image identifier. */

-	public static final String IMG_OBJS_THREAD_RUNNING= "IMG_OBJS_THREAD_RUNNING"; //$NON-NLS-1$

-	

-	/** Suspended thread image identifier. */

-	public static final String IMG_OBJS_THREAD_SUSPENDED= "IMG_OBJS_THREAD_SUSPENDED"; //$NON-NLS-1$

-	

-	/** Terminated thread image identifier. */

-	public static final String IMG_OBJS_THREAD_TERMINATED= "IMG_OBJS_THREAD_TERMINATED"; //$NON-NLS-1$

-	

-	/** Stack frame (suspended) image identifier. */

-	public static final String IMG_OBJS_STACKFRAME= "IMG_OBJS_STACKFRAME"; //$NON-NLS-1$

-	

-	/** Stack frame (running) image identifier. */

-	public static final String IMG_OBJS_STACKFRAME_RUNNING= "IMG_OBJS_STACKFRAME_RUNNING"; //$NON-NLS-1$

-	

-	/** Enabled breakpoint image identifier. */

-	public static final String IMG_OBJS_BREAKPOINT= "IMG_OBJS_BREAKPOINT"; //$NON-NLS-1$

-	

-	/** Disabled breakpoint image identifier. */

-	public static final String IMG_OBJS_BREAKPOINT_DISABLED= "IMG_OBJS_BREAKPOINT_DISABLED"; //$NON-NLS-1$

-		

-	/** Running system process image identifier. */

-	public static final String IMG_OBJS_OS_PROCESS= "IMG_OBJS_OS_PROCESS"; //$NON-NLS-1$

-	

-	/** Terminated system process image identifier. */

-	public static final String IMG_OBJS_OS_PROCESS_TERMINATED= "IMG_OBJS_OS_PROCESS_TERMINATED"; //$NON-NLS-1$

-

-	/**

-	 * Expression image identifier.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String IMG_OBJS_EXPRESSION= "IMG_OBJS_EXPRESSION"; //$NON-NLS-1$

-	

-	/**

-	 * Generic variable image identifier.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String IMG_OBJS_VARIABLE= "IMG_OBJS_VARIABLE"; //$NON-NLS-1$

-

-	// views

-	

-	/** 

-	 * Launches view image identifier

-	 * 

-	 * @since 2.0

-	 */

-	public static final String IMG_VIEW_LAUNCHES= "IMG_VIEW_LAUNCHES"; //$NON-NLS-1$

-	

-	/** 

-	 * Breakpoints view image identifier

-	 * 

-	 * @since 2.0

-	 */

-	public static final String IMG_VIEW_BREAKPOINTS= "IMG_VIEW_BREAKPOINTS"; //$NON-NLS-1$	

-

-	/** 

-	 * Variables view image identifier

-	 * 

-	 * @since 2.0

-	 */

-	public static final String IMG_VIEW_VARIABLES= "IMG_VIEW_VARIABLES"; //$NON-NLS-1$

-	

-	/** 

-	 * Expressions view image identifier

-	 * 

-	 * @since 2.0

-	 */

-	public static final String IMG_VIEW_EXPRESSIONS= "IMG_VIEW_EXPRESSIONS"; //$NON-NLS-1$	

-

-	/** 

-	 * Console view image identifier

-	 * 

-	 * @since 2.0

-	 */

-	public static final String IMG_VIEW_CONSOLE= "IMG_VIEW_CONSOLE"; //$NON-NLS-1$

-	

-	// perspective

-	/** 

-	 * Debug perspective image identifier

-	 * 

-	 * @since 2.0

-	 */

-	public static final String IMG_PERSPECTIVE_DEBUG= "IMG_PERSPECTIVE_DEBUG"; //$NON-NLS-1$			

-			

-	// wizard banners

-	/** Debug wizard banner image identifier. */

-	public static final String IMG_WIZBAN_DEBUG= "IMG_WIZBAN_DEBUG"; //$NON-NLS-1$

-	

-	/** Run wizard banner image identifier. */

-	public static final String IMG_WIZBAN_RUN= "IMG_WIZBAN_RUN"; //$NON-NLS-1$

-	

-	// overlays

-	/** Error overlay image identifier. */

-	public static final String IMG_OVR_ERROR = "IMG_OVR_ERROR";  //$NON-NLS-1$

-

-	/**

-	 * Debug action set identifier (value <code>"org.eclipse.debug.ui.debugActionSet"</code>).

-	 */

-	public static final String DEBUG_ACTION_SET= PLUGIN_ID + ".debugActionSet"; //$NON-NLS-1$

-	

-	/**

-	 * Launch action set identifier (value <code>"org.eclipse.debug.ui.LaunchActionSet"</code>).

-	 */

-	public static final String LAUNCH_ACTION_SET= PLUGIN_ID + ".launchActionSet"; //$NON-NLS-1$

-	

-	// menus 

-	

-	/** 

-	 * Identifier for an empty group preceding an

-	 * edit group in a menu (value <code>"emptyEditGroup"</code>).

-	 */

-	public static final String EMPTY_EDIT_GROUP = "emptyEditGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for an edit group in a menu (value <code>"editGroup"</code>).

-	 */

-	public static final String EDIT_GROUP = "editGroup"; //$NON-NLS-1$

-	

-	/** 

-	 * Identifier for an empty group preceding a

-	 * step group in a menu (value <code>"emptyStepGroup"</code>).

-	 */

-	public static final String EMPTY_STEP_GROUP = "emptyStepGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for a step group in a menu or toolbar (value <code>"stepGroup"</code>).

-	 */

-	public static final String STEP_GROUP = "stepGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for a step into group in a menu or toolbar (value <code>"stepIntoGroup"</code>).

-	 */

-	public static final String STEP_INTO_GROUP = "stepIntoGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for a step over group in a menu or toolbar (value <code>"stepOverGroup"</code>).

-	 */

-	public static final String STEP_OVER_GROUP = "stepOverGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for a step return group in a menu or toolbar (value <code>"stepReturnGroup"</code>).

-	 */

-	public static final String STEP_RETURN_GROUP = "stepReturnGroup"; //$NON-NLS-1$

-	

-	/** 

-	 * Identifier for an empty group preceding a

-	 * thread group in a menu (value <code>"emptyThreadGroup"</code>).

-	 */

-	public static final String EMPTY_THREAD_GROUP = "emptyThreadGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for a thread group in a menu or toolbar(value <code>"threadGroup"</code>).

-	 */

-	public static final String THREAD_GROUP = "threadGroup"; //$NON-NLS-1$

-	

-	/** 

-	 * Identifier for an empty group preceding a

-	 * launch group in a menu (value <code>"emptyLaunchGroup"</code>).

-	 */

-	public static final String EMPTY_LAUNCH_GROUP = "emptyLaunchGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for a launch group in a menu (value <code>"launchGroup"</code>).

-	 */

-	public static final String LAUNCH_GROUP = "launchGroup"; //$NON-NLS-1$

-	

-	/** 

-	 * Identifier for an empty group preceding a

-	 * variable group in a menu (value <code>"emptyVariableGroup"</code>).

-	 */

-	public static final String EMPTY_VARIABLE_GROUP = "emptyVariableGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for a variable group in a menu (value <code>"variableGroup"</code>).

-	 */

-	public static final String VARIABLE_GROUP = "variableGroup"; //$NON-NLS-1$

-	

-	/** 

-	 * Identifier for an empty group preceding a

-	 * navigation group in a menu (value <code>"emptyNavigationGroup"</code>).

-	 */

-	public static final String EMPTY_NAVIGATION_GROUP = "emptyNavigationGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for a navigation group in a menu (value <code>"navigationGroup"</code>).

-	 */

-	public static final String NAVIGATION_GROUP = "navigationGroup"; //$NON-NLS-1$

-	

-	/** 

-	 * Identifier for an empty group preceding a

-	 * breakpoint group in a menu (value <code>"emptyBreakpointGroup"</code>).

-	 */

-	public static final String EMPTY_BREAKPOINT_GROUP = "emptyBreakpointGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for a breakpoint group in a menu (value <code>"breakpointGroup"</code>).

-	 */

-	public static final String BREAKPOINT_GROUP = "breakpointGroup"; //$NON-NLS-1$

-	

-	/** 

-	 * Identifier for an empty group preceding an

-	 * expression group in a menu (value <code>"emptyExpressionGroup"</code>).

-	 * 

-	 * @since 2.0

-	 */

-	public static final String EMPTY_EXPRESSION_GROUP = "emptyExpressionGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for an expression group in a menu (value <code>"expressionGroup"</code>).

-	 * 

-	 * @since 2.0

-	 */

-	public static final String EXPRESSION_GROUP = "expressionGroup"; //$NON-NLS-1$

-	/** 

-	 * Identifier for an empty group preceding a

-	 * render group in a menu (value <code>"emptyRenderGroup"</code>).

-	 */

-	public static final String EMPTY_RENDER_GROUP = "emptyRenderGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for a render group in a menu or toolbar(value <code>"renderGroup"</code>).

-	 */

-	public static final String RENDER_GROUP = "renderGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Identifier for a property group in a menu (value <code>"propertyGroup"</code>).

-	 */

-	public static final String PROPERTY_GROUP = "propertyGroup"; //$NON-NLS-1$

-	

-	/**

-	 * Id for the popup menu associated with the variables (tree viewer) part of the VariableView

-	 */

-	public static final String VARIABLE_VIEW_VARIABLE_ID = "org.eclipse.debug.ui.VariableView.variables"; //$NON-NLS-1$

-	

-	/**

-	 * Id for the popup menu associated with the detail (text viewer) part of the VariableView

-	 */

-	public static final String VARIABLE_VIEW_DETAIL_ID = "org.eclipse.debug.ui.VariableView.detail"; //$NON-NLS-1$

-	

-	// status codes

-	/**

-	 * Status indicating an invalid extension definition.

-	 */

-	public static final int STATUS_INVALID_EXTENSION_DEFINITION = 100;

-	

-	/**

-	 * Status code indicating an unexpected internal error.

-	 */

-	public static final int INTERNAL_ERROR = 120;		

-	

-	// launch configuration attribute keys

-	/**

-	 * Launch configuartion attribute - the perspective to

-	 * switch to when a launch configuration is launched in

-	 * run mode (value <code>org.eclipse.debug.ui.target_run_perspective</code>).

-	 * Value is a string corresponding to a perspective identifier,

-	 * or <code>null</code> indicating no perspective change.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String ATTR_TARGET_RUN_PERSPECTIVE = PLUGIN_ID + ".target_run_perspective";	 //$NON-NLS-1$

-	

-	/**

-	 * Launch configuartion attribute - the perspective to

-	 * switch to when a launch configuration is launched in

-	 * debug mode (value <code>org.eclipse.debug.ui.target_debug_perspective</code>).

-	 * Value is a string corresponding to a perspective identifier,

-	 * or <code>null</code> indicating no perspective change.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String ATTR_TARGET_DEBUG_PERSPECTIVE = PLUGIN_ID + ".target_debug_perspective";		 //$NON-NLS-1$

-	

-	/**

-	 * Launch configuration attribute - the container where the configuration file

-	 * is stored.  The container is set via the 'setContainer()' call on ILaunchConfigurationWorkingCopy.

-	 * This constant is only needed for persisting and reading the default value of the

-	 * container value for individual resources.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String ATTR_CONTAINER = PLUGIN_ID + ".container"; //$NON-NLS-1$

-	

-	/**

-	 * Launch configuration attribute - a boolean value that indicates if the launch configuration

-	 * is 'private'.  A private configuration is one that does not appear to the user in the launch

-	 * history or the launch configuration dialog.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String ATTR_PRIVATE = PLUGIN_ID + ".private"; //$NON-NLS-1$

-	

-	/**

-	 * Launch configuration attribute - a boolean value that indicates if the launch configuration

-	 * is displayed in the debug favorites menu. Default value is

-	 * <code>false</code> if absent.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String ATTR_DEBUG_FAVORITE = PLUGIN_ID + ".debugFavorite"; //$NON-NLS-1$	

-	

-	/**

-	 * Launch configuration attribute - a boolean value that indicates if the launch configuration

-	 * is displayed in the run favorites menu.Default value is

-	 * <code>false</code> if absent.

-	 * 

-	 * @since 2.0

-	 */

-	public static final String ATTR_RUN_FAVORITE = PLUGIN_ID + ".runFavorite"; //$NON-NLS-1$		

-	

-	/**

-	 * Debug action groups extension point identifier

-	 * (value <code>"debugActionGroups"</code>).

-	 * 

-	 * @since 2.0

-	 */

-	public static final String EXTENSION_POINT_DEBUG_ACTION_GROUPS= "debugActionGroups";	 //$NON-NLS-1$

-	

-	/**

-	 * Launch configuration tab groups extension point identifier

-	 * (value <code>"launchConfigurationTabGroups"</code>).

-	 * 

-	 * @since 2.0

-	 */

-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TAB_GROUPS= "launchConfigurationTabGroups";	 //$NON-NLS-1$	

-

-	/**

-	 * Launch shortcuts extension point identifier

-	 * (value <code>"launchShortcuts"</code>).

-	 * 

-	 * @since 2.0

-	 */

-	public static final String EXTENSION_POINT_LAUNCH_SHORTCUTS= "launchShortcuts";	 //$NON-NLS-1$	

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java
deleted file mode 100644
index 405b17f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package org.eclipse.debug.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.action.IMenuManager;

-import org.eclipse.jface.viewers.Viewer;

-import org.eclipse.ui.IViewPart;

-import org.eclipse.ui.texteditor.ITextEditorActionConstants;

-import org.eclipse.ui.texteditor.IUpdate;

-

-/**

- * Common function for debug views. Provides access to the underlying viewer and

- * debug model presentation being used by a viewer. This allows clients to do

- * such things as add and remove filters to a viewer, and configure a debug

- * model presentation.

- * <p>

- * Clients may implement this interface. Generally, clients should subclass

- * <code>AbstractDebugView</code> when creating a new debug view.

- * </p>

- * @see org.eclipse.core.runtime.IAdaptable

- * @see org.eclipse.debug.ui.IDebugModelPresentation

- * @see org.eclipse.debug.ui.AbstractDebugView

- * @since 2.0

- */

-

-public interface IDebugView extends IViewPart {

-	

-	/**

-	 * Action id for a view's copy action. Any view

-	 * with a copy action that should be invoked when

-	 * ctrl+c is pressed should store their

-	 * copy action with this key.

-	 * 

-	 * @see #setAction(String, IAction)

-	 */

-	public static final String COPY_ACTION = ITextEditorActionConstants.COPY;

-

-	/**

-	 * Action id for a view's cut action. Any view

-	 * with a cut action that should be invoked when

-	 * ctrl+x is pressed should store their

-	 * copy action with this key.

-	 * 

-	 * @see #setAction(String, IAction)

-	 */

-	public static final String CUT_ACTION = ITextEditorActionConstants.CUT;

-

-	/**

-	 * Action id for a view's double-click action. Any view

-	 * with an action that should be invoked when

-	 * the mouse is double-clicked should store their

-	 * action with this key.

-	 * 

-	 * @see #setAction(String, IAction)

-	 */

-	public static final String DOUBLE_CLICK_ACTION = "Double_Click_ActionId";	 //$NON-NLS-1$

-

-	/**

-	 * Action id for a view's find action. Any view

-	 * with a find action that should be invoked when

-	 * ctrl+f is pressed should store their

-	 * copy action with this key.

-	 * 

-	 * @see #setAction(String, IAction)

-	 */

-	public static final String FIND_ACTION = ITextEditorActionConstants.FIND;

-

-	/**

-	 * Action id for a view's paste action. Any view

-	 * with a paste action that should be invoked when

-	 * ctrl+v is pressed should store their

-	 * copy action with this key.

-	 * 

-	 * @see #setAction(String, IAction)

-	 */

-	public static final String PASTE_ACTION = ITextEditorActionConstants.PASTE;

-

-	/**

-	 * Action id for a view's remove action. Any view

-	 * with a remove action that should be invoked when

-	 * the delete key is pressed should store their

-	 * remove action with this key.

-	 * 

-	 * @see #setAction(String, IAction)

-	 */

-	public static final String REMOVE_ACTION = "Remove_ActionId"; //$NON-NLS-1$

-

-	/**

-	 * Action id for a view's select all action. Any view

-	 * with a select all action that should be invoked when

-	 * ctrl+a is pressed should store their

-	 * select all action with this key.

-	 * 

-	 * @see #setAction(String, IAction)

-	 */

-	public static final String SELECT_ALL_ACTION = ITextEditorActionConstants.SELECT_ALL;

-	

-	/**

-	 * Returns the viewer contained in this debug view.

-	 *

-	 * @return viewer

-	 */

-	public Viewer getViewer();

-	

-	/**

-	 * Returns the debug model presentation for this view specified

-	 * by the debug model identifier.

-	 *

-	 * @param id the debug model identifier that corresponds to the <code>id</code>

-	 *     attribute of a debug model presentation extension

-	 * @return the debug model presentation, or <code>null</code> if no

-	 *     presentation is registered for the specified id

-	 */

-	public IDebugModelPresentation getPresentation(String id);

-	

-	/**

-	 * Installs the given action under the given action id.

-	 *

-	 * If the action has an id that maps to one of the global

-	 * action ids defined by this interface, the action is registered 

-	 * as a global action handler.

-	 *

-	 * If the action is an instance of <code>IUpdate</code> it is added/remove

-	 * from the collection of updateables associated with this view.

-	 * 

-	 * @param actionId the action id

-	 * @param action the action, or <code>null</code> to clear it

-	 * @see #getAction

-	 */

-	public void setAction(String actionID, IAction action);

-	

-	/**

-	 * Adds the given IUpdate to this view's collection of updatable

-	 * objects.  Allows the view to periodically update these registered

-	 * objects.  

-	 * Has no effect if an identical IUpdate is already registered.

-	 * 

-	 * @param updatable The IUpdate instance to be added

-	 */

-	public void add(IUpdate updatable);

-	

-	/**

-	 * Removes the given IUpdate from this view's collection of updatable

-	 * objects.

- 	 * Has no effect if an identical IUpdate was not already registered.

- 	 * 

-	 * @param updatable The IUpdate instance to be removed

-	 */

-	public void remove(IUpdate updatable);

-	

-	/**

-	 * Returns the action installed under the given action id.

-	 *

-	 * @param actionId the action id

-	 * @return the action, or <code>null</code> if none

-	 * @see #setAction

-	 */

-	public IAction getAction(String actionID);

-	

-	/**

-	 * Returns the context menu manager for this view.

-	 *

-	 * @return the context menu manager for this view, or <code>null</code> if none

-	 */

-	public IMenuManager getContextMenuManager();

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java
deleted file mode 100644
index 2db8878..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.debug.ui;

-

-import org.eclipse.jface.operation.IRunnableContext;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

- /**

-  * A launch configuration dialog is used to edit and launch

-  * launch configurations. It contains a launch configuration

-  * tab group.

-  * 

-  * @see ILaunchConfigurationTabGroup

-  * @see ILaunchConfigurationTab

-  * @since 2.0

-  */

-

-public interface ILaunchConfigurationDialog extends IRunnableContext {

-	

-	/**

-	 * Return value from <code>open()</code> method of a

-	 * launch configuration dialog when a launch completed

-	 * successfully with a single click (i.e. without opening a

-	 * launch configuration dialog).

-	 */

-	public static final int LAUNCHED_BEFORE_OPENING = 2;

-			

-	/**

-	 * Adjusts the enable state of this dialog's buttons

-	 * to reflect the state of the active tab group.

-	 * <p>

-	 * This may be called by to force a button state

-	 * update.

-	 * </p>

-	 */

-	public void updateButtons();

-	

-	/**

-	 * Updates the message (or error message) shown in the message line to 

-	 * reflect the state of the currently active tab in this launch

-	 * configuration dialog.

-	 * <p>

-	 * This method may be called to force a message 

-	 * update.

-	 * </p>

-	 */

-	public void updateMessage();

-	

-	/**

-	 * Sets the contents of the name field to the given name.

-	 * 

-	 * @param name new name value

-	 */ 

-	public void setName(String name);

-	

-	/**

-	 * Returns a unique launch configuration name, using the given name

-	 * as a seed.

-	 * 

-	 * @param name seed from which to generate a new unique name

-	 */ 

-	public String generateName(String name);

-	

-	/**

-	 * Returns the tabs currently being displayed, or

-	 * <code>null</code> if none.

-	 * 

-	 * @return currently displayed tabs, or <code>null</code>

-	 */

-	public ILaunchConfigurationTab[] getTabs();

-	

-	/**

-	 * Returns the currently active <code>ILaunchConfigurationTab</code>

-	 * being displayed, or <code>null</code> if there is none.

-	 * 

-	 * @return currently active <code>ILaunchConfigurationTab</code>, or <code>null</code>.

-	 */

-	public ILaunchConfigurationTab getActiveTab();

-	

-	/**

-	 * Returns the mode in which this dialog was opened -

-	 * run or debug.

-	 * 

-	 * @return one of <code>RUN_MODE</code> or <code>DEBUG_MODE</code> defined in <code>ILaunchManager</code>

-	 * @see ILaunchManager

-	 */

-	public String getMode();		

-		

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java
deleted file mode 100644
index ab2e77e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package org.eclipse.debug.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.ILaunch;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Control;

- 

-/**

- * A launch configuration tab is used to edit/view attributes

- * of a specific type of launch configuration. Launch

- * configurations are presented in a dialog, with a tab folder.

- * Each tab manipulates one ore more attributes of a launch

- * configuration. 

- * <p>

- * The tab's lifecycle begins when <code>setLaunchConfigurationDialog(ILaunchConfigurationDialog)</code>

- * is called. A tab may then be asked repeatedly to initialize its

- * controls to display values for a launch configuration (see

- * <code>initializeFrom(ILaunchConfiguration)</code>), and to

- * apply its current settings to a launch configuration (see

- * <code>performApply(ILaunchConfigurationWorkingCopy)</code>).

- * While a user manipulates a tab's controls, the tab is not

- * intended to update a launch configuration. Updating a launch

- * configuration should only be performed when <code>performApply</code>

- * is called. To end a tab's lifecyle, <code>dispose()</code> will

- * be called. Note that a tab can be disposed before its control

- * has been created.

- * </p>

- * <p>

- * To support single-click launching, tabs are required to initialize

- * default values into launch configurations (possibly when their controls

- * have not been created). See <code>setDefault(ILaunchConfigurationWorkingCopy)</code>.

- * As well, the method <code>launched</code> can be called when the tab's

- * control does not exist.

- * </p>

- * <p>

- * This interface is intended to be implemented by clients.

- * </p>

- * @see org.eclipse.debug.core.ILaunchConfigurationType

- * @see org.eclipse.debug.core.ILaunchConfiguration

- * @since 2.0

- */

-public interface ILaunchConfigurationTab {

-

-	/**

-	 * Creates the top level control for this launch configuration

-	 * tab under the given parent composite.  This method is called once on

-	 * tab creation, after <code>setLaunchConfigurationDialog</code>

-	 * is called.

-	 * <p>

-	 * Implementors are responsible for ensuring that

-	 * the created control can be accessed via <code>getControl</code>

-	 * </p>

-	 *

-	 * @param parent the parent composite

-	 */

-	public void createControl(Composite parent);

-	

-	/**

-	 * Returns the top level control for this tab.

-	 * <p>

-	 * May return <code>null</code> if the control

-	 * has not been created yet.

-	 * </p>

-	 *

-	 * @return the top level control or <code>null</code>

-	 */

-	public Control getControl();	

-	

-	/**

-	 * Initializes the given launch configuration with

-	 * default values for this tab. This method

-	 * is called when a new launch configuration is created

-	 * such that the configuration can be initialized with

-	 * meaningful values. This method may be called before this

-	 * tab's control is created, to support single-click launching.

-	 * 

-	 * @param configuration launch configuration

-	 */

-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration);	

-	

-	/**

-	 * Initializes this tab's controls with values from the given

-	 * launch configuration. This method is called when

-	 * a configuration is selected to view or edit, after this

-	 * tab's control has been created.

-	 * 

-	 * @param configuration launch configuration

-	 */

-	public void initializeFrom(ILaunchConfiguration configuration);		

-	

-	/**

-	 * Notifies this launch configuration tab that it has

-	 * been disposed. Marks the end of this tab's lifecycle,

-	 * allowing this tab to perform any cleanup required.

-	 */

-	public void dispose();

-	

-	/**

-	 * Copies values from this tab into the given 

-	 * launch configuration.

-	 * 

-	 * @param configuration launch configuration

-	 */

-	public void performApply(ILaunchConfigurationWorkingCopy configuration);

-	

-	/**

-	 * Returns the current error message for this tab.

-	 * May be <code>null</code> to indicate no error message.

-	 * <p>

-	 * An error message should describe some error state,

-	 * as opposed to a message which may simply provide instruction

-	 * or information to the user.

-	 * </p>

-	 * 

-	 * @return the error message, or <code>null</code> if none

-	 */

-	public String getErrorMessage();

-	

-	/**

-	 * Returns the current message for this tab.

-	 * <p>

-	 * A message provides instruction or information to the 

-	 * user, as opposed to an error message which should 

-	 * describe some error state.

-	 * </p>

-	 * 

-	 * @return the message, or <code>null</code> if none

-	 */

-	public String getMessage();	

-	

-	/**

-	 * Returns whether this tab is in a valid state in the context of the specified launch configuration.

-	 * <p>

-	 * This information is typically used by the launch configuration

-	 * dialog to decide when it is okay to launch.

-	 * </p>

-	 *

-	 * @param launchConfig launch configuration which provides context for validating this tab.

-	 *         This value must not be <code>null</code>.

-	 *

-	 * @return whether this tab is in a valid state

-	 */

-	public boolean isValid(ILaunchConfiguration launchConfig);

-	

-	/**

-	 * Returns whether this tab is in a state that allows the launch configuration whose values

-	 * this tab is showing to be saved.  This differs from <code>isValid()</code> in that <code>canSave()</code>

-	 * determines if this tab prevents the current launch configuration from being saved, whereas

-	 * <code>isValid()</code> determines if this tab prevents the current launch configuration from

-	 * being launched.

-	 * 

-	 * <p>

-	 * This information is typically used by the launch configuration

-	 * dialog to decide when it is okay to save a launch configuration.

-	 * </p>

-	 * 

-	 * @return whether this tab is in a state that allows the current launch configuration to be saved

-	 */

-	public boolean canSave();

-	

-	/**

-	 * Sets the launch configuration dialog that hosts this tab.

-	 * This is the first method called on a launch configuration

-	 * tab, and marks the beginning of this tab's lifecycle.

-	 * 

-	 * @param dialog launch configuration dialog

-	 */

-	public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog);

-	

-	/**

-	 * Notifies this tab that the specified configuration has been

-	 * launched, resulting in the given launch. This method can be

-	 * called when a tab's control does not exist, to support single-click

-	 * launching.

-	 * 

-	 * @param launch the result of launching the current

-	 *  launch configuration

-	 */

-	public void launched(ILaunch launch);

-	

-	/**

-	 * Returns the name of this tab.

-	 * 

-	 * @return the name of this tab

-	 */

-	public String getName();

-	

-	/**

-	 * Returns the image for this tab, or <code>null</code> if none

-	 * 

-	 * @return the image for this tab, or <code>null</code> if none

-	 */

-	public Image getImage();	

-}

-

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java
deleted file mode 100644
index 6315223..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package org.eclipse.debug.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
- 
-/**
- * A launch configuration tab group is used to edit/view attributes
- * of a specific type of launch configuration. Launch
- * configurations are presented in a dialog, with a tab folder.
- * Each tab manipulates one or more attributes of a launch
- * configuration. The tab group controls which tabs are
- * displayed for a specific type of launch configuration,
- * and provides a mechanism for overriding configuration
- * initialization performed by tabs.
- * <p>
- * The tab group's lifecycle begins when <code>createTabs(ILaunchConfigurationDialog, String)</code>
- * is called. A tab group may then be asked repeatedly to initialize its
- * tabs to display values for a launch configuration (see
- * <code>initializeFrom(ILaunchConfiguration)</code>), and to
- * apply its current settings to a launch configuration (see
- * <code>performApply(ILaunchConfigurationWorkingCopy)</code>).
- * While a user manipulates a tab's controls, the tab is not
- * intended to update a launch configuration. Updating a launch
- * configuration should only be performed when <code>performApply</code>
- * is called. To end a tab group's lifecyle, <code>dispose()</code> will
- * be called. Note that a tab group can be disposed before its controls
- * have been created.
- * </p>
- * When a user leaves a tab, a tab is asked to apply its current settings
- * to a launch configuration working copy. When a tab is entered, it is
- * asked to initialize itself from a working copy. This mechanism is used
- * to support inter-tab dependencies.
- * <p>
- * To support single-click launching, a tab group is required to initialize
- * default values into launch configurations (possibly when controls
- * have not been created). See <code>setDefaults(ILaunchConfigurationWorkingCopy)</code>.
- * As well, the method <code>launched</code> can be called when the tab's
- * control does not exist.
- * </p>
- * <p>
- * A launch configuration group extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a launch configuration
- * group extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.ui.launchConfigurationTabGroups"&gt;
- *   &lt;launchConfigurationTabGroup 
- *      id="com.example.ExampleTabGroup"
- *      type="com.example.ExampleLaunchConfigurationTypeIdentifier"
- *      class="com.example.ExampleLaunchConfigurationTabGroupClass"&gt;
- *   &lt;/launchConfigurationTabGroup&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this launch configuration
- *  tab group.</li>
- * <li><code>type</code> specifies launch configuration type that this tab
- *  group is applicable to (corresponds to the id of a launch configuration type
- *  extension).</li>
- * <li><code>class</code> specifies a fully qualified name of a Java class
- *  that implements <code>ILaunchConfigurationTabGroup</code>.</li>
- * </ul>
- * </p>
- * <p>
- * This interface is intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.ILaunchConfigurationType
- * @see org.eclipse.debug.core.ILaunchConfiguration
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab
- * @since 2.0
- */
-public interface ILaunchConfigurationTabGroup {
-
-	/**
-	 * Creates the tabs contained in this tab group for the specified
-	 * launch mode. The tabs control's are not created. This is the
-	 * fist method called in the lifecycle of a tab group.
-	 * 
-	 * @param dialog the launch configuration dialog this tab group
-	 *  is contained in
-	 * @param mode the mode the launch configuration dialog was
-	 *  opened in
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode);
-	
-	/**
-	 * Returns the tabs contained in this tab group.
-	 * 
-	 * @return the tabs contained in this tab group
-	 */
-	public ILaunchConfigurationTab[] getTabs();
-
-	/**
-	 * Notifies this launch configuration tab group that it has
-	 * been disposed, and disposes this group's tabs. Marks the end
-	 * of this tab group's lifecycle, allowing this tab group to
-	 * perform any cleanup required.
-	 */
-	public void dispose();
-			
-	/**
-	 * Initializes the given launch configuration with
-	 * default values for this tab group. This method
-	 * is called when a new launch configuration is created
-	 * such that the configuration can be initialized with
-	 * meaningful values. This method may be called before
-	 * tab controls are created, to support single-click launching.
-	 * 
-	 * @param configuration launch configuration
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration);	
-	
-	/**
-	 * Initializes this group's tab controls with values from the given
-	 * launch configuration. This method is called when
-	 * a configuration is selected to view or edit.
-	 * 
-	 * @param configuration launch configuration
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration);		
-		
-	/**
-	 * Copies values from this group's tabs into the given 
-	 * launch configuration.
-	 * 
-	 * @param configuration launch configuration
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration);
-	
-	/**
-	 * Notifies this tab that a configuration has been
-	 * launched, resulting in the given launch. This method can be
-	 * called when a tab's control does not exist, to support single-click
-	 * launching.
-	 * 
-	 * @param launch the result of launching the current
-	 *  launch configuration
-	 */
-	public void launched(ILaunch launch);
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java
deleted file mode 100644
index 355cdf7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.debug.ui;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * A launch shortcut is capable of launching a selection
- * or active editor in the workbench. The delegate is responsible for
- * interpretting the selection or active editor (if it applies), and launching
- * an application. This may require creating a new launch configuration
- * with default values, or re-using an existing launch configuration.
- * <p>
- * A launch shortcut is defined as an extension
- * of type <code>org.eclipse.debug.ui.launchShortcuts</code>.
- * A shortcut specifies the perspectives in which is should be available
- * from the "Run/Debug" cascade menus.
- * </p>
- * <p>
- * A launch shortcut extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a launch shortcut extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.ui.launchShortcuts"&gt;
- *   &lt;launchShortcut
- *      id="com.example.ExampleLaunchShortcut"
- *      class="com.example.ExampleLaunchShortcutClass"
- * 		label="Example Label"
- * 		icon="\icons\exampleshortcut.gif"
- * 		modes="run, debug"&gt;
- * 		&lt;perspective id="com.example.perspectiveId1"/&gt;
- *      &lt;perspective id="com.example.perspectiveId2"/&gt;
- *   &lt;/launchShortcut&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this launch shortcut.</li>
- * <li><code>class</code> specifies a fully qualified name of a Java class
- *  that implements <code>ILanuchShortcut</code>.</li>
- * <li><code>label</code> specifies a label used to render this shortcut.</li>
- * <li><code>icon</code> specifies a plug-in relative path to an icon used to
- * 	render this shortcut.</li>
- * <li><code>modes</code> specifies a comma separated list of modes this shortcut
- *  supports.</li>
- * <li><code>perspective</code> one or more perspective entries enumerate the
- * 	perspectives that this shortcut is avilable in, from the run/debug cascade
- * 	menus.</li>
- * </ul>
- * </p>
- * @since 2.0
- */
-public interface ILaunchShortcut {
-
-	/**
-	 * Locates a launchable entity in the given selection and launches
-	 * an application in the specified mode. This launch configuration
-	 * shortcut is responsible for progress reporting as well
-	 * as error handling, in the event that a launchable entity cannot
-	 * be found, or launching fails.
-	 * 
-	 * @param selection workbench selection
-	 * @param mode one of the launch modes defined by the 
-	 * 	launch manager
-	 * @see org.eclipse.debug.core.ILaunchManager
-	 */
-	public void launch(ISelection selection, String mode);
-	
-	/**
-	 * Locates a launchable entity in the given active editor, and launches
-	 * an application in the specified mode. This launch configuration
-	 * shortcut is responsible for progress reporting as well as error
-	 * handling, in the event that a launchable entity cannot be found,
-	 * or launching fails.
-	 * 
-	 * @param editor the active editor in the workbench
-	 * @param mode one of the launch modes defined by the launch
-	 * 		manager
-	 * @see org.eclipse.debug.core.ILaunchManager
-	 */
-	public void launch(IEditorPart editor, String mode);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java
deleted file mode 100644
index 94b8e84..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.debug.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.ui.IEditorInput;

- 

-/**

- * A source presentation is used to resolve an editor in

- * which to display a debug model element, breakpoint, or

- * source element. By default, a debug model presentation

- * (which implements this interface) is used to resolve

- * editors when performing source lookup. However, a source

- * locator may override default editor resolution by implementing

- * this interface. 

- * <p>

- * Source lookup consists of the following steps:<ol>

- * <li>Locating a source element - the source locator associated

- *  with a launch is queried for the source element associated

- *  with a stack frame.</li>

- * <li>Resolving an editor in which to display a source element -

- *  by default, the debug model presentation associated with the

- *  debug model being debugged is queried for an editor input

- *  and editor id in which to display a source element. However,

- *  clients may override editor resolution by specifying a source

- *  locator that is an instance of <code>ISourcePresentation</code>.

- *  When a source presentation is specified as a source locator,

- *  the source presentation is used to resolve an editor, rather

- *  than the default debug model presentation.</li>

- * </ol>

- * </p>

- * @since 2.0

- */ 

-public interface ISourcePresentation {

-

-	/**

-	 * Returns an editor input that should be used to display the given object

-	 * in an editor or <code>null</code> if unable to provide an editor input

-	 * for the given object.

-	 *

-	 * @param element a debug model element, breakpoint, or a source element

-	 *  that was returned by a source locator's <code>getSourceElement(IStackFrame)</code>

-	 *  method

-	 * @return an editor input, or <code>null</code> if none

-	 */

-	public IEditorInput getEditorInput(Object element);

-	

-	/**

-	 * Returns the id of the editor to use to display the

-	 * given editor input and object, or <code>null</code> if

-	 * unable to provide an editor id.

-	 *

-	 * @param input an editor input that was previously retrieved from this

-	 *    source presentation's <code>getEditorInput</code> method

-	 * @param element the object that was used in the call to

-	 *  <code>getEditorInput</code>, that corresponds to the given editor

-	 *  input

-	 * @return an editor id, or <code>null</code> if none

-	 */

-	public String getEditorId(IEditorInput input, Object element);

-}

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java
deleted file mode 100644
index f76f4da..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.debug.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.model.IValue;

-

-/**

- * Notified of detailed value descriptions.

- * 

- * @see IDebugModelPresentation

- * @since 2.0

- */

-

-public interface IValueDetailListener {

-	/**

-	 * Notifies this listener that the details for the given

-	 * value have been computed as the specified result.

-	 *  

-	 * @param value the value for which the detail is provided

-	 * @param result the detailed description of the given value

-	 */

-	public void detailComputed(IValue value, String result);

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java
deleted file mode 100644
index b40c139..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.debug.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.internal.ui.actions.ExecutionAction;

-

-/**

- * Action to launch the last launch configuration that was succuessfully

- * launched, in debug mode. If no configurations have been launched,

- * the launch configuration dialog is opened.

- * <p>

- * This class is not intended to be subclassed. This class may

- * be instantiated.

- * </p>

- * @since 2.0

- */

-public final class DebugAction extends ExecutionAction /*implements IViewActionDelegate*/ {

-	

-	public DebugAction() {

-		//only used as a delegate

-	}

-

-	/**

-	 * @see ExecutionAction#getMode()

-	 */

-	protected String getMode() {

-		return ILaunchManager.DEBUG_MODE;

-	}

-	

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java
deleted file mode 100644
index 7a510ea..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.debug.ui.actions;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.debug.internal.ui.actions.ExecutionAction;

-

-/**

- * Action to launch the last launch configuration that was succuessfully

- * launched, in run mode. If no configurations have been launched,

- * the launch configuration dialog is opened.

- * </p>

- * <p>

- * This class is not intended to be subclassed. This class may

- * be instantiated.

- * </p>

- * @since 2.0

- */

-public final class RunAction extends ExecutionAction /*implements IViewActionDelegate*/ {

-	

-	public RunAction() {

-		//only used as a delegate

-	}

-

-	/**

-	 * @see ExecutionAction#getMode()

-	 */

-	protected String getMode() {

-		return ILaunchManager.RUN_MODE;

-	}

-

-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/package.html b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/package.html
deleted file mode 100644
index ea275ff..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/package.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Debug UI Actions</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<p align="left">Provides a set of actions related to running and debugging applications.</p>
-
-<h2 align="left">Package Specification</h2>
-
-<p>This package provides a set of actions related to running and debugging applications.</p>
-</body>
-</html>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/package.html b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/package.html
deleted file mode 100644
index 5b23900..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/package.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-

-<head>

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>Eclipse Debug Tools</title>

-</head>

-

-<body bgcolor="#FFFFFF">

-

-<p>Provides a generic debugger user interface that clients may customize via standard

-workbench extension points.</p>

-

-<h2>Package Specification</h2>

-

-<p>The Eclipse platform debug UI plug-in provides a set of classes and interfaces to

-support a language independent debugger user interface. A generic debug perspective is provided with a common

-set of views. Clients contribute actions to the debug views via the

-standard workbench extension points.</p>

-

-<h4>The Debug View</h4>

-

-<p>The debug view presents a tree of launched programs in debug and non-debug (run) mode.

-The view provides support for standard interactions such as terminating, stepping, suspending, and resuming

-threads, debug targets, and processes. The debug view is linked to an editor view, variable view, and

-console. The editor view is used to display source code for stack frames. A selection in

-the debug view causes the line of code being executed to be highlighted in the editor

-view. The variable view shows the visible variables in the selected stack frame, and the

-console view handles I/O for the debuggable process.</p>

-

-<h4>The Variables View</h4>

-

-<p>The variables view presents a tree of variables for the currently selected stack frame.

-A "details" area may be hidden/shown which provides a detailed description of 

-the selected variable. For example, the Java debugger displays the result of

-invoking 'toString()' on the selected variable in this area.</p>

-

-<h4>The Breakpoints View</h4>

-

-<p>The breakpoints view presents a list of all breakpoints currently defined in the

-workspace. It supports enabling/disabling and breakpoint removal.</p>

-

-<h4>The Expression View</h4>

-

-<p>The expression view presents a tree of expressions and their corresponding values.</p>

-

-<h4>Debug Model Presentation</h4>

-

-<p>The debug UI plug-in defines an extension (<b>org.eclipse.debug.ui.debugModelPresentations</b>)

-point to allow implementations of debug models to provide custom rendering and

-presentation of its debug elements. Extensions are registered for a specific debug

-model. It is intended that an implementation of a debug model will also provide an

-implementation of a debug model presentation. The presentation provides: 

-

-<ul>

-  <li>an image for a debug element or breakpoint</li>

-  <li>a label for a debug element or breakpoint</li>

-  <li>an editor input and editor id used to display a debug element, breakpoint, or source element</li>

-  <li>a detailed description of a variable value, used to display

-   in the "details" section of the variables view</li>

-</ul>

-

-<h4>Launch Configuration Dialog</h4>

-

-<p>The debug UI plug-in provides a lanuch configuration dialog for

-creating and editing launch configurations. Clients may contribute

-tabs to the launch configuration dialog via the launchConfigurationTabGroup

-extension point.</p>

-

-

-</body>

-</html>